Skip to content

Commit

Permalink
refs #37: Open #67 about the heavy polishing, in the meantime this re…
Browse files Browse the repository at this point in the history
…duce the passing-over of UI elements.
  • Loading branch information
stickgrinder committed Jul 2, 2023
1 parent 7b71cee commit 64525c8
Show file tree
Hide file tree
Showing 6 changed files with 21 additions and 47 deletions.
19 changes: 9 additions & 10 deletions addons/popochiu/editor/helpers/popochiu_prop_helper.gd
Original file line number Diff line number Diff line change
Expand Up @@ -4,12 +4,11 @@ class_name PopochiuPropHelper
const PROP_SCRIPT_TEMPLATE := 'res://addons/popochiu/engine/templates/prop_template.gd'
const BASE_PROP_PATH := 'res://addons/popochiu/engine/objects/prop/popochiu_prop.tscn'
const Constants := preload('res://addons/popochiu/popochiu_resources.gd')
const TabRoom := preload("res://addons/popochiu/editor/main_dock/tab_room.gd")

var _room_tab: VBoxContainer = null
var _ei: EditorInterface
var _room_tab: PopochiuTabRoom = null
var _ei: EditorInterface = null

var _room: Node2D = null
var _room: PopochiuRoom = null
var _prop_script_name := ''
var _prop_name := ''
var _prop_path := ''
Expand All @@ -20,16 +19,16 @@ var _room_dir := ''

# ░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░ PUBLIC ░░░░

func init(ei: EditorInterface, room_tab: VBoxContainer) -> void:
_ei = ei
_room_tab = room_tab
func init(main_dock: PopochiuDock) -> 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:
# TODO: Check if another Prop was created in the same PATH.
# TODO: Remove created files if the creation process failed.
_open_room(room)
_setup_name(prop_name)
# TODO: Check if another Prop was created in the same PATH.
# TODO: Remove created files if the creation process failed.

var script_path := _prop_path + '.gd'

Expand Down Expand Up @@ -105,7 +104,7 @@ func create(prop_name: String, room: PopochiuRoom, is_interactive:bool = false)

# ▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓
# Update the list of Props in the Room tab
(_room_tab as TabRoom).add_to_list(
_room_tab.add_to_list(
Constants.Types.PROP,
_prop_name,
_prop_path + '.tscn'
Expand Down
36 changes: 3 additions & 33 deletions addons/popochiu/editor/helpers/popochiu_types_helper.gd
Original file line number Diff line number Diff line change
Expand Up @@ -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
5 changes: 5 additions & 0 deletions addons/popochiu/editor/main_dock/popochiu_dock.gd
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@
# Rooms, Characters, Inventory items, Dialog trees.
@tool
extends Panel
class_name PopochiuDock

signal move_folders_pressed

Expand Down Expand Up @@ -261,6 +262,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()

Expand Down
1 change: 1 addition & 0 deletions addons/popochiu/editor/main_dock/tab_audio.gd
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
# Handles the Audio tab in Popochiu's dock.
@tool
extends VBoxContainer
class_name PopochiuTabAudio

const SEARCH_PATH := 'res://popochiu/'
const AudioCue := preload('res://addons/popochiu/engine/audio_manager/audio_cue.gd')
Expand Down
2 changes: 2 additions & 0 deletions addons/popochiu/editor/main_dock/tab_room.gd
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
@tool
extends VBoxContainer
class_name PopochiuTabRoom

# Handles the Room tab in Popochiu's dock
# ▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓

Expand Down
5 changes: 1 addition & 4 deletions addons/popochiu/editor/popups/create_prop/create_prop.gd
Original file line number Diff line number Diff line change
Expand Up @@ -6,9 +6,6 @@
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")

var room_tab: VBoxContainer = null

var _room: Node2D = null
var _new_prop_name := ''
Expand All @@ -32,7 +29,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)

Expand Down

0 comments on commit 64525c8

Please sign in to comment.