Files
peggle-roguelike/Main.cs
T

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();
}
}
}