using System.Collections.Generic; using TinyJSON; using System.IO; using System; using System.Runtime.Serialization.Formatters.Binary; using System.Runtime.Serialization; public class DKUnit_Data_DLowData { [Serializable] public class DataInfo { public uint Id; public uint Name; public byte Size; public byte UnitType; public uint TypeDes; public byte BonusPoint; public byte Devil; public byte Undead; public uint Lv; public ushort Str; public ushort Dex; public ushort Intel; public ushort Con; public ushort Wis; public uint Hp; public uint Mp; public uint Dmg; public uint AddDmg; public uint AddHit; public int Def; public int Mr; public int AtkRange; public uint ProjectileAbilityId; public uint MoveSpeed; public uint AtkSpeed; public uint AtkMagicSpeed; public uint BuffSpeed; public List SkillGroup; public uint HealingHpTime; public uint HealingHp; public uint HealingMpTime; public uint HealingMp; public uint ResourceId; public uint DropItemGroup; public int BossSummonPoint; public uint Exp; public byte Neutral; public byte ChangeAtk; public uint PrSpawn; public uint Spawn; public int FireReg; public int WaterReg; public int WindReg; public int EarthReg; public uint HollyReg; public uint HollyAtk; public int FireAtk; public int WaterAtk; public int WindAtk; public int EarthAtk; public uint StunReg; public uint SpeakId; public Dictionary ClassStatType; } public static Dictionary DataInfoDic = new Dictionary (); static public void LoadLowData() { try { if (LowDataMgr.instance.bLoadByJson) { Variant jsonData = JsonLoader.instance.LoadJsonFile("DKUnit_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("DKUnit_Data_D.bin"); DataInfoDic = (Dictionary)formatter.Deserialize(streamRead); streamRead.Close(); } } catch(System.Exception) { throw new System.Exception("DKUnit_Data_D"); } } static public void Serialize() { if (DataInfoDic != null) { IFormatter formatter = new BinaryFormatter(); Stream streamWrite = JsonLoader.instance.SaveFileStream("DKUnit_Data_D.bin"); formatter.Serialize(streamWrite, DataInfoDic); streamWrite.Close(); } } }