66 lines
1.7 KiB
C#
66 lines
1.7 KiB
C#
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>("PlayArea");
|
|
_playerController = GetNode<PlayerController>("PlayerController");
|
|
_enemyController = GetNode<EnemyController>("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();
|
|
}
|
|
if (Input.IsActionJustPressed("changeTurn"))
|
|
{
|
|
if(_turnController == _playerController)
|
|
{
|
|
ChangeTurn();
|
|
}
|
|
}
|
|
}
|
|
|
|
public void ChangeTurn()
|
|
{
|
|
|
|
if (_turnController != _playerController)
|
|
{
|
|
_turnController = _playerController;
|
|
_playerController.StartTurn();
|
|
}
|
|
else
|
|
{
|
|
_turnController = _enemyController;
|
|
_enemyController.StartTurn();
|
|
}
|
|
}
|
|
|
|
}
|