Files
caliverse_server/ServerCommon/MetaData/MapData.cs
2025-05-01 07:20:41 +09:00

136 lines
2.8 KiB
C#

using Newtonsoft.Json;
using ServerCore;
using ServerBase;
namespace ServerCommon;
public class Anchor
{
[JsonProperty("Type")]
public string Type = string.Empty;
[JsonProperty("GUID")]
public string GUID = string.Empty;
[JsonProperty("TableID")]
public int TableID = 0;
[JsonProperty("EntityGuid")]
public string EntityGuid = string.Empty;
[JsonProperty("Position")]
public Position Position = new();
[JsonProperty("Rotation")]
public Rotation Rotation = new();
[JsonProperty("EditorName")]
public string EditorName = string.Empty;
[JsonProperty("MannequinItems")]
public List<int> MannequinItems = new();
}
public class Building
{
[JsonProperty("BuildingName")]
public string BuildingName = string.Empty;
[JsonProperty("BuildingGUID")]
public string GUID = string.Empty;
[JsonProperty("BuildingPosition")]
public Position Position = new();
[JsonProperty("BuildingROT")]
public Rotation Rotation = new();
}
public class Room
{
[JsonProperty("InstanceRoomFileName")]
public string RoomName = string.Empty;
[JsonProperty("RoomGUID")]
public string GUID = string.Empty;
[JsonProperty("RoomPOS")]
public ServerCore.Position Position = new();
[JsonProperty("RoomROT")]
public ServerCore.Rotation Rotation = new();
}
public class MapData
{
[JsonProperty("LandNames")]
public List<string> LandNames = new();
[JsonProperty("BuildingDatas")]
public List<Building> BuildingDatas = new();
[JsonProperty("RoomDatas")]
public List<Room> RoomDatas = new();
[JsonProperty("Anchors")]
public List<Anchor> Anchors = new();
[JsonProperty("Type")]
public string Type = string.Empty;
[JsonProperty("GUID")]
public string GUID = string.Empty;
[JsonProperty("TableID")]
public int TableID = 0;
[JsonProperty("Position")]
public ServerCore.Position Position = new();
[JsonProperty("Rotation")]
public ServerCore.Rotation Rotation = new();
[JsonProperty("Min")]
public ServerCore.Position Min = new();
[JsonProperty("Max")]
public ServerCore.Position Max = new();
// Load 시 MetaTable 과 비교 하여 값을 넣는다
public MapFileType MapFileType = MapFileType.None;
public int MapMetaId = 0;
}
public class Framework
{
[JsonProperty("tableid")]
public int tableid = 0;
[JsonProperty("Floor")]
public int Floor = 0;
[JsonProperty("Position")]
public ServerCore.Position Position = new();
[JsonProperty("Rotation")]
public ServerCore.Rotation Rotation = new();
}
public class MyhomeMapData
{
[JsonProperty("roomtype")]
public int roomtype = 0;
[JsonProperty("Frameworks")]
public List<Framework> Frameworks = new();
[JsonProperty("Anchors")]
public List<Anchor> Anchors = new();
}