Untitled

 avatar
unknown
plain_text
a month ago
1.1 kB
17
Indexable
extends Node
class_name Game

@export var game_loop: GameLoop
@export var game_field: GameField
@export var game_ui: GameUI
@export var player: Player

var level: Level

func _ready() -> void:
	Root.set_game(self)
	Root.set_game_ui(game_ui)
	
	player.init()

	game_ui.init()
	game_loop.init()
	game_field.init()	

	launch()

func launch() -> void:
	player.launch()

	level = get_node("Level") as Level
	level.init()
	level.generate_field()

	game_loop.start_turn.connect(_on_start_turn)
	game_loop.end_turn.connect(_on_end_turn)

	game_loop.launch()

func _on_start_turn() -> void:
	var ingame_panel: IngamePanel = game_ui.game_panels_manager.ingame_panel
	var hand: CardsHand = ingame_panel.cards_hand
	hand.set_cards(player.cards.get_cards_for_turn(4))
	game_field.bind_hand_cards(hand)
	hand.launch_start_turn_animation()

func _on_end_turn() -> void:
	var ingame_panel: IngamePanel = game_ui.game_panels_manager.ingame_panel
	player.cards.discard_cards(ingame_panel.cards_hand.get_cards_data())
	ingame_panel.cards_hand.launch_end_turn_animation()
Editor is loading...
Leave a Comment