using Godot; using System; using System.Collections.Generic; using System.Linq; public partial class Main : Node { public PlayArea _playArea; public PlayerController _playerController; public EnemyController _enemyController; public TurnController _turnController; public Random _rng = new(); public override void _Ready() { base._Ready(); _playArea = GetNode("PlayArea"); _playerController = GetNode("PlayerController"); _enemyController = GetNode("EnemyController"); _playerController._enemyController = _enemyController; _enemyController._playerController = _playerController; _playerController._playArea = _playArea; _enemyController._playArea = _playArea; _playerController.TurnDone += ChangeTurn; _enemyController.TurnDone += ChangeTurn; _enemyController.Initiate(); _playerController.SetUpTowers(); ChangeTurn(); } public override void _Process(double delta) { base._Process(delta); if (Input.IsActionJustPressed("escape")) { GetTree().Quit(); } } public void ChangeTurn() { if (_turnController != _playerController) { _turnController = _playerController; _playerController.StartTurn(); } else { _turnController = _enemyController; _enemyController.StartTurn(); } } }