Initial Android commit
This commit is contained in:
commit
1e2b80c13d
8521 changed files with 231475 additions and 0 deletions
75
addons/dialogic/Nodes/DialogicCustomEvents.gd
Normal file
75
addons/dialogic/Nodes/DialogicCustomEvents.gd
Normal file
|
@ -0,0 +1,75 @@
|
|||
tool
|
||||
extends Node
|
||||
class_name DialogicCustomEvents
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
var handlers: = {}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
func update()->void :
|
||||
var path:String = DialogicResources.get_working_directories()["CUSTOM_EVENTS_DIR"]
|
||||
var dir = Directory.new()
|
||||
if dir.open(path) == OK:
|
||||
dir.list_dir_begin()
|
||||
var file_name = dir.get_next()
|
||||
|
||||
while file_name != "":
|
||||
|
||||
if dir.current_is_dir() and not file_name in [".", ".."]:
|
||||
|
||||
|
||||
|
||||
var event = load(path.plus_file(file_name).plus_file("EventBlock.tscn")).instance()
|
||||
|
||||
if event:
|
||||
var handler_script_path = path.plus_file(file_name).plus_file("event_" + event.event_data["event_id"] + ".gd")
|
||||
var event_id = event.event_data["event_id"]
|
||||
var event_name = event.event_name
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
if handlers.has(event_id):
|
||||
|
||||
|
||||
file_name = dir.get_next()
|
||||
continue
|
||||
else :
|
||||
|
||||
|
||||
|
||||
var handler = Node.new()
|
||||
handler.set_script(load(handler_script_path))
|
||||
handler.set_name(event_name)
|
||||
|
||||
|
||||
handler.set_meta("event_id", event_id)
|
||||
|
||||
|
||||
handlers[event_id] = handler
|
||||
|
||||
self.add_child(handler)
|
||||
|
||||
event.queue_free()
|
||||
else :
|
||||
print("[D] An error occurred when trying to access a custom event.")
|
||||
|
||||
|
||||
else :
|
||||
pass
|
||||
file_name = dir.get_next()
|
||||
else :
|
||||
print("[D] An error occurred when trying to access the custom event folder.")
|
Loading…
Add table
Add a link
Reference in a new issue