summaryrefslogtreecommitdiff
path: root/scripts/Character.cs
diff options
context:
space:
mode:
Diffstat (limited to 'scripts/Character.cs')
-rw-r--r--scripts/Character.cs51
1 files changed, 51 insertions, 0 deletions
diff --git a/scripts/Character.cs b/scripts/Character.cs
new file mode 100644
index 0000000..172ffe4
--- /dev/null
+++ b/scripts/Character.cs
@@ -0,0 +1,51 @@
+using Godot;
+using System;
+
+public partial class Character : Actor {
+ private bool canAct = false;
+
+ public override void _Input(InputEvent @event)
+ {
+ base._Input(@event);
+
+ if (!@event.IsPressed()) return;
+
+ if (canAct) {
+
+
+ if (@event.IsActionPressed("walk-up")) {
+ Walk(Vector2I.Up);
+ }
+ if (@event.IsActionPressed("walk-down")) {
+ Walk(Vector2I.Down);
+ }
+ if (@event.IsActionPressed("walk-left")) {
+ Walk(Vector2I.Left);
+ }
+ if (@event.IsActionPressed("walk-right")) {
+ GD.Print("Hello!");
+ Walk(Vector2I.Right);
+ }
+
+ if (@event.IsActionPressed("skip-turn")) {
+ SkipTurn();
+ }
+ }
+ }
+
+ private void SkipTurn() {
+ GD.Print("Skipped the turn.");
+ Energy = 0;
+ EndAction();
+ }
+
+ protected override void EndAction() {
+ canAct = false;
+ base.EndAction();
+ }
+
+ public override void performAction() {
+ GD.Print("I can act");
+ canAct = true;
+ }
+}