using CodeStage.AntiCheat.ObscuredTypes; using System; using System.Collections.Generic; using System.Linq; using static UnityEditor.Progress; #region 게임 최초 실행 시 서버 정보 [Serializable] public class SC_ServerStatus { public int ContentsLock; public string URL_ChatServer, URL_LogServer, URL_CouponServer, HotTime; public DateTime HotTimeStart, HotTimeEnd; } [Serializable] public class SC_Version { public string Version, VersionStatus; } #endregion public class ServerData { // 데이터 정의 public DateTime LastTime; #region 최초 생성 public ServerData() { LastTime = ServerInfo.ServerTime; } #endregion } #region 데이터 클래스 public class SD_PC { ObscuredInt _exp; public int Exp { get { return _exp; } set { _exp = value; _exp.RandomizeCryptoKey(); } } ObscuredInt _lv; public int Lv { get { return _lv; } set { _lv = value; _lv.RandomizeCryptoKey(); } } ObscuredInt _evolutionStar; public int Evolution { get { return _evolutionStar; } set { _evolutionStar = value; _evolutionStar.RandomizeCryptoKey(); } } ObscuredInt _evolutionClear; public int EvolutionTestClear { get { return _evolutionClear; } set { _evolutionClear = value; _evolutionClear.RandomizeCryptoKey(); } } public Dictionary dic_EvolutionMax = new Dictionary(); public List list_equipseal = new List { 0, 0, 0, 0, 0, 0 }; // 인장 서버 id public List list_equipitems = new List(); // eEquipment 순서 public SD_PC() { Lv = 1; Exp = EvolutionTestClear = Evolution = 0; for (int i = 0; i < 8; i++) list_equipitems.Add(0); } public void Add_EvolutionMax(eStat stat) { if (!dic_EvolutionMax.ContainsKey(stat)) dic_EvolutionMax.Add(stat, new SD_EvolutionMax()); ++dic_EvolutionMax[stat].Lv; } public int Get_EvolutionMax(eStat stat) { return dic_EvolutionMax.ContainsKey(stat) ? dic_EvolutionMax[stat].Lv : 0; } } public class SD_EvolutionMax { ObscuredInt _lv; public int Lv { get { return _lv; } set { _lv = value; _lv.RandomizeCryptoKey(); } } public SD_EvolutionMax() { Lv = 0; } } public class SD_PC_Awakening { ObscuredInt _lv; public int Lv { get { return _lv; } set { _lv = value; _lv.RandomizeCryptoKey(); } } public SD_PC_Awakening() { Lv = 0; } } public class SD_Seal { ObscuredUInt _id = 0; public uint TotalID { get { return _id; } set { _id = value; _id.RandomizeCryptoKey(); } } public uint Get_Init_ID() { return ++TotalID; } public List list_Seal = new List(); } public class SD_SealData { ObscuredUInt _id; public uint ID { get { return _id; } set { _id = value; _id.RandomizeCryptoKey(); } } ObscuredInt _tid; public int TableID { get { return _tid; } set { _tid = value; _tid.RandomizeCryptoKey(); } } ObscuredInt _lv; public int Lv { get { return _lv; } set { _lv = value; _lv.RandomizeCryptoKey(); } } } public class SD_Equipment { ObscuredUInt _id = 0; public uint TotalID { get { return _id; } set { _id = value; _id.RandomizeCryptoKey(); } } public uint Get_Init_ID() { return ++TotalID; } public List list_item = new List(); } public class SD_EquipmentData { ObscuredUInt _id; public uint ID { get { return _id; } set { _id = value; _id.RandomizeCryptoKey(); } } ObscuredInt _tid; public int TableID { get { return _tid; } set { _tid = value; _tid.RandomizeCryptoKey(); } } ObscuredInt _lv; public int Lv { get { return _lv; } set { _lv = value; _lv.RandomizeCryptoKey(); } } public void Init() { ID = 0; TableID = Lv = 0; } } public class SD_Money { ObscuredInt _amount; public int Amount { get { return _amount; } set { _amount = value; _amount.RandomizeCryptoKey(); } } } public class SD_Card { ObscuredInt _amount; public int Amount { get { return _amount; } set { _amount = value; _amount.RandomizeCryptoKey(); } } ObscuredInt _lv; public int Lv { get { return _lv; } set { _lv = value; _lv.RandomizeCryptoKey(); } } } public class SD_GuideQuest { ObscuredInt _Step; public int Step { get { return _Step; } set { _Step = value; _Step.RandomizeCryptoKey(); } } protected ObscuredInt _Count; public int Count { get { return _Count; } set { _Count = value; _Count.RandomizeCryptoKey(); } } } #endregion #region 서버 -> 클라 public class SC_CommonResult { public int error; public DateTime time; } public class SC_MyResult { public int result; } public class SC_GetUserInfoResult { public bool isNewUser; public int ReconnectSec; public ServerData UserInfo; public List Mail; } public class SC_Mail { public List Mail; } [Serializable] public class ServerMailData { public string Msg, RemainTime; public int ItemID, Amount, IsShopItem; public DateTime RemnantTime; } public class SC_GuideQuestResult { public int Step; } #endregion