예제 #1
0
 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();
 }
예제 #2
0
 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();
 }
예제 #3
0
 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();
 }
예제 #4
0
        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);
        }
예제 #5
0
        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;
                    }
                }
            }
        }
예제 #6
0
        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);
        }