This repository has been archived on 2020-09-30. You can view files and clone it, but cannot push or open issues or pull requests.
odyssey-old/addons/pnhelper/pngui.gd

58 lines
1.6 KiB
GDScript

tool
extends Control
var socketTemplate = preload("res://Actors/Objects/ElectricSocket/ElectricSocket.tscn")
var api : EditorPlugin
onready var socket_types = $Commands/MakeSocket/Type
func _ready():
# Add make_socket options
socket_types.add_item("SNK", 0)
socket_types.add_item("SRC", 1)
socket_types.add_item("BID", 2)
func _make_socket(direction: String) -> void:
var socket_dir = null
var socket_type = null
var offset = Vector2.ZERO
match direction:
"up":
socket_dir = ElectricSocket.Direction.DOWN
offset.y = -32
"left":
socket_dir = ElectricSocket.Direction.RIGHT
offset.x = -32
"down":
socket_dir = ElectricSocket.Direction.UP
offset.y = 32
"right":
socket_dir = ElectricSocket.Direction.LEFT
offset.x = 32
match socket_types.get_selected_id():
0:
socket_type = ElectricSocket.Flow.SINK
1:
socket_type = ElectricSocket.Flow.SOURCE
2:
socket_type = ElectricSocket.Flow.BIDIRECTIONAL
var map = api.get_editor_interface().get_edited_scene_root()
var sockets = map.get_node("sockets")
var nodes = api.get_editor_interface().get_selection().get_selected_nodes()
for node in nodes:
var socket = socketTemplate.instance()
sockets.add_child(socket)
socket.direction = socket_dir
socket.flow = socket_type
socket.owner = map
socket.global_position = node.global_position + offset
socket.connectionPaths = [socket.get_path_to(node)]
func _area_debug_modified(button_pressed):
var map = api.get_editor_interface().get_edited_scene_root() as GameMap
map.debug_areas = button_pressed
for area in map.get_node("areas").get_children():
area.update()