summaryrefslogtreecommitdiff
path: root/scripts/TurnManager.cs
diff options
context:
space:
mode:
Diffstat (limited to 'scripts/TurnManager.cs')
-rw-r--r--scripts/TurnManager.cs55
1 files changed, 0 insertions, 55 deletions
diff --git a/scripts/TurnManager.cs b/scripts/TurnManager.cs
deleted file mode 100644
index ea9050e..0000000
--- a/scripts/TurnManager.cs
+++ /dev/null
@@ -1,55 +0,0 @@
-using Godot;
-using System;
-using System.Collections.Generic;
-using System.Reflection.Metadata.Ecma335;
-
-public partial class TurnManager : Node {
- [Signal]
- public delegate void turnBeginEventHandler();
- [Signal]
- public delegate void turnEndEventHandler();
-
- private Godot.Collections.Array<Node> actors = [];
- private int index = 0;
-
- public int TurnCount { get; private set; } = 1;
-
- public void Tick() {
- EmitSignal(SignalName.turnBegin);
-
- actors.Clear();
- actors = GetTree().GetNodesInGroup("TimeSlave");
-
- index = -1;
- NextActor();
- }
-
- private void NextActor() {
- index++;
- if (index >= actors.Count) {
- EndTurn();
- return;
- }
- Actor currentActor = (Actor) actors[index];
- currentActor.Energy += currentActor.Speed;
- ActorPerformAction();
- }
-
- private void ActorPerformAction() {
- Actor currentActor = (Actor) actors[index];
- if (currentActor.Energy > 0) {
- currentActor.PerformAction();
- } else {
- NextActor();
- }
- }
-
- public void OnActionEnd() {
- ActorPerformAction();
- }
-
- private void EndTurn() {
- TurnCount++;
- EmitSignal(SignalName.turnEnd);
- }
-}