using RPG.GameCore.Enums; using RPG.GameCore.Level.Capture; using RPG.GameCore.Level.Graph; using RPG.GameCore.Level.Trigger; using System.Text.Json.Serialization; namespace RPG.GameCore.Level.Objects; public class LevelPropInfo : NamedLevelObjectInfo { public float RotX { get; set; } // 0x40 public float RotZ { get; set; } // 0x44 public uint PropID { get; set; } // 0x48 public bool IsLimitedLife { get; set; } // 0x4C public float LifeTime { get; set; } // 0x50 public string InitLevelGraph { get; set; } = string.Empty; // 0x58 public LevelTriggerInfo? Trigger { get; set; } // 0x60 public bool CreateOnInitial { get; set; } // 0x68 public LevelGraphValueSource? ValueSource { get; set; } // 0x70 public uint CampID { get; set; } // 0x78 [JsonConverter(typeof(JsonStringEnumConverter))] public PropState State { get; set; } // 0x7C public uint RecordID { get; set; } // 0x80 public uint EventID { get; set; } // 0x84 public uint AnchorGroupID { get; set; } // 0x88 public uint AnchorID { get; set; } // 0x8C public uint MapTeleportID { get; set; } // 0x90 public uint ChestID { get; set; } // 0x94 public uint DialogueTriggerAngle { get; set; } // 0x98 public uint[] DialogueGroups { get; set; } = []; // 0xA0 public bool OverrideTriggerHint { get; set; } // 0xA8 public float HintRange { get; set; } // 0xAC public uint[] ServerInteractVerificationIDList { get; set; } = []; // 0xB0 public StageObjectCapture? StageObjectCapture { get; set; } // 0xB8 }