using RPG.GameCore.Level.Group; using System.Text.Json.Serialization; namespace RPG.GameCore.Level.Floor; public class LevelFloorInfo { public uint FloorID { get; set; } // 0x10 public required string FloorName { get; set; } // 0x18 public required string SceneName { get; set; } // 0x20 public uint StartGroupID { get; set; } // 0x28 public uint StartAnchorID { get; set; } // 0x2C public string LevelGraph { get; set; } = string.Empty; // 0x30 public LevelGroupInstanceInfo[] GroupList { get; set; } = []; // 0x38 public uint[] DefaultGroupIDList { get; set; } = []; // 0x40 public uint[] UnlockMainMissionGroupIDList { get; set; } = []; // 0x48 public string EnviroProfile { get; set; } = string.Empty; // 0x50 public string StageData { get; set; } = string.Empty; // 0x58 public string NavMesh { get; set; } = string.Empty; // 0x60 public string MinimapVolume { get; set; } = string.Empty; // 0x68 [JsonConverter(typeof(JsonStringEnumConverter))] public LevelCameraType CameraType { get; set; } // 0x70 public LevelGroupInstanceInfo StartGroup => GroupList.First(s => s.ID == StartGroupID); }