31 lines
805 B
C#
31 lines
805 B
C#
using Chickensoft.AutoInject;
|
|
using Chickensoft.Introspection;
|
|
using Godot;
|
|
using System.Collections.Immutable;
|
|
using Zennysoft.Game.Abstractions;
|
|
|
|
namespace Zennysoft.Game.Ma;
|
|
|
|
[Meta(typeof(IAutoNode))]
|
|
public partial class SpecialFloor : Node3D, IDungeonFloor
|
|
{
|
|
public override void _Notification(int what) => this.Notify(what);
|
|
|
|
[Node] private Marker3D PlayerSpawnPoint { get; set; } = default!;
|
|
|
|
public ImmutableList<IDungeonRoom> Rooms => [];
|
|
|
|
public virtual void InitializeDungeon()
|
|
{
|
|
FloorIsLoaded = true;
|
|
}
|
|
|
|
public virtual void FadeOutAudio()
|
|
{
|
|
}
|
|
|
|
public bool FloorIsLoaded { get; set; }
|
|
|
|
public virtual (Vector3 Rotation, Vector3 Position) GetPlayerSpawnPoint() => (PlayerSpawnPoint.Rotation, new Vector3(PlayerSpawnPoint.Position.X, 0, PlayerSpawnPoint.Position.Z));
|
|
|
|
} |