fix: break loading up into two batches so objects can be loaded and accessed by other code in the loading method here
This commit is contained in:
committed by
Julian Murgia
parent
7ff0176d62
commit
2508786cde
@@ -52,17 +52,6 @@ var current_room_key: ESCRoomObjectsKey
|
||||
# To avoid having to look this up all the time, we hold a reference.
|
||||
var reserved_objects_container: ESCRoomObjects
|
||||
|
||||
# To avoid having to look this up all the time, we hold a reference.
|
||||
var reserved_objects_container: ESCRoomObjects
|
||||
|
||||
func _init() -> void:
|
||||
reserved_objects_container = ESCRoomObjects.new()
|
||||
reserved_objects_container.is_reserved = true
|
||||
reserved_objects_container.objects = {}
|
||||
room_objects.push_back(reserved_objects_container)
|
||||
|
||||
current_room_key = ESCRoomObjectsKey.new()
|
||||
|
||||
|
||||
func _init() -> void:
|
||||
reserved_objects_container = ESCRoomObjects.new()
|
||||
|
||||
@@ -291,6 +291,20 @@ func load_game(id: int):
|
||||
)
|
||||
)
|
||||
|
||||
load_event.statements = load_statements
|
||||
|
||||
escoria.set_game_paused(false)
|
||||
escoria.event_manager.queue_event(load_event)
|
||||
|
||||
# Wait for the scene to be loaded so we have access to objects, etc.
|
||||
var rc = yield(escoria.event_manager, "event_finished")
|
||||
while rc[1] != escoria.event_manager.EVENT_LOAD:
|
||||
rc = yield(escoria.event_manager, "event_finished")
|
||||
|
||||
# We then carry on with other "load"-related commands.
|
||||
escoria.set_game_paused(true)
|
||||
load_statements = []
|
||||
|
||||
## GLOBALS
|
||||
for k in save_game.globals.keys():
|
||||
var global_value = save_game.globals[k]
|
||||
|
||||
Reference in New Issue
Block a user