Fix rain coverage and in-game session switching
This commit is contained in:
parent
2045d8e288
commit
e54ad1332b
8 changed files with 81 additions and 15 deletions
|
|
@ -31,6 +31,9 @@ func _run() -> void:
|
|||
"%NetworkFishingService"
|
||||
) as NetworkFishingService
|
||||
var fishing_spot := main.get_node("%FishingSpot") as FishingSpotType
|
||||
var game_ui := main.get_node("UIPresentation/UIViewport/GameUI")
|
||||
var fishing_status := game_ui.get_node("%StatusLabel") as Label
|
||||
var fishing_panel := game_ui.get_node("%FishingPanel") as PanelContainer
|
||||
var player := main.get("_player") as Player
|
||||
assert(session.is_host())
|
||||
assert(not session.is_open_host())
|
||||
|
|
@ -71,6 +74,9 @@ func _run() -> void:
|
|||
await process_frame
|
||||
assert(fishing_spot.state == FishingSpotType.FishingState.WAITING_FOR_BITE)
|
||||
assert(service.has_local_attempt())
|
||||
assert(fishing_status.text.is_empty())
|
||||
assert(not fishing_status.visible)
|
||||
assert(not fishing_panel.visible)
|
||||
var attempts: Dictionary = service.get("_attempts")
|
||||
var attempt: NetworkFishingAttempt = attempts.get(session.get_local_peer_id())
|
||||
assert(attempt != null)
|
||||
|
|
@ -164,9 +170,12 @@ func _run() -> void:
|
|||
<= FishQuality.BARRIER_HEALTH_MAXIMUMS[fish_catch.quality]
|
||||
)
|
||||
reference_controller.queue_free()
|
||||
service.call("_cancel_attempt", session.get_local_peer_id(), "")
|
||||
service.call("_on_attempt_escaped", session.get_local_peer_id())
|
||||
await process_frame
|
||||
assert(not service.has_local_attempt())
|
||||
assert(fishing_status.text.is_empty())
|
||||
assert(not fishing_status.visible)
|
||||
assert(not fishing_panel.visible)
|
||||
|
||||
print("Fishing authority validation: PASS")
|
||||
session.disconnect_session("")
|
||||
|
|
|
|||
|
|
@ -206,7 +206,7 @@ func _run() -> void:
|
|||
assert(int(save_data.get("save_version", -1)) == 7)
|
||||
assert(PlayerJobService.validate_save_data(save_data.get("jobs", {})))
|
||||
|
||||
session.disconnect_session("Job system validation complete.")
|
||||
_validate_pause_session_switch(main, session)
|
||||
main.queue_free()
|
||||
for _frame: int in 4:
|
||||
await process_frame
|
||||
|
|
@ -215,6 +215,28 @@ func _run() -> void:
|
|||
quit()
|
||||
|
||||
|
||||
func _validate_pause_session_switch(
|
||||
main: Node,
|
||||
session: NetworkSession,
|
||||
) -> void:
|
||||
var discovery := main.get_node("%DiscoveryClient") as DiscoveryClient
|
||||
discovery.set("_pending_join_endpoint", "127.0.0.1:18141")
|
||||
discovery.set("_pending_join_room_id", "session-switch-room")
|
||||
discovery.set("_pending_join_token", "session-switch-token")
|
||||
discovery.call(
|
||||
"_set_public_join_state",
|
||||
DiscoveryClient.PublicJoinState.CONNECTING,
|
||||
)
|
||||
main.call("_on_pause_join_game_requested", "127.0.0.1:18141")
|
||||
assert(session.state == NetworkSession.State.CONNECTING)
|
||||
assert(discovery.get("_pending_join_token") == "session-switch-token")
|
||||
var join_probe_timer := discovery.get("_join_probe_timer") as Timer
|
||||
assert(join_probe_timer != null and not join_probe_timer.is_stopped())
|
||||
session.cancel_connection()
|
||||
assert(session.state == NetworkSession.State.INACTIVE)
|
||||
assert(str(discovery.get("_pending_join_token")).is_empty())
|
||||
|
||||
|
||||
func _validate_unavailable_fishnet_layout() -> void:
|
||||
var unavailable_page := TheNetPage.new()
|
||||
unavailable_page.size = Vector2(1280.0, 720.0)
|
||||
|
|
|
|||
|
|
@ -456,8 +456,14 @@ func _validate_weather_presentation() -> void:
|
|||
assert(rain.emitting)
|
||||
assert(rain.amount_ratio > 0.99)
|
||||
assert(rain.amount == WorldTimeVisualControllerType.RAIN_PARTICLE_AMOUNT)
|
||||
assert(rain.visibility_aabb == (
|
||||
WorldTimeVisualControllerType.RAIN_VISIBILITY_AABB
|
||||
))
|
||||
var rain_material := rain.process_material as ParticleProcessMaterial
|
||||
assert(rain_material != null)
|
||||
assert(rain_material.emission_box_extents.is_equal_approx(
|
||||
WorldTimeVisualControllerType.RAIN_EMISSION_EXTENTS
|
||||
))
|
||||
assert(is_equal_approx(
|
||||
rain_material.initial_velocity_min,
|
||||
WorldTimeVisualControllerType.RAIN_VELOCITY_MIN,
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue