two enemy types, ready to refactor

This commit is contained in:
2026-01-17 10:10:14 +01:00
parent 63529a11ae
commit 5908494977
19 changed files with 256 additions and 32 deletions

View File

@@ -2,11 +2,12 @@ using System;
using Godot;
using GodotStateCharts;
using Movementtests.addons.godot_state_charts.csharp;
using Movementtests.interfaces;
using Movementtests.systems;
using Movementtests.player_controller.Scripts;
using RustyOptions;
public partial class PlayerController : CharacterBody3D
public partial class PlayerController : CharacterBody3D, IDamageable, IKnockbackable
{
// Enums
public enum AllowedInputs
@@ -1580,14 +1581,13 @@ public partial class PlayerController : CharacterBody3D
ThrowWeapon();
}
if (WeaponSystem.InHandState.Active)
if (!WeaponSystem.InHandState.Active) return;
var bodies = WeaponHitbox.GetOverlappingBodies();
foreach (var body in bodies)
{
var bodies = WeaponHitbox.GetOverlappingBodies();
foreach (var body in bodies)
{
if(body is ISpawnable spawnable)
spawnable.TestMethod();
}
if(body is IDamageable spawnable)
spawnable.TakeDamage();
}
}
@@ -1741,4 +1741,9 @@ public partial class PlayerController : CharacterBody3D
DashIndicatorNode.LookAt(WeaponSystem.GlobalPosition);
}
}
public void TakeDamage()
{
GD.Print("Ouch!");
}
}