Add debug floors, fix boss battle A crashes (need to reimplement the fight anyway)

This commit is contained in:
2025-06-29 22:11:49 -07:00
parent 5d49842c04
commit f12841f88f
21 changed files with 1677 additions and 148 deletions

View File

@@ -1,12 +1,13 @@
using Chickensoft.AutoInject;
using Chickensoft.Introspection;
using Godot;
using System.Collections.Immutable;
using Zennysoft.Ma.Adapter;
namespace Zennysoft.Game.Ma;
[Meta(typeof(IAutoNode))]
public partial class BossRoomA : Node3D, IBossRoom
public partial class BossRoomA : Node3D, IBossRoom, IDungeonFloor
{
public override void _Notification(int what) => this.Notify(what);
@@ -27,6 +28,8 @@ public partial class BossRoomA : Node3D, IBossRoom
[Node] public Node3D GateCollision { get; set; } = default!;
[Node] private Area3D _exit { get; set; } = default!;
public ImmutableList<IDungeonRoom> Rooms { get; }
public bool FloorIsLoaded { get; set; }
public void Setup()
{
@@ -46,8 +49,8 @@ public partial class BossRoomA : Node3D, IBossRoom
{
OxFaceStatue.Hide();
HorseHeadStatue.Hide();
OxFace.Activate();
HorseFace.Activate();
OxFace.StartFight();
HorseFace.StartFight();
}
public void OnBossFightEnded()
@@ -69,4 +72,11 @@ public partial class BossRoomA : Node3D, IBossRoom
if (area.GetOwner() is IPlayer)
ExitReached();
}
public void InitializeDungeon()
{
}
public Transform3D GetPlayerSpawnPoint() => PlayerSpawn.GlobalTransform;
}