public void Init(BinaryConfigRow row) { mid = row.GetFieldInfo(0).GetInt(); mname = row.GetFieldInfo(1).GetString(); mskill_level_shoe = row.GetFieldInfo(2).GetInt(); mdesc = row.GetFieldInfo(3).GetString(); mlvup_desc = row.GetFieldInfo(4).GetString(); micon = row.GetFieldInfo(5).GetString(); mduration = row.GetFieldInfo(6).GetInt(); mskill_priority = row.GetFieldInfo(7).GetInt(); mskill_type = row.GetFieldInfo(8).GetInt(); mskill_cd = row.GetFieldInfo(9).GetInt(); minit_cd = row.GetFieldInfo(10).GetInt(); menergy = row.GetFieldInfo(11).GetInt(); mhp_cost_rate = row.GetFieldInfo(12).GetInt(); mskillex_id = row.GetFieldInfo(13).GetInt(); msuper_skillex_id = row.GetFieldInfo(14).GetInt(); matk_side = row.GetFieldInfo(15).GetInt(); mtarget_type = row.GetFieldInfo(16).GetInt(); mtarget_count = row.GetFieldInfo(17).GetInt(); mtarget_hp = row.GetFieldInfo(18).GetInt(); meffect_target_types = row.GetFieldInfo(19).GetIntList(); mskilleffect_id = row.GetFieldInfo(20).GetIntList(); mskillbuff_id = row.GetFieldInfo(21).GetIntList(); mhit_correct = row.GetFieldInfo(22).GetInt(); mnext_skill = row.GetFieldInfo(23).GetInt(); mwake_skill = row.GetFieldInfo(24).GetInt(); mskill_crit = row.GetFieldInfo(25).GetInt(); mskill_anti_crit = row.GetFieldInfo(26).GetInt(); minitial_skill_id = row.GetFieldInfo(27).GetInt(); }
public void Init(BinaryConfigRow row) { mid = row.GetFieldInfo(0).GetInt(); mchapter = row.GetFieldInfo(1).GetInt(); machieve_name = row.GetFieldInfo(2).GetString(); machieve_detail = row.GetFieldInfo(3).GetString(); mpic = row.GetFieldInfo(4).GetString(); mfinish_num = row.GetFieldInfo(5).GetInt(); mpartner_list = row.GetFieldInfo(6).GetIntList(); mreward = row.GetFieldInfo(7).GetInt(); msort_id = row.GetFieldInfo(8).GetInt(); mtest = row.GetFieldInfo(9).GetStringStringDic(); mtest1 = row.GetFieldInfo(10).GetStringList(); }
public void Init(BinaryConfigRow row) { mtest1 = row.GetFieldInfo(0).GetInt(); mtest2 = row.GetFieldInfo(1).GetFloat(); mtest3 = row.GetFieldInfo(2).GetString(); mtest4 = row.GetFieldInfo(3).GetBool(); mtest5 = row.GetFieldInfo(4).GetIntList(); mtest6 = row.GetFieldInfo(5).GetFloatList(); mtest7 = row.GetFieldInfo(6).GetStringList(); mtest8 = row.GetFieldInfo(7).GetBoolList(); mtest9 = row.GetFieldInfo(8).GetIntIntDic(); mtest10 = row.GetFieldInfo(9).GetIntStringDic(); mtest11 = row.GetFieldInfo(10).GetStringIntDic(); mtest12 = row.GetFieldInfo(11).GetStringStringDic(); }
public List <T> LoadBinaryData <T>(string name) where T : IBinaryData, new() { List <T> list = new List <T>(); if (mBinaryDataMap.ContainsKey(name)) { BinaryConfigReader reader = new BinaryConfigReader(mBinaryDataMap[name]); for (int i = 0; i < reader.mBinaryRowList.Count; i++) { BinaryConfigRow row = reader.mBinaryRowList[i]; T data = new T(); data.Init(row); list.Add(data); } } else { Console.WriteLine("没有对应的二进制数据,请查证!"); } return(list); }
private void LoadData() { mRowNum = mBinaryReader.ReadInt32(); mColumnNum = mBinaryReader.ReadInt32(); List <string> nameList = new List <string>(); for (int i = 0; i < mColumnNum; i++) { nameList.Add(mBinaryReader.ReadString()); } List <int> typeList = new List <int>(); for (int i = 0; i < mColumnNum; i++) { typeList.Add(mBinaryReader.ReadInt32()); } mBinaryRowList.Clear(); for (int i = 0; i < mRowNum; i++) { BinaryConfigRow row = new BinaryConfigRow(); mBinaryRowList.Add(row); for (int j = 0; j < mColumnNum; j++) { DataType type = (DataType)typeList[j]; FiledInfo fi = new FiledInfo(); row.mFiledInfoList.Add(fi); switch (type) { case DataType.eInt: { int value = mBinaryReader.ReadInt32(); fi.mInt = value; } break; case DataType.eFloat: { float value = mBinaryReader.ReadSingle(); fi.mFloat = value; } break; case DataType.eString: { string value = mBinaryReader.ReadString(); fi.mString = value; } break; case DataType.eBool: { int value = mBinaryReader.ReadInt32(); if (value == 0) { fi.mBool = false; } else { fi.mBool = true; } } break; case DataType.eShort: { short value = mBinaryReader.ReadInt16(); fi.mShort = value; } break; case DataType.eIntList: { int length = mBinaryReader.ReadInt32(); int[] valueList = new int[length]; for (int k = 0; k < length; k++) { valueList[k] = mBinaryReader.ReadInt32(); } fi.mIntList = valueList; } break; case DataType.eFloatList: { int length = mBinaryReader.ReadInt32(); float[] valueList = new float[length]; for (int k = 0; k < length; k++) { valueList[k] = mBinaryReader.ReadSingle(); } fi.mFloatList = valueList; } break; case DataType.eStringList: { int length = mBinaryReader.ReadInt32(); string[] valueList = new string[length]; for (int k = 0; k < length; k++) { valueList[k] = mBinaryReader.ReadString(); } fi.mStringList = valueList; } break; case DataType.eBoolList: { int length = mBinaryReader.ReadInt32(); bool[] valueList = new bool[length]; for (int k = 0; k < length; k++) { int value = mBinaryReader.ReadInt32(); if (value == 0) { valueList[k] = false; } else { valueList[k] = true; } } fi.mBoolList = valueList; } break; case DataType.eIntIntDic: { int length = mBinaryReader.ReadInt32(); Dictionary <int, int> dic = new Dictionary <int, int>(); for (int k = 0; k < length; k++) { dic[mBinaryReader.ReadInt32()] = mBinaryReader.ReadInt32(); } fi.mIntIntDic = dic; } break; case DataType.eIntStringDic: { int length = mBinaryReader.ReadInt32(); Dictionary <int, string> dic = new Dictionary <int, string>(); for (int k = 0; k < length; k++) { dic[mBinaryReader.ReadInt32()] = mBinaryReader.ReadString(); } fi.mIntStringDic = dic; } break; case DataType.eStringIntDic: { int length = mBinaryReader.ReadInt32(); Dictionary <string, int> dic = new Dictionary <string, int>(); for (int k = 0; k < length; k++) { dic[mBinaryReader.ReadString()] = mBinaryReader.ReadInt32(); } fi.mStringIntDic = dic; } break; case DataType.eStringStringDic: { int length = mBinaryReader.ReadInt32(); Dictionary <string, string> dic = new Dictionary <string, string>(); for (int k = 0; k < length; k++) { dic[mBinaryReader.ReadString()] = mBinaryReader.ReadString(); } fi.mStringStringDic = dic; } break; } } } }
public static List <BinaryConfigRow> Parse(byte[] data) { List <BinaryConfigRow> rowList = new List <BinaryConfigRow>(); MemoryStream ms = new MemoryStream(data); BinaryReader br = new BinaryReader(ms); int rowNum = br.ReadInt32(); int colNum = br.ReadInt32(); List <string> nameList = new List <string>(); for (int i = 0; i < colNum; i++) { nameList.Add(br.ReadString()); } List <int> typeList = new List <int>(); for (int i = 0; i < colNum; i++) { typeList.Add(br.ReadInt32()); } for (int i = 0; i < rowNum; i++) { BinaryConfigRow row = new BinaryConfigRow(); rowList.Add(row); for (int j = 0; j < colNum; j++) { DataType type = (DataType)typeList[j]; FiledInfo fi = new FiledInfo(); row.mFiledInfoList.Add(fi); switch (type) { case DataType.eInt: { int value = br.ReadInt32(); fi.mInt = value; } break; case DataType.eFloat: { float value = br.ReadSingle(); fi.mFloat = value; } break; case DataType.eString: { string value = br.ReadString(); fi.mString = value; } break; case DataType.eBool: { bool value = br.ReadBoolean(); fi.mBool = value; } break; case DataType.eShort: { short value = br.ReadInt16(); fi.mShort = value; } break; case DataType.eIntList: { int length = br.ReadInt32(); int[] valueList = new int[length]; for (int k = 0; k < length; k++) { valueList[k] = br.ReadInt32(); } fi.mIntList = valueList; } break; case DataType.eFloatList: { int length = br.ReadInt32(); float[] valueList = new float[length]; for (int k = 0; k < length; k++) { valueList[k] = br.ReadSingle(); } fi.mFloatList = valueList; } break; case DataType.eStringList: { int length = br.ReadInt32(); string[] valueList = new string[length]; for (int k = 0; k < length; k++) { valueList[k] = br.ReadString(); } fi.mStringList = valueList; } break; case DataType.eBoolList: { int length = br.ReadInt32(); bool[] valueList = new bool[length]; for (int k = 0; k < length; k++) { valueList[k] = br.ReadBoolean(); } fi.mBoolList = valueList; } break; case DataType.eIntIntDic: { int length = br.ReadInt32(); Dictionary <int, int> dic = new Dictionary <int, int>(); for (int k = 0; k < length; k++) { dic[br.ReadInt32()] = br.ReadInt32(); } fi.mIntIntDic = dic; } break; case DataType.eIntStringDic: { int length = br.ReadInt32(); Dictionary <int, string> dic = new Dictionary <int, string>(); for (int k = 0; k < length; k++) { dic[br.ReadInt32()] = br.ReadString(); } fi.mIntStringDic = dic; } break; case DataType.eStringIntDic: { int length = br.ReadInt32(); Dictionary <string, int> dic = new Dictionary <string, int>(); for (int k = 0; k < length; k++) { dic[br.ReadString()] = br.ReadInt32(); } fi.mStringIntDic = dic; } break; case DataType.eStringStringDic: { int length = br.ReadInt32(); Dictionary <string, string> dic = new Dictionary <string, string>(); for (int k = 0; k < length; k++) { dic[br.ReadString()] = br.ReadString(); } fi.mStringStringDic = dic; } break; } } } ms.Close(); br.Close(); return(rowList); }