Integrate per-save identity and interaction UI
This commit is contained in:
parent
ac82a28f3b
commit
4fda6e97f6
58 changed files with 3471 additions and 461 deletions
|
|
@ -48,6 +48,8 @@ func _run_host() -> void:
|
|||
var profile := main.get_node(
|
||||
"%NetworkProfilePreferences"
|
||||
) as NetworkProfilePreferences
|
||||
var save_manager := main.get("_save_manager") as PlayerSaveManager
|
||||
assert(save_manager.initialize_new_game())
|
||||
assert(profile.set_profile_identity(
|
||||
profile.display_name,
|
||||
"deep",
|
||||
|
|
@ -55,7 +57,6 @@ func _run_host() -> void:
|
|||
profile.call_id,
|
||||
"kim",
|
||||
))
|
||||
var save_manager := main.get("_save_manager") as PlayerSaveManager
|
||||
assert(bool(main.call(
|
||||
"_apply_world", WorldLayout.STARTER_ISLAND, 1, true
|
||||
)))
|
||||
|
|
@ -67,7 +68,6 @@ func _run_host() -> void:
|
|||
assert(local_avatar != null)
|
||||
assert(local_avatar.get_animalese_voice_id() == "deep")
|
||||
assert(local_avatar.get_animalese_sample_set_id() == "kim")
|
||||
assert(save_manager.initialize_new_game())
|
||||
main.call("_enter_gameplay")
|
||||
for _frame: int in 4:
|
||||
await physics_frame
|
||||
|
|
@ -99,6 +99,7 @@ func _run_host() -> void:
|
|||
await _wait_for_remote_appearance(session, remote_peer_id, changed)
|
||||
await _wait_for_remote_appearance(session, remote_peer_id, original)
|
||||
await _wait_for_remote_appearance(session, remote_peer_id, changed)
|
||||
await _wait_for_remote_title(session, remote_peer_id, "trail guide")
|
||||
var avatar := main.get_node("%PlayerSpawnService").get_avatar(
|
||||
remote_peer_id
|
||||
) as Player
|
||||
|
|
@ -187,6 +188,7 @@ func _run_client() -> void:
|
|||
service.get_persisted_speech_speed_id(),
|
||||
service.get_persisted_call_id(),
|
||||
"kim",
|
||||
"trail guide",
|
||||
))
|
||||
var apply_deadline: int = Time.get_ticks_msec() + 8000
|
||||
while Time.get_ticks_msec() < apply_deadline and apply_results.is_empty():
|
||||
|
|
@ -196,6 +198,11 @@ func _run_client() -> void:
|
|||
assert(service.get_persisted_appearance() == changed)
|
||||
assert(service.get_persisted_voice_id() == "deep")
|
||||
assert(service.get_persisted_sample_set_id() == "kim")
|
||||
assert(service.get_persisted_title() == "trail guide")
|
||||
assert(
|
||||
session.get_peer_record(session.get_local_peer_id()).title
|
||||
== "trail guide"
|
||||
)
|
||||
assert(Dictionary(session.get("_local_appearance_snapshot")) == changed)
|
||||
var player := main.get_node("%PlayerSpawnService").get_local_player() as Player
|
||||
assert(player.get_animalese_voice_id() == "deep")
|
||||
|
|
@ -278,6 +285,20 @@ func _wait_for_remote_appearance(
|
|||
assert(false, "Timed out waiting for a remote appearance update.")
|
||||
|
||||
|
||||
func _wait_for_remote_title(
|
||||
session: NetworkSession,
|
||||
peer_id: int,
|
||||
expected: String,
|
||||
) -> void:
|
||||
var deadline: int = Time.get_ticks_msec() + 8000
|
||||
while Time.get_ticks_msec() < deadline:
|
||||
await process_frame
|
||||
var record := session.get_peer_record(peer_id)
|
||||
if record != null and record.title == expected:
|
||||
return
|
||||
assert(false, "Timed out waiting for a remote player title update.")
|
||||
|
||||
|
||||
func _create_initialized_main() -> Node:
|
||||
root.size = Vector2i(1280, 720)
|
||||
var main: Node = MainScene.instantiate()
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue