summaryrefslogtreecommitdiff
path: root/scenes/turn_manager.tscn
diff options
context:
space:
mode:
Diffstat (limited to 'scenes/turn_manager.tscn')
-rw-r--r--scenes/turn_manager.tscn62
1 files changed, 0 insertions, 62 deletions
diff --git a/scenes/turn_manager.tscn b/scenes/turn_manager.tscn
deleted file mode 100644
index 91aafbc..0000000
--- a/scenes/turn_manager.tscn
+++ /dev/null
@@ -1,62 +0,0 @@
-[gd_scene load_steps=2 format=3 uid="uid://dw7mnqhgwx03g"]
-
-[sub_resource type="CSharpScript" id="CSharpScript_4jeo4"]
-script/source = "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);
- }
-}
-"
-
-[node name="TurnManager" type="Node"]
-script = SubResource("CSharpScript_4jeo4")