59 lines
1.5 KiB
C#
59 lines
1.5 KiB
C#
using Godot;
|
|
using System;
|
|
using System.Collections.Generic;
|
|
using System.Linq;
|
|
|
|
public partial class Main : Node
|
|
{
|
|
public GridMap2D _grid;
|
|
public PlayerController _playerController;
|
|
public EnemyController _enemyController;
|
|
public TurnController _turnController;
|
|
public Random _rng = new();
|
|
public override void _Ready()
|
|
{
|
|
base._Ready();
|
|
_grid = GetNode<GridMap2D>("GridMap2D");
|
|
_playerController = GetNode<PlayerController>("PlayerController");
|
|
_enemyController = GetNode<EnemyController>("EnemyController");
|
|
|
|
_playerController._enemyController = _enemyController;
|
|
_enemyController._playerController = _playerController;
|
|
|
|
_playerController._grid = _grid;
|
|
_enemyController._grid = _grid;
|
|
|
|
_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();
|
|
}
|
|
}
|
|
|
|
}
|