feat: trying to make game
This commit is contained in:
parent
e304dd671b
commit
fbe2432819
27 changed files with 583 additions and 0 deletions
61
demo_game.gd
Normal file
61
demo_game.gd
Normal file
|
|
@ -0,0 +1,61 @@
|
|||
extends Control
|
||||
|
||||
@export var player_1_deck: Array[Card]
|
||||
@export var player_2_deck: Array[Card]
|
||||
@onready var match_manager = $MatchManager
|
||||
@onready var own_side = $Own
|
||||
@onready var opponent_side = $Opponent
|
||||
@onready var start_game_btn = $StartGameButton
|
||||
|
||||
var player_action_queue: Dictionary
|
||||
var player_1_action: Action:
|
||||
get:
|
||||
return player_action_queue.get(MatchManager.PLAYER_1_ID)
|
||||
set(value):
|
||||
player_action_queue[MatchManager.PLAYER_1_ID] = value
|
||||
var player_2_action: Action:
|
||||
get:
|
||||
return player_action_queue.get(MatchManager.PLAYER_2_ID)
|
||||
set(value):
|
||||
player_action_queue[MatchManager.PLAYER_2_ID] = value
|
||||
|
||||
func _ready() -> void:
|
||||
match_manager.init({
|
||||
MatchManager.PLAYER_1_ID: player_1_deck,
|
||||
MatchManager.PLAYER_2_ID: player_2_deck
|
||||
})
|
||||
own_side.attach(match_manager)
|
||||
opponent_side.attach(match_manager)
|
||||
match_manager.state_transitioned.connect(_on_match_manager_state_transitioned)
|
||||
|
||||
var transition_history: Array[PhaseTransition] = []
|
||||
func _on_match_manager_state_transitioned(transition: PhaseTransition):
|
||||
start_game_btn.visible = match_manager.phase == Match.Phase.PREGAME
|
||||
transition_history.append(transition)
|
||||
|
||||
func _on_start_game_button_button_up() -> void:
|
||||
match_manager.resolve({})
|
||||
|
||||
func _on_own_play_card(card: Card) -> void:
|
||||
player_1_action = ActionPlayCard.new(card)
|
||||
if player_2_action:
|
||||
match_manager.resolve(player_action_queue)
|
||||
player_action_queue.clear()
|
||||
|
||||
func _on_opponent_play_card(card: Card) -> void:
|
||||
player_2_action = ActionPlayCard.new(card)
|
||||
if player_1_action:
|
||||
match_manager.resolve(player_action_queue)
|
||||
player_action_queue.clear()
|
||||
|
||||
func _on_own_rps_move(move: String) -> void:
|
||||
player_1_action = ActionRPSMove.new(move)
|
||||
if player_2_action:
|
||||
match_manager.resolve(player_action_queue)
|
||||
player_action_queue.clear()
|
||||
|
||||
func _on_opponent_rps_move(move: String) -> void:
|
||||
player_2_action = ActionRPSMove.new(move)
|
||||
if player_1_action:
|
||||
match_manager.resolve(player_action_queue)
|
||||
player_action_queue.clear()
|
||||
Loading…
Add table
Add a link
Reference in a new issue