Snowflake/RPG.GameCore/Level/Floor/LevelFloorInfo.cs

25 lines
1.1 KiB
C#

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);
}