136 lines
2.8 KiB
C#
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();
|
|
}
|