From d0a3043e3afb2e0f91648a1cc3d59503a283c266 Mon Sep 17 00:00:00 2001 From: Paolo Pustorino Date: Sun, 2 Jul 2023 11:11:11 +0200 Subject: [PATCH] refs #37: Open #67 about the heavy polishing, in the meantime this reduce the passing-over of UI elements. --- .../editor/helpers/popochiu_prop_helper.gd | 6 ++-- .../editor/helpers/popochiu_types_helper.gd | 36 ++----------------- .../editor/main_dock/popochiu_dock.gd | 4 +++ addons/popochiu/editor/main_dock/tab_room.gd | 1 + .../editor/popups/create_prop/create_prop.gd | 6 ++-- 5 files changed, 15 insertions(+), 38 deletions(-) diff --git a/addons/popochiu/editor/helpers/popochiu_prop_helper.gd b/addons/popochiu/editor/helpers/popochiu_prop_helper.gd index 93eaa63b4..2be3470d0 100644 --- a/addons/popochiu/editor/helpers/popochiu_prop_helper.gd +++ b/addons/popochiu/editor/helpers/popochiu_prop_helper.gd @@ -20,9 +20,9 @@ var _room_dir := '' # ░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░ PUBLIC ░░░░ -func init(ei: EditorInterface, room_tab: VBoxContainer) -> void: - _ei = ei - _room_tab = room_tab +func init(_main_dock: Panel) -> void: + _ei = _main_dock.ei + _room_tab = _main_dock.get_opened_room_tab() func create(prop_name: String, room: PopochiuRoom, is_interactive:bool = false) -> PopochiuProp: diff --git a/addons/popochiu/editor/helpers/popochiu_types_helper.gd b/addons/popochiu/editor/helpers/popochiu_types_helper.gd index 8794917ff..a896aa8b0 100644 --- a/addons/popochiu/editor/helpers/popochiu_types_helper.gd +++ b/addons/popochiu/editor/helpers/popochiu_types_helper.gd @@ -23,36 +23,6 @@ static func is_walkable_area(node: Node) -> bool: ## TODO: provide more helpers like this maybe? - -# Functions used to create Popochiu objects of various types. -# They are designed to be used from the Editor plugin, not the Engine code. -static func create_character(): - pass - - -static func create_dialog(): - pass - - -static func create_hotspot(): - pass - - -static func create_inventory_item(): - pass - - -static func create_prop(): - pass - - -static func create_region(): - pass - - -static func create_room(): - pass - - -static func create_walkable_area(): - pass +## TODO: If and when #67 is ready, add static facade metods to create items +## so we can just pass this object as entry point for all operations +## on Popochiu objects \ No newline at end of file diff --git a/addons/popochiu/editor/main_dock/popochiu_dock.gd b/addons/popochiu/editor/main_dock/popochiu_dock.gd index ab7db5467..afe332922 100644 --- a/addons/popochiu/editor/main_dock/popochiu_dock.gd +++ b/addons/popochiu/editor/main_dock/popochiu_dock.gd @@ -261,6 +261,10 @@ func get_opened_room() -> PopochiuRoom: return _tab_room.opened_room +func get_opened_room_tab() -> VBoxContainer: + return _tab_room + + func open_setup() -> void: setup_dialog.appear() diff --git a/addons/popochiu/editor/main_dock/tab_room.gd b/addons/popochiu/editor/main_dock/tab_room.gd index d32682244..bfb327e01 100644 --- a/addons/popochiu/editor/main_dock/tab_room.gd +++ b/addons/popochiu/editor/main_dock/tab_room.gd @@ -1,5 +1,6 @@ @tool extends VBoxContainer + # Handles the Room tab in Popochiu's dock # ▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓ diff --git a/addons/popochiu/editor/popups/create_prop/create_prop.gd b/addons/popochiu/editor/popups/create_prop/create_prop.gd index 2aa864920..4078f2975 100644 --- a/addons/popochiu/editor/popups/create_prop/create_prop.gd +++ b/addons/popochiu/editor/popups/create_prop/create_prop.gd @@ -6,8 +6,10 @@ extends 'res://addons/popochiu/editor/popups/creation_popup.gd' const Helper := preload("res://addons/popochiu/editor/helpers/popochiu_prop_helper.gd") -const TabRoom := preload("res://addons/popochiu/editor/main_dock/tab_room.gd") +## TODO: remove this legacy... +#const TabRoom := preload("res://addons/popochiu/editor/main_dock/tab_room.gd") +## TODO: remove this legacy... var room_tab: VBoxContainer = null var _room: Node2D = null @@ -32,7 +34,7 @@ func _create() -> void: return _helper = Helper.new() - _helper.init(_main_dock.ei, room_tab) + _helper.init(_main_dock) var prop_instance = _helper.create(_new_prop_name, _room, _interaction_checkbox.button_pressed)