using Chickensoft.AutoInject; using Chickensoft.GodotNodeInterfaces; using Chickensoft.Introspection; using Godot; public interface IDungeonFloor : INode3D { void InitializeDungeon(); public Vector3 GetPlayerSpawnPoint(); } [Meta(typeof(IAutoNode))] public partial class DungeonFloor : Node3D, IDungeonFloor { public override void _Notification(int what) => this.Notify(what); [Node] public GodotObject DungeonGenerator { get; set; } = default!; public void InitializeDungeon() { DungeonGenerator.Call("generate"); } public Vector3 GetPlayerSpawnPoint() { return Vector3.Zero; } }