using System.Collections.Generic; using TinyJSON; using System.IO; using System; using System.Runtime.Serialization.Formatters.Binary; using System.Runtime.Serialization; public class DKItem_Data_DLowData { [Serializable] public class DataInfo { public uint Id; public uint Name; public uint ItemType; public uint TypeDes; public string Icon; public short Grade; public short UndeadDmg; public uint Dmg; public uint RandomDmg; public byte Range; public byte Def; public short Mr; public int SafeEnchant; public byte MaxEnchant; public uint MainEnchantId; public uint SubEnchantId; public byte CanbeDmg; public byte Knight; public byte DarkElf; public byte Dragonknight; public short AddStr; public short AddInt; public short AddDex; public short AddCon; public short AddWiz; public uint AddHp; public uint AddMp; public uint HealingHp; public uint HealingMp; public uint AddSp; public byte AddDmg; public short AddHit; public uint DmgReduction; public uint WaterAtk; public uint WindAtk; public uint FireAtk; public uint EarthAtk; public uint HollyAtk; public uint WaterReg; public uint WindReg; public uint FireReg; public uint EarthReg; public uint HollyReg; public uint StunReg; public uint HpPotionRecover; public uint HpPotionRecoverPer; public uint RegistRecoverReductionPer; public string Effect; public uint ResourceId; public string EquipEffect; public List SkillList; public uint MinHpRecover; public uint MaxHpRecover; public uint MinMpRecover; public uint MaxMpRecover; public uint ReUseDelay; public uint AddExp; public byte IsBless; public int ExpireTime; public byte ViewInventory; public int GachaId; public byte IsSell; public uint AddWeight; public uint Weight; public uint SellBlessCost; public uint SellArterialCost; public uint SellGoldCost; public byte IsEquip; public uint UseTeleportId; public List TeleportId; public uint RateValue; public byte PVEModAddDmg; public byte PVEModAddDef; public short PVEModAddMr; public uint PVEModAddHp; public byte PVPModAddDmg; public byte PVPModAddDef; public short PVPModAddMr; public uint PVPModAddHp; public List ArousalItemIID; public uint ArousalStatItemID; public uint CombineID; } public static Dictionary DataInfoDic = new Dictionary (); static public void LoadLowData() { try { if (LowDataMgr.instance.bLoadByJson) { Variant jsonData = JsonLoader.instance.LoadJsonFile("DKItem_Data_D.json"); Variant data = jsonData["data"]; foreach( var item in data as ProxyArray) { DataInfo dataInfo = new DataInfo(); JSON.MakeInto(item, out dataInfo); DataInfoDic.Add(dataInfo.Id, dataInfo); } } else { IFormatter formatter = new BinaryFormatter(); Stream streamRead = JsonLoader.instance.LoadFileStream("DKItem_Data_D.bin"); DataInfoDic = (Dictionary)formatter.Deserialize(streamRead); streamRead.Close(); } } catch(System.Exception) { throw new System.Exception("DKItem_Data_D"); } } static public void Serialize() { if (DataInfoDic != null) { IFormatter formatter = new BinaryFormatter(); Stream streamWrite = JsonLoader.instance.SaveFileStream("DKItem_Data_D.bin"); formatter.Serialize(streamWrite, DataInfoDic); streamWrite.Close(); } } }