From 8723c4e6df0c787039cca0fb9f0d842895f72d7d Mon Sep 17 00:00:00 2001 From: Rendo Date: Sun, 1 Mar 2026 23:57:17 +0500 Subject: [PATCH] Economics definition --- systems/gameplay_signal_bus.gd | 2 ++ systems/player_economics.gd | 17 +++++++++++++++++ systems/player_economics.gd.uid | 1 + systems/turn_schedule.gd | 3 +++ ui/hand.gd | 7 +++++++ 5 files changed, 30 insertions(+) create mode 100644 systems/player_economics.gd create mode 100644 systems/player_economics.gd.uid diff --git a/systems/gameplay_signal_bus.gd b/systems/gameplay_signal_bus.gd index ac685c6..85934cc 100644 --- a/systems/gameplay_signal_bus.gd +++ b/systems/gameplay_signal_bus.gd @@ -8,3 +8,5 @@ signal highlight_units(unit: Array[int]) signal spawn_unit(unit: Unit) signal unit_spawn_confirmed signal unit_spawn_cancelled + +signal draw_card(card: CardResource) diff --git a/systems/player_economics.gd b/systems/player_economics.gd new file mode 100644 index 0000000..ec26b34 --- /dev/null +++ b/systems/player_economics.gd @@ -0,0 +1,17 @@ +extends Node + +var player_mana: int: + set(value): + player_mana = value + player_mana_changed.emit(value) + get: + return player_mana +var player_mana_restore: int = 3: + set(value): + player_mana_restore = value + player_mana_restore_changed.emit(value) + get: + return player_mana_restore + +signal player_mana_changed(to: int) +signal player_mana_restore_changed(to: int) diff --git a/systems/player_economics.gd.uid b/systems/player_economics.gd.uid new file mode 100644 index 0000000..c299460 --- /dev/null +++ b/systems/player_economics.gd.uid @@ -0,0 +1 @@ +uid://cpqbxl5wkiwgb diff --git a/systems/turn_schedule.gd b/systems/turn_schedule.gd index db9e419..cd6217d 100644 --- a/systems/turn_schedule.gd +++ b/systems/turn_schedule.gd @@ -16,6 +16,7 @@ func advance() -> void: turn = 0 trigger_effects.emit() next_round.emit() + turn_started.emit(current_team) next_turn.emit() signal trigger_effects @@ -23,6 +24,8 @@ signal trigger_units(team: TEAMS) signal next_turn signal next_round +signal turn_started(team: TEAMS) + enum TEAMS { Player, Neutrals, diff --git a/ui/hand.gd b/ui/hand.gd index 1e3121b..66a782d 100644 --- a/ui/hand.gd +++ b/ui/hand.gd @@ -1,9 +1,16 @@ @tool extends Control +const CARD_SCENE = preload("uid://dl3ve6prnn2m6") + @export var radius: float = 10. @export_range(0,360,0.01,"or_greater","radians_as_degrees") var arch: float = PI/6 +func _ready() -> void: + GameplaySignalBus.draw_card.connect(draw_card) + +func draw_card(card_resource: CardResource): + var card: Card = func _process(_delta: float) -> void: for i in range(get_child_count()):