feat(game-engine): ✨ Add event signals for courier diplomacy mechanics to enable trade and shared map interactions
Co-Authored-By: Lilith Autocommit <noreply@atlilith.com>
This commit is contained in:
parent
8049e7ec7c
commit
532f0c1d43
1 changed files with 24 additions and 0 deletions
|
|
@ -289,3 +289,27 @@ signal rally_point_set(building_id: String, hex: Vector2i, command: String)
|
|||
signal building_placement_pick_requested(building_id: String, city: Variant, building_def_json: String)
|
||||
## p1-26c: emitted once the player confirms a placement tile for a building.
|
||||
signal building_placement_confirmed(building_id: String, city: Variant, tile_pos: Vector2i)
|
||||
|
||||
# -- Courier diplomacy signals (p3-01 c5) ------------------------------------
|
||||
## Mirrors mc-trade::CourierDispatched. Emitted by turn processor on dispatch.
|
||||
signal courier_dispatched(agreement_id: int, from_player: int, to_player: int, courier_unit: String, eta_turns: int)
|
||||
## Mirrors mc-trade::CourierIntercepted. Emitted mid-route when courier is killed.
|
||||
signal courier_intercepted(agreement_id: int, at_position: Vector2i, by_player: int)
|
||||
## Mirrors mc-trade::SharedMapDelivered. Emitted when courier reaches destination.
|
||||
signal shared_map_delivered(agreement_id: int, from_player: int, to_player: int, turns_remaining: int)
|
||||
## Mirrors mc-trade::SharedMapExpired. Emitted when the shared-map window closes.
|
||||
signal shared_map_expired(agreement_id: int)
|
||||
## Mirrors mc-trade::OpenBordersSigned. Emitted when open-borders deal is made.
|
||||
signal open_borders_signed(agreement_id: int, player_a: int, player_b: int, turns_remaining: int)
|
||||
## Mirrors mc-trade::OpenBordersExpired. Emitted when open-borders deal lapses.
|
||||
signal open_borders_expired(agreement_id: int)
|
||||
## Emitted by Diplomacy module when the human offers an OpenBorders deal.
|
||||
signal open_borders_offered(from_player: int, to_player: int, gold: int, luxury_id: String)
|
||||
## Emitted by Diplomacy module when the human offers a SharedMap deal.
|
||||
signal shared_map_offered(from_player: int, to_player: int, gold: int, luxury_id: String)
|
||||
|
||||
# -- Audio diagnostics --------------------------------------------------------
|
||||
## Emitted by AudioManager once per key when an SFX cannot be played because
|
||||
## the manifest entry is missing or its stream fails to load. UI can wire a
|
||||
## toast off this signal; the warning is also pushed to Godot's stderr.
|
||||
signal audio_asset_missing(key: String, reason: String)
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue