added some more signals for attack hit, enemy and player controllers turn done, commander enemy death, better enemy movement and turn changing, implemented an rng, added functions to grid and gridmarkers to allow for easier searching of markers, more logic for if a tower commander has actions
This commit is contained in:
+13
-1
@@ -1,9 +1,11 @@
|
||||
using Godot;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
|
||||
public partial class PlayerController : TurnController
|
||||
{
|
||||
public EnemyController _enemyController;
|
||||
public PackedScene _commanderScene = GD.Load<PackedScene>("res://Commander.tscn");
|
||||
public List<Tower> _towers = new();
|
||||
|
||||
@@ -12,6 +14,14 @@ public partial class PlayerController : TurnController
|
||||
base._Ready();
|
||||
}
|
||||
|
||||
public void CheckForTurnEnd()
|
||||
{
|
||||
if (_towers.Where(t => t._commander != null).ToList().All(t=>t._commander._actions == 0))
|
||||
{
|
||||
EmitSignal(SignalName.TurnDone);
|
||||
}
|
||||
}
|
||||
|
||||
public void SetUpTowers(int TOWER_COUNT = 8)
|
||||
{
|
||||
Tower tower = GetNode<Tower>("Tower1");
|
||||
@@ -29,13 +39,15 @@ public partial class PlayerController : TurnController
|
||||
}
|
||||
|
||||
Commander newCommander = _commanderScene.Instantiate<Commander>();
|
||||
newCommander._playerController = this;
|
||||
newCommander.ActionsUp += CheckForTurnEnd;
|
||||
_towers[3]._commander = newCommander;
|
||||
_towers[3].AddChild(newCommander);
|
||||
}
|
||||
|
||||
public override void StartTurn()
|
||||
{
|
||||
|
||||
_towers.Where(t=> t._commander != null).ToList().ForEach(t=>t._commander._actions = t._commander._actionsMax);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user