feat: phase info on right hand side of the board #3

Merged
ahsan.istamar merged 3 commits from visible-phase into main 2025-01-26 11:08:41 +07:00
2 changed files with 32 additions and 13 deletions
Showing only changes of commit 02ee129b42 - Show all commits

View file

@ -9,6 +9,8 @@ signal rps_move(move: String)
@export var support_red_card_prefab: PackedScene
@export var support_green_card_prefab: PackedScene
@export var monster_card_prefab: PackedScene
@export var rps_button_container: Container
@export var rps_grayed_color: Color
@onready var monster_card_ui := $"MonsterCard"
@onready var support1_green := $"Support1GreenCard"
@ -71,6 +73,7 @@ func _on_update(transition):
monster_card_ui.visible = true
monster_card_ui.show_monster(monster)
incoming_damage_label.text = "Incoming Damage: " + str(monster.health_delta)
else:
monster_card_ui.visible = false
if match_manager.phase in [Match.Phase.SUMMON, Match.Phase.SUPPORT_1, Match.Phase.SUPPORT_2]:
@ -111,7 +114,6 @@ func _on_update(transition):
if card is MonsterCard:
var monster_card:MonsterCardUI = monster_card_prefab.instantiate()
monster_card.show_monster(MatchMonster.new(card, card.base_health, 0))
if !is_disabled:
monster_card.left_clicked.connect(func ():
_pop_this_card(monster_card)
@ -132,16 +134,11 @@ func _on_update(transition):
_pop_this_card(btn)
play_card.emit(card))
if match_manager.phase == Match.Phase.RPS:
for move in ["rock", "paper", "scissors"]:
if rps_button_container:
rps_button_container.visible = match_manager.phase == Match.Phase.RPS
for button: TextureButton in rps_button_container.get_children():
button.modulate = rps_grayed_color
if !show_buttons:
continue
var btn = Button.new()
btn.text = move
btn.button_up.connect(func (): rps_move.emit(move))
deck.add_child(btn)
func _pop_this_card(control: Control):
if selected_card:
@ -149,3 +146,24 @@ func _pop_this_card(control: Control):
control.size_flags_vertical = Control.SIZE_SHRINK_BEGIN
selected_card = control
func _on_kertas_button_button_down() -> void:
rps_move.emit("paper")
for button: TextureButton in rps_button_container.get_children():
button.modulate = rps_grayed_color
rps_button_container.get_node("KertasButton").modulate = Color.WHITE
func _on_gunting_button_button_down() -> void:
rps_move.emit("scissors")
for button: TextureButton in rps_button_container.get_children():
button.modulate = rps_grayed_color
rps_button_container.get_node("GuntingButton").modulate = Color.WHITE
func _on_batu_button_button_down() -> void:
rps_move.emit("rock")
for button: TextureButton in rps_button_container.get_children():
button.modulate = rps_grayed_color
rps_button_container.get_node("BatuButton").modulate = Color.WHITE

View file

@ -79,6 +79,7 @@ func resolve(action_by_player_id: Dictionary) -> PhaseTransition:
players[player_id].monster = _monster_from_card(card)
players[player_id].hand = players[player_id].hand.filter(func(card_in_hand): return card.id != card_in_hand.id)
events.append(EventMonsterSummoned.new(card))
players[player_id].energy = players[player_id].energy - card.energy_cost
if players.values().all(func(player: MatchPlayer): return player.monster):
phase = Match.Phase.SUPPORT_1
Match.Phase.SUPPORT_1: