示例#1
0
    public void LoadXml()
    {
        Monsters = new List <XMLMonsterData>();
        XmlDocument Document = new XmlDocument();

        Document.Load(filePath);
        XmlElement MonsterListElement = Document["MonsterList"];

        foreach (XmlElement MonsterElement in MonsterListElement.ChildNodes)
        {
            XMLMonsterData Monster = new XMLMonsterData
            {
                fNumber      = System.Convert.ToSingle(MonsterElement.GetAttribute("fNumber")),
                sName        = MonsterElement.GetAttribute("sName"),
                sDescription = MonsterElement.GetAttribute("sDescription"),
                fHp          = MonsterElement.GetAttribute("fHp"),
                fLevel       = System.Convert.ToSingle(MonsterElement.GetAttribute("fLevel")),
                fAttack      = System.Convert.ToSingle(MonsterElement.GetAttribute("fAttack")),
                fAttackSpeed = System.Convert.ToSingle(MonsterElement.GetAttribute("fAttackSpeed")),
                eAttackType  = (AttackType)System.Convert.ToInt32(MonsterElement.GetAttribute("eAttackType")),
                fCritical    = System.Convert.ToSingle(MonsterElement.GetAttribute("fCritical")),
                fDefence     = System.Convert.ToSingle(MonsterElement.GetAttribute("fDefence")),
                eDefenceType = (DefenceType)System.Convert.ToInt32(MonsterElement.GetAttribute("eDefenceType")),
                fGold        = System.Convert.ToSingle(MonsterElement.GetAttribute("fGold")),
                fSoul        = System.Convert.ToSingle(MonsterElement.GetAttribute("fSoul")),
            };
            Monsters.Add(Monster);
        }
    }
示例#2
0
        public Body()
        {
            panelHandler = new PanelHandler();
            InitializeComponent();
            ActivateCards();
            BindList(currentType, DirectoryDatabaseManagement.RefreshCombobox());
            PopulateDisplay();
            addCardCopiesIn.Text = "" + 1;
            addCardSlotText.Text = "";
            addCardPageText.Text = "" + currentPage;
            addPageCB.Text       = (string)currentType.SelectedItem;

            //Setup Function Icons
            trashIcon.Visible         = false;
            changePictureIcon.Visible = false;

            //DropPanel things
            hideHeight     = panelDA.Height;
            panelDA.Height = AButton.Height + 1;

            //Console.WriteLine(this.Controls.Count);

            MonsterElement ce  = new MonsterElement();
            MonsterElement ce2 = new MonsterElement("ai6", "hi", "hi", "hi", "hi", "hi", 1);
            MonsterElement ce3 = new MonsterElement("ai67", "hi", "hi", "hi", "hi", "hi", 1);
            MonsterElement ce4 = (MonsterElement)ce3.GetCopy();

            Console.WriteLine(ce3.GetName() + " < " + ce2.GetName() + " : " + (ce3 < ce2));
            Console.WriteLine("ai6".CompareTo("hi3"));
            Console.WriteLine(" ce4 : " + ce4.GetName());
        }
示例#3
0
    public bool LoadBin(byte[] binContent)
    {
        m_mapElements.Clear();
        m_vecAllElements.Clear();
        int nCol, nRow;
        int readPos = 0;

        readPos += GameAssist.ReadInt32Variant(binContent, readPos, out nCol);
        readPos += GameAssist.ReadInt32Variant(binContent, readPos, out nRow);
        List <string> vecLine     = new List <string>(nCol);
        List <int>    vecHeadType = new List <int>(nCol);
        string        tmpStr;
        int           tmpInt;

        for (int i = 0; i < nCol; i++)
        {
            readPos += GameAssist.ReadString(binContent, readPos, out tmpStr);
            readPos += GameAssist.ReadInt32Variant(binContent, readPos, out tmpInt);
            vecLine.Add(tmpStr);
            vecHeadType.Add(tmpInt);
        }
        if (vecLine.Count != 3)
        {
            Ex.Logger.Log("Monster.csv中列数量与生成的代码不匹配!");
            return(false);
        }
        if (vecLine[0] != "id")
        {
            Ex.Logger.Log("Monster.csv中字段[id]位置不对应"); return(false);
        }
        if (vecLine[1] != "name")
        {
            Ex.Logger.Log("Monster.csv中字段[name]位置不对应"); return(false);
        }
        if (vecLine[2] != "skills")
        {
            Ex.Logger.Log("Monster.csv中字段[skills]位置不对应"); return(false);
        }

        for (int i = 0; i < nRow; i++)
        {
            MonsterElement member = new MonsterElement();
            readPos += GameAssist.ReadInt32Variant(binContent, readPos, out member.id);
            readPos += GameAssist.ReadString(binContent, readPos, out member.name);
            readPos += GameAssist.ReadString(binContent, readPos, out member.skills);

            member.IsValidate = true;
            m_vecAllElements.Add(member);
            m_mapElements[member.id] = member;
        }
        return(true);
    }
示例#4
0
    public bool LoadCsv(string strContent)
    {
        if (strContent.Length == 0)
        {
            return(false);
        }
        m_mapElements.Clear();
        m_vecAllElements.Clear();
        int           contentOffset = 0;
        List <string> vecLine;

        vecLine = GameAssist.readCsvLine(strContent, ref contentOffset);
        if (vecLine.Count != 3)
        {
            Ex.Logger.Log("Monster.csv中列数量与生成的代码不匹配!");
            return(false);
        }
        if (vecLine[0] != "id")
        {
            Ex.Logger.Log("Monster.csv中字段[id]位置不对应"); return(false);
        }
        if (vecLine[1] != "name")
        {
            Ex.Logger.Log("Monster.csv中字段[name]位置不对应"); return(false);
        }
        if (vecLine[2] != "skills")
        {
            Ex.Logger.Log("Monster.csv中字段[skills]位置不对应"); return(false);
        }

        while (true)
        {
            vecLine = GameAssist.readCsvLine(strContent, ref contentOffset);
            if ((int)vecLine.Count == 0)
            {
                break;
            }
            if ((int)vecLine.Count != (int)3)
            {
                return(false);
            }
            MonsterElement member = new MonsterElement();
            member.id     = Convert.ToInt32(vecLine[0]);
            member.name   = vecLine[1];
            member.skills = vecLine[2];

            member.IsValidate = true;
            m_vecAllElements.Add(member);
            m_mapElements[member.id] = member;
        }
        return(true);
    }
        public static CardElement GetCard(string type, string name)
        {
            try
            {
                string      nm     = name;
                string      pic    = "";
                string      copies = "";
                XmlDocument xd     = new XmlDocument();
                FileInfo[]  fi     = GetDatabasePages(type);
                foreach (FileInfo ff in fi)
                {
                    FileStream file = new FileStream("database/" + type + "/" + ff.Name, FileMode.Open);
                    xd.Load(file);
                    XmlNodeList list = xd.GetElementsByTagName("Card");

                    for (int i = 0; i < list.Count; i++)
                    {
                        XmlElement c1 = (XmlElement)xd.GetElementsByTagName("Slot")[i];
                        XmlElement c2 = (XmlElement)xd.GetElementsByTagName("Card")[i];
                        XmlElement c3 = (XmlElement)xd.GetElementsByTagName("Picture")[i];
                        XmlElement c4 = (XmlElement)xd.GetElementsByTagName("Copies")[i];
                        nm = c2.GetAttribute("Name");

                        Console.WriteLine(Simplify(nm) + ", " + Simplify(name) + ", " + ff.Name);

                        if (Simplify(nm).Equals(Simplify(name)))
                        {
                            pic    = c3.InnerText;
                            copies = "" + c4.InnerText;
                            string pg = ff.Name.Substring(4);
                            pg = pg.Remove(pg.IndexOf(".xml"));
                            Console.WriteLine("Page: " + pg);
                            file.Close();

                            //Using var to get whatever type the CardElement is
                            var cardElement = new MonsterElement();

                            return(cardElement);
                        }
                    }
                    file.Close();
                }
                return(new MonsterElement());
            }
            catch (IOException e)
            {
                e.ToString();
                //Console.WriteLine("BAKKAKAKAKAKA");
                return(new MonsterElement());
            }
        }
示例#6
0
 private MonsterTable()
 {
     m_mapElements    = new Dictionary <int, MonsterElement>();
     m_emptyItem      = new MonsterElement();
     m_vecAllElements = new List <MonsterElement>();
 }
示例#7
0
    public bool LoadCsv(string strContent)
    {
        if (strContent.Length == 0)
        {
            return(false);
        }
        m_mapElements.Clear();
        m_vecAllElements.Clear();
        int           contentOffset = 0;
        List <string> vecLine;

        vecLine = GameAssist.readCsvLine(strContent, ref contentOffset);
        if (vecLine.Count != 28)
        {
            Debug.Log("Monster.csv中列数量与生成的代码不匹配!");
            return(false);
        }
        if (vecLine[0] != "MonsterID")
        {
            Debug.Log("Monster.csv中字段[MonsterID]位置不对应"); return(false);
        }
        if (vecLine[1] != "ModelID")
        {
            Debug.Log("Monster.csv中字段[ModelID]位置不对应"); return(false);
        }
        if (vecLine[2] != "ModelScaling")
        {
            Debug.Log("Monster.csv中字段[ModelScaling]位置不对应"); return(false);
        }
        if (vecLine[3] != "Name")
        {
            Debug.Log("Monster.csv中字段[Name]位置不对应"); return(false);
        }
        if (vecLine[4] != "Title")
        {
            Debug.Log("Monster.csv中字段[Title]位置不对应"); return(false);
        }
        if (vecLine[5] != "Level")
        {
            Debug.Log("Monster.csv中字段[Level]位置不对应"); return(false);
        }
        if (vecLine[6] != "BaseAI")
        {
            Debug.Log("Monster.csv中字段[BaseAI]位置不对应"); return(false);
        }
        if (vecLine[7] != "Skill1")
        {
            Debug.Log("Monster.csv中字段[Skill1]位置不对应"); return(false);
        }
        if (vecLine[8] != "Skill2")
        {
            Debug.Log("Monster.csv中字段[Skill2]位置不对应"); return(false);
        }
        if (vecLine[9] != "Skill3")
        {
            Debug.Log("Monster.csv中字段[Skill3]位置不对应"); return(false);
        }
        if (vecLine[10] != "Skill4")
        {
            Debug.Log("Monster.csv中字段[Skill4]位置不对应"); return(false);
        }
        if (vecLine[11] != "Skill5")
        {
            Debug.Log("Monster.csv中字段[Skill5]位置不对应"); return(false);
        }
        if (vecLine[12] != "Skill6")
        {
            Debug.Log("Monster.csv中字段[Skill6]位置不对应"); return(false);
        }
        if (vecLine[13] != "Skill7")
        {
            Debug.Log("Monster.csv中字段[Skill7]位置不对应"); return(false);
        }
        if (vecLine[14] != "Skill8")
        {
            Debug.Log("Monster.csv中字段[Skill8]位置不对应"); return(false);
        }
        if (vecLine[15] != "Skill9")
        {
            Debug.Log("Monster.csv中字段[Skill9]位置不对应"); return(false);
        }
        if (vecLine[16] != "MaxHP")
        {
            Debug.Log("Monster.csv中字段[MaxHP]位置不对应"); return(false);
        }
        if (vecLine[17] != "PhysicalAtk")
        {
            Debug.Log("Monster.csv中字段[PhysicalAtk]位置不对应"); return(false);
        }
        if (vecLine[18] != "MagicalAtk")
        {
            Debug.Log("Monster.csv中字段[MagicalAtk]位置不对应"); return(false);
        }
        if (vecLine[19] != "PhysicalDef")
        {
            Debug.Log("Monster.csv中字段[PhysicalDef]位置不对应"); return(false);
        }
        if (vecLine[20] != "MagicalDef")
        {
            Debug.Log("Monster.csv中字段[MagicalDef]位置不对应"); return(false);
        }
        if (vecLine[21] != "CritLevel")
        {
            Debug.Log("Monster.csv中字段[CritLevel]位置不对应"); return(false);
        }
        if (vecLine[22] != "CritDef")
        {
            Debug.Log("Monster.csv中字段[CritDef]位置不对应"); return(false);
        }
        if (vecLine[23] != "CritDamage")
        {
            Debug.Log("Monster.csv中字段[CritDamage]位置不对应"); return(false);
        }
        if (vecLine[24] != "CritReduce")
        {
            Debug.Log("Monster.csv中字段[CritReduce]位置不对应"); return(false);
        }
        if (vecLine[25] != "Regain")
        {
            Debug.Log("Monster.csv中字段[Regain]位置不对应"); return(false);
        }
        if (vecLine[26] != "MoveSpeed")
        {
            Debug.Log("Monster.csv中字段[MoveSpeed]位置不对应"); return(false);
        }
        if (vecLine[27] != "AttackRate")
        {
            Debug.Log("Monster.csv中字段[AttackRate]位置不对应"); return(false);
        }

        while (true)
        {
            vecLine = GameAssist.readCsvLine(strContent, ref contentOffset);
            if ((int)vecLine.Count == 0)
            {
                break;
            }
            if ((int)vecLine.Count != (int)28)
            {
                return(false);
            }
            MonsterElement member = new MonsterElement();
            member.MonsterID    = Convert.ToInt32(vecLine[0]);
            member.ModelID      = vecLine[1];
            member.ModelScaling = Convert.ToSingle(vecLine[2]);
            member.Name         = vecLine[3];
            member.Title        = vecLine[4];
            member.Level        = Convert.ToInt32(vecLine[5]);
            member.BaseAI       = Convert.ToInt32(vecLine[6]);
            member.Skill1       = Convert.ToInt32(vecLine[7]);
            member.Skill2       = Convert.ToInt32(vecLine[8]);
            member.Skill3       = Convert.ToInt32(vecLine[9]);
            member.Skill4       = Convert.ToInt32(vecLine[10]);
            member.Skill5       = Convert.ToInt32(vecLine[11]);
            member.Skill6       = Convert.ToInt32(vecLine[12]);
            member.Skill7       = Convert.ToInt32(vecLine[13]);
            member.Skill8       = Convert.ToInt32(vecLine[14]);
            member.Skill9       = Convert.ToInt32(vecLine[15]);
            member.MaxHP        = Convert.ToInt32(vecLine[16]);
            member.PhysicalAtk  = Convert.ToInt32(vecLine[17]);
            member.MagicalAtk   = Convert.ToInt32(vecLine[18]);
            member.PhysicalDef  = Convert.ToInt32(vecLine[19]);
            member.MagicalDef   = Convert.ToInt32(vecLine[20]);
            member.CritLevel    = Convert.ToInt32(vecLine[21]);
            member.CritDef      = Convert.ToInt32(vecLine[22]);
            member.CritDamage   = Convert.ToInt32(vecLine[23]);
            member.CritReduce   = Convert.ToInt32(vecLine[24]);
            member.Regain       = Convert.ToInt32(vecLine[25]);
            member.MoveSpeed    = Convert.ToSingle(vecLine[26]);
            member.AttackRate   = Convert.ToSingle(vecLine[27]);

            member.IsValidate = true;
            m_vecAllElements.Add(member);
            m_mapElements[member.MonsterID] = member;
        }
        return(true);
    }
示例#8
0
    public bool LoadBin(byte[] binContent)
    {
        m_mapElements.Clear();
        m_vecAllElements.Clear();
        int nCol, nRow;
        int readPos = 0;

        readPos += GameAssist.ReadInt32Variant(binContent, readPos, out nCol);
        readPos += GameAssist.ReadInt32Variant(binContent, readPos, out nRow);
        List <string> vecLine     = new List <string>(nCol);
        List <int>    vecHeadType = new List <int>(nCol);
        string        tmpStr;
        int           tmpInt;

        for (int i = 0; i < nCol; i++)
        {
            readPos += GameAssist.ReadString(binContent, readPos, out tmpStr);
            readPos += GameAssist.ReadInt32Variant(binContent, readPos, out tmpInt);
            vecLine.Add(tmpStr);
            vecHeadType.Add(tmpInt);
        }
        if (vecLine.Count != 28)
        {
            Debug.Log("Monster.csv中列数量与生成的代码不匹配!");
            return(false);
        }
        if (vecLine[0] != "MonsterID")
        {
            Debug.Log("Monster.csv中字段[MonsterID]位置不对应"); return(false);
        }
        if (vecLine[1] != "ModelID")
        {
            Debug.Log("Monster.csv中字段[ModelID]位置不对应"); return(false);
        }
        if (vecLine[2] != "ModelScaling")
        {
            Debug.Log("Monster.csv中字段[ModelScaling]位置不对应"); return(false);
        }
        if (vecLine[3] != "Name")
        {
            Debug.Log("Monster.csv中字段[Name]位置不对应"); return(false);
        }
        if (vecLine[4] != "Title")
        {
            Debug.Log("Monster.csv中字段[Title]位置不对应"); return(false);
        }
        if (vecLine[5] != "Level")
        {
            Debug.Log("Monster.csv中字段[Level]位置不对应"); return(false);
        }
        if (vecLine[6] != "BaseAI")
        {
            Debug.Log("Monster.csv中字段[BaseAI]位置不对应"); return(false);
        }
        if (vecLine[7] != "Skill1")
        {
            Debug.Log("Monster.csv中字段[Skill1]位置不对应"); return(false);
        }
        if (vecLine[8] != "Skill2")
        {
            Debug.Log("Monster.csv中字段[Skill2]位置不对应"); return(false);
        }
        if (vecLine[9] != "Skill3")
        {
            Debug.Log("Monster.csv中字段[Skill3]位置不对应"); return(false);
        }
        if (vecLine[10] != "Skill4")
        {
            Debug.Log("Monster.csv中字段[Skill4]位置不对应"); return(false);
        }
        if (vecLine[11] != "Skill5")
        {
            Debug.Log("Monster.csv中字段[Skill5]位置不对应"); return(false);
        }
        if (vecLine[12] != "Skill6")
        {
            Debug.Log("Monster.csv中字段[Skill6]位置不对应"); return(false);
        }
        if (vecLine[13] != "Skill7")
        {
            Debug.Log("Monster.csv中字段[Skill7]位置不对应"); return(false);
        }
        if (vecLine[14] != "Skill8")
        {
            Debug.Log("Monster.csv中字段[Skill8]位置不对应"); return(false);
        }
        if (vecLine[15] != "Skill9")
        {
            Debug.Log("Monster.csv中字段[Skill9]位置不对应"); return(false);
        }
        if (vecLine[16] != "MaxHP")
        {
            Debug.Log("Monster.csv中字段[MaxHP]位置不对应"); return(false);
        }
        if (vecLine[17] != "PhysicalAtk")
        {
            Debug.Log("Monster.csv中字段[PhysicalAtk]位置不对应"); return(false);
        }
        if (vecLine[18] != "MagicalAtk")
        {
            Debug.Log("Monster.csv中字段[MagicalAtk]位置不对应"); return(false);
        }
        if (vecLine[19] != "PhysicalDef")
        {
            Debug.Log("Monster.csv中字段[PhysicalDef]位置不对应"); return(false);
        }
        if (vecLine[20] != "MagicalDef")
        {
            Debug.Log("Monster.csv中字段[MagicalDef]位置不对应"); return(false);
        }
        if (vecLine[21] != "CritLevel")
        {
            Debug.Log("Monster.csv中字段[CritLevel]位置不对应"); return(false);
        }
        if (vecLine[22] != "CritDef")
        {
            Debug.Log("Monster.csv中字段[CritDef]位置不对应"); return(false);
        }
        if (vecLine[23] != "CritDamage")
        {
            Debug.Log("Monster.csv中字段[CritDamage]位置不对应"); return(false);
        }
        if (vecLine[24] != "CritReduce")
        {
            Debug.Log("Monster.csv中字段[CritReduce]位置不对应"); return(false);
        }
        if (vecLine[25] != "Regain")
        {
            Debug.Log("Monster.csv中字段[Regain]位置不对应"); return(false);
        }
        if (vecLine[26] != "MoveSpeed")
        {
            Debug.Log("Monster.csv中字段[MoveSpeed]位置不对应"); return(false);
        }
        if (vecLine[27] != "AttackRate")
        {
            Debug.Log("Monster.csv中字段[AttackRate]位置不对应"); return(false);
        }

        for (int i = 0; i < nRow; i++)
        {
            MonsterElement member = new MonsterElement();
            readPos += GameAssist.ReadInt32Variant(binContent, readPos, out member.MonsterID);
            readPos += GameAssist.ReadString(binContent, readPos, out member.ModelID);
            readPos += GameAssist.ReadFloat(binContent, readPos, out member.ModelScaling);
            readPos += GameAssist.ReadString(binContent, readPos, out member.Name);
            readPos += GameAssist.ReadString(binContent, readPos, out member.Title);
            readPos += GameAssist.ReadInt32Variant(binContent, readPos, out member.Level);
            readPos += GameAssist.ReadInt32Variant(binContent, readPos, out member.BaseAI);
            readPos += GameAssist.ReadInt32Variant(binContent, readPos, out member.Skill1);
            readPos += GameAssist.ReadInt32Variant(binContent, readPos, out member.Skill2);
            readPos += GameAssist.ReadInt32Variant(binContent, readPos, out member.Skill3);
            readPos += GameAssist.ReadInt32Variant(binContent, readPos, out member.Skill4);
            readPos += GameAssist.ReadInt32Variant(binContent, readPos, out member.Skill5);
            readPos += GameAssist.ReadInt32Variant(binContent, readPos, out member.Skill6);
            readPos += GameAssist.ReadInt32Variant(binContent, readPos, out member.Skill7);
            readPos += GameAssist.ReadInt32Variant(binContent, readPos, out member.Skill8);
            readPos += GameAssist.ReadInt32Variant(binContent, readPos, out member.Skill9);
            readPos += GameAssist.ReadInt32Variant(binContent, readPos, out member.MaxHP);
            readPos += GameAssist.ReadInt32Variant(binContent, readPos, out member.PhysicalAtk);
            readPos += GameAssist.ReadInt32Variant(binContent, readPos, out member.MagicalAtk);
            readPos += GameAssist.ReadInt32Variant(binContent, readPos, out member.PhysicalDef);
            readPos += GameAssist.ReadInt32Variant(binContent, readPos, out member.MagicalDef);
            readPos += GameAssist.ReadInt32Variant(binContent, readPos, out member.CritLevel);
            readPos += GameAssist.ReadInt32Variant(binContent, readPos, out member.CritDef);
            readPos += GameAssist.ReadInt32Variant(binContent, readPos, out member.CritDamage);
            readPos += GameAssist.ReadInt32Variant(binContent, readPos, out member.CritReduce);
            readPos += GameAssist.ReadInt32Variant(binContent, readPos, out member.Regain);
            readPos += GameAssist.ReadFloat(binContent, readPos, out member.MoveSpeed);
            readPos += GameAssist.ReadFloat(binContent, readPos, out member.AttackRate);

            member.IsValidate = true;
            m_vecAllElements.Add(member);
            m_mapElements[member.MonsterID] = member;
        }
        return(true);
    }
示例#9
0
    public bool LoadCsv(string strContent)
    {
        if (strContent.Length == 0)
        {
            return(false);
        }
        m_mapElements.Clear();
        m_vecAllElements.Clear();
        int           contentOffset = 0;
        List <string> vecLine;

        vecLine = GameAssist.readCsvLine(strContent, ref contentOffset);
        if (vecLine.Count != 84)
        {
            Ex.Logger.Log("Monster.csv中列数量与生成的代码不匹配!");
            return(false);
        }
        if (vecLine[0] != "MonsterID")
        {
            Ex.Logger.Log("Monster.csv中字段[MonsterID]位置不对应"); return(false);
        }
        if (vecLine[1] != "ModelID")
        {
            Ex.Logger.Log("Monster.csv中字段[ModelID]位置不对应"); return(false);
        }
        if (vecLine[2] != "ModelScaling")
        {
            Ex.Logger.Log("Monster.csv中字段[ModelScaling]位置不对应"); return(false);
        }
        if (vecLine[3] != "AttType")
        {
            Ex.Logger.Log("Monster.csv中字段[AttType]位置不对应"); return(false);
        }
        if (vecLine[4] != "Name")
        {
            Ex.Logger.Log("Monster.csv中字段[Name]位置不对应"); return(false);
        }
        if (vecLine[5] != "HeadIcon")
        {
            Ex.Logger.Log("Monster.csv中字段[HeadIcon]位置不对应"); return(false);
        }
        if (vecLine[6] != "Title")
        {
            Ex.Logger.Log("Monster.csv中字段[Title]位置不对应"); return(false);
        }
        if (vecLine[7] != "Level")
        {
            Ex.Logger.Log("Monster.csv中字段[Level]位置不对应"); return(false);
        }
        if (vecLine[8] != "Group")
        {
            Ex.Logger.Log("Monster.csv中字段[Group]位置不对应"); return(false);
        }
        if (vecLine[9] != "Type")
        {
            Ex.Logger.Log("Monster.csv中字段[Type]位置不对应"); return(false);
        }
        if (vecLine[10] != "BaseAI")
        {
            Ex.Logger.Log("Monster.csv中字段[BaseAI]位置不对应"); return(false);
        }
        if (vecLine[11] != "MonsterR")
        {
            Ex.Logger.Log("Monster.csv中字段[MonsterR]位置不对应"); return(false);
        }
        if (vecLine[12] != "PingPong")
        {
            Ex.Logger.Log("Monster.csv中字段[PingPong]位置不对应"); return(false);
        }
        if (vecLine[13] != "MonsterExp")
        {
            Ex.Logger.Log("Monster.csv中字段[MonsterExp]位置不对应"); return(false);
        }
        if (vecLine[14] != "DropID")
        {
            Ex.Logger.Log("Monster.csv中字段[DropID]位置不对应"); return(false);
        }
        if (vecLine[15] != "Skill1")
        {
            Ex.Logger.Log("Monster.csv中字段[Skill1]位置不对应"); return(false);
        }
        if (vecLine[16] != "Skill2")
        {
            Ex.Logger.Log("Monster.csv中字段[Skill2]位置不对应"); return(false);
        }
        if (vecLine[17] != "Skill3")
        {
            Ex.Logger.Log("Monster.csv中字段[Skill3]位置不对应"); return(false);
        }
        if (vecLine[18] != "Skill4")
        {
            Ex.Logger.Log("Monster.csv中字段[Skill4]位置不对应"); return(false);
        }
        if (vecLine[19] != "Skill5")
        {
            Ex.Logger.Log("Monster.csv中字段[Skill5]位置不对应"); return(false);
        }
        if (vecLine[20] != "Skill6")
        {
            Ex.Logger.Log("Monster.csv中字段[Skill6]位置不对应"); return(false);
        }
        if (vecLine[21] != "Skill7")
        {
            Ex.Logger.Log("Monster.csv中字段[Skill7]位置不对应"); return(false);
        }
        if (vecLine[22] != "Skill8")
        {
            Ex.Logger.Log("Monster.csv中字段[Skill8]位置不对应"); return(false);
        }
        if (vecLine[23] != "Skill9")
        {
            Ex.Logger.Log("Monster.csv中字段[Skill9]位置不对应"); return(false);
        }
        if (vecLine[24] != "Skill")
        {
            Ex.Logger.Log("Monster.csv中字段[Skill]位置不对应"); return(false);
        }
        if (vecLine[25] != "movSP")
        {
            Ex.Logger.Log("Monster.csv中字段[movSP]位置不对应"); return(false);
        }
        if (vecLine[26] != "attSP")
        {
            Ex.Logger.Log("Monster.csv中字段[attSP]位置不对应"); return(false);
        }
        if (vecLine[27] != "AllowMove")
        {
            Ex.Logger.Log("Monster.csv中字段[AllowMove]位置不对应"); return(false);
        }
        if (vecLine[28] != "HP")
        {
            Ex.Logger.Log("Monster.csv中字段[HP]位置不对应"); return(false);
        }
        if (vecLine[29] != "reHP")
        {
            Ex.Logger.Log("Monster.csv中字段[reHP]位置不对应"); return(false);
        }
        if (vecLine[30] != "MP")
        {
            Ex.Logger.Log("Monster.csv中字段[MP]位置不对应"); return(false);
        }
        if (vecLine[31] != "reMP")
        {
            Ex.Logger.Log("Monster.csv中字段[reMP]位置不对应"); return(false);
        }
        if (vecLine[32] != "minPA")
        {
            Ex.Logger.Log("Monster.csv中字段[minPA]位置不对应"); return(false);
        }
        if (vecLine[33] != "maxPA")
        {
            Ex.Logger.Log("Monster.csv中字段[maxPA]位置不对应"); return(false);
        }
        if (vecLine[34] != "minMA")
        {
            Ex.Logger.Log("Monster.csv中字段[minMA]位置不对应"); return(false);
        }
        if (vecLine[35] != "maxMA")
        {
            Ex.Logger.Log("Monster.csv中字段[maxMA]位置不对应"); return(false);
        }
        if (vecLine[36] != "PD")
        {
            Ex.Logger.Log("Monster.csv中字段[PD]位置不对应"); return(false);
        }
        if (vecLine[37] != "MD")
        {
            Ex.Logger.Log("Monster.csv中字段[MD]位置不对应"); return(false);
        }
        if (vecLine[38] != "igPhi")
        {
            Ex.Logger.Log("Monster.csv中字段[igPhi]位置不对应"); return(false);
        }
        if (vecLine[39] != "igMdo")
        {
            Ex.Logger.Log("Monster.csv中字段[igMdo]位置不对应"); return(false);
        }
        if (vecLine[40] != "Pdo")
        {
            Ex.Logger.Log("Monster.csv中字段[Pdo]位置不对应"); return(false);
        }
        if (vecLine[41] != "Mdo")
        {
            Ex.Logger.Log("Monster.csv中字段[Mdo]位置不对应"); return(false);
        }
        if (vecLine[42] != "HitRate")
        {
            Ex.Logger.Log("Monster.csv中字段[HitRate]位置不对应"); return(false);
        }
        if (vecLine[43] != "CritRate")
        {
            Ex.Logger.Log("Monster.csv中字段[CritRate]位置不对应"); return(false);
        }
        if (vecLine[44] != "igPcr")
        {
            Ex.Logger.Log("Monster.csv中字段[igPcr]位置不对应"); return(false);
        }
        if (vecLine[45] != "igMcr")
        {
            Ex.Logger.Log("Monster.csv中字段[igMcr]位置不对应"); return(false);
        }
        if (vecLine[46] != "Pcr")
        {
            Ex.Logger.Log("Monster.csv中字段[Pcr]位置不对应"); return(false);
        }
        if (vecLine[47] != "Mcr")
        {
            Ex.Logger.Log("Monster.csv中字段[Mcr]位置不对应"); return(false);
        }
        if (vecLine[48] != "igPrd")
        {
            Ex.Logger.Log("Monster.csv中字段[igPrd]位置不对应"); return(false);
        }
        if (vecLine[49] != "igMrd")
        {
            Ex.Logger.Log("Monster.csv中字段[igMrd]位置不对应"); return(false);
        }
        if (vecLine[50] != "Prd")
        {
            Ex.Logger.Log("Monster.csv中字段[Prd]位置不对应"); return(false);
        }
        if (vecLine[51] != "Mrd")
        {
            Ex.Logger.Log("Monster.csv中字段[Mrd]位置不对应"); return(false);
        }
        if (vecLine[52] != "igBlo")
        {
            Ex.Logger.Log("Monster.csv中字段[igBlo]位置不对应"); return(false);
        }
        if (vecLine[53] != "Blo")
        {
            Ex.Logger.Log("Monster.csv中字段[Blo]位置不对应"); return(false);
        }
        if (vecLine[54] != "igBrd")
        {
            Ex.Logger.Log("Monster.csv中字段[igBrd]位置不对应"); return(false);
        }
        if (vecLine[55] != "Brd")
        {
            Ex.Logger.Log("Monster.csv中字段[Brd]位置不对应"); return(false);
        }
        if (vecLine[56] != "igVEr")
        {
            Ex.Logger.Log("Monster.csv中字段[igVEr]位置不对应"); return(false);
        }
        if (vecLine[57] != "igSLr")
        {
            Ex.Logger.Log("Monster.csv中字段[igSLr]位置不对应"); return(false);
        }
        if (vecLine[58] != "igCHr")
        {
            Ex.Logger.Log("Monster.csv中字段[igCHr]位置不对应"); return(false);
        }
        if (vecLine[59] != "igABr")
        {
            Ex.Logger.Log("Monster.csv中字段[igABr]位置不对应"); return(false);
        }
        if (vecLine[60] != "igSIr")
        {
            Ex.Logger.Log("Monster.csv中字段[igSIr]位置不对应"); return(false);
        }
        if (vecLine[61] != "igGRr")
        {
            Ex.Logger.Log("Monster.csv中字段[igGRr]位置不对应"); return(false);
        }
        if (vecLine[62] != "igPEr")
        {
            Ex.Logger.Log("Monster.csv中字段[igPEr]位置不对应"); return(false);
        }
        if (vecLine[63] != "VEr")
        {
            Ex.Logger.Log("Monster.csv中字段[VEr]位置不对应"); return(false);
        }
        if (vecLine[64] != "SLr")
        {
            Ex.Logger.Log("Monster.csv中字段[SLr]位置不对应"); return(false);
        }
        if (vecLine[65] != "CHr")
        {
            Ex.Logger.Log("Monster.csv中字段[CHr]位置不对应"); return(false);
        }
        if (vecLine[66] != "ABr")
        {
            Ex.Logger.Log("Monster.csv中字段[ABr]位置不对应"); return(false);
        }
        if (vecLine[67] != "SIr")
        {
            Ex.Logger.Log("Monster.csv中字段[SIr]位置不对应"); return(false);
        }
        if (vecLine[68] != "GRr")
        {
            Ex.Logger.Log("Monster.csv中字段[GRr]位置不对应"); return(false);
        }
        if (vecLine[69] != "PEr")
        {
            Ex.Logger.Log("Monster.csv中字段[PEr]位置不对应"); return(false);
        }
        if (vecLine[70] != "igFr")
        {
            Ex.Logger.Log("Monster.csv中字段[igFr]位置不对应"); return(false);
        }
        if (vecLine[71] != "igEr")
        {
            Ex.Logger.Log("Monster.csv中字段[igEr]位置不对应"); return(false);
        }
        if (vecLine[72] != "igWr")
        {
            Ex.Logger.Log("Monster.csv中字段[igWr]位置不对应"); return(false);
        }
        if (vecLine[73] != "igCr")
        {
            Ex.Logger.Log("Monster.csv中字段[igCr]位置不对应"); return(false);
        }
        if (vecLine[74] != "igPr")
        {
            Ex.Logger.Log("Monster.csv中字段[igPr]位置不对应"); return(false);
        }
        if (vecLine[75] != "igLr")
        {
            Ex.Logger.Log("Monster.csv中字段[igLr]位置不对应"); return(false);
        }
        if (vecLine[76] != "igDr")
        {
            Ex.Logger.Log("Monster.csv中字段[igDr]位置不对应"); return(false);
        }
        if (vecLine[77] != "Fr")
        {
            Ex.Logger.Log("Monster.csv中字段[Fr]位置不对应"); return(false);
        }
        if (vecLine[78] != "Er")
        {
            Ex.Logger.Log("Monster.csv中字段[Er]位置不对应"); return(false);
        }
        if (vecLine[79] != "Wr")
        {
            Ex.Logger.Log("Monster.csv中字段[Wr]位置不对应"); return(false);
        }
        if (vecLine[80] != "Cr")
        {
            Ex.Logger.Log("Monster.csv中字段[Cr]位置不对应"); return(false);
        }
        if (vecLine[81] != "Pr")
        {
            Ex.Logger.Log("Monster.csv中字段[Pr]位置不对应"); return(false);
        }
        if (vecLine[82] != "Lr")
        {
            Ex.Logger.Log("Monster.csv中字段[Lr]位置不对应"); return(false);
        }
        if (vecLine[83] != "Dr")
        {
            Ex.Logger.Log("Monster.csv中字段[Dr]位置不对应"); return(false);
        }

        while (true)
        {
            vecLine = GameAssist.readCsvLine(strContent, ref contentOffset);
            if ((int)vecLine.Count == 0)
            {
                break;
            }
            if ((int)vecLine.Count != (int)84)
            {
                return(false);
            }
            MonsterElement member = new MonsterElement();
            member.MonsterID    = Convert.ToInt32(vecLine[0]);
            member.ModelID      = Convert.ToInt32(vecLine[1]);
            member.ModelScaling = Convert.ToSingle(vecLine[2]);
            member.AttType      = Convert.ToInt32(vecLine[3]);
            member.Name         = vecLine[4];
            member.HeadIcon     = vecLine[5];
            member.Title        = vecLine[6];
            member.Level        = Convert.ToInt32(vecLine[7]);
            member.Group        = Convert.ToInt32(vecLine[8]);
            member.Type         = Convert.ToInt32(vecLine[9]);
            member.BaseAI       = Convert.ToInt32(vecLine[10]);
            member.MonsterR     = Convert.ToSingle(vecLine[11]);
            member.PingPong     = Convert.ToInt32(vecLine[12]);
            member.MonsterExp   = Convert.ToInt32(vecLine[13]);
            member.DropID       = Convert.ToInt32(vecLine[14]);
            member.Skill1       = Convert.ToInt32(vecLine[15]);
            member.Skill2       = Convert.ToInt32(vecLine[16]);
            member.Skill3       = Convert.ToInt32(vecLine[17]);
            member.Skill4       = Convert.ToInt32(vecLine[18]);
            member.Skill5       = Convert.ToInt32(vecLine[19]);
            member.Skill6       = Convert.ToInt32(vecLine[20]);
            member.Skill7       = Convert.ToInt32(vecLine[21]);
            member.Skill8       = Convert.ToInt32(vecLine[22]);
            member.Skill9       = Convert.ToInt32(vecLine[23]);
            member.Skill        = vecLine[24];
            member.movSP        = Convert.ToSingle(vecLine[25]);
            member.attSP        = Convert.ToSingle(vecLine[26]);
            member.AllowMove    = Convert.ToInt32(vecLine[27]);
            member.HP           = Convert.ToInt32(vecLine[28]);
            member.reHP         = Convert.ToInt32(vecLine[29]);
            member.MP           = Convert.ToInt32(vecLine[30]);
            member.reMP         = Convert.ToInt32(vecLine[31]);
            member.minPA        = Convert.ToInt32(vecLine[32]);
            member.maxPA        = Convert.ToInt32(vecLine[33]);
            member.minMA        = Convert.ToInt32(vecLine[34]);
            member.maxMA        = Convert.ToInt32(vecLine[35]);
            member.PD           = Convert.ToInt32(vecLine[36]);
            member.MD           = Convert.ToInt32(vecLine[37]);
            member.igPhi        = Convert.ToInt32(vecLine[38]);
            member.igMdo        = Convert.ToInt32(vecLine[39]);
            member.Pdo          = Convert.ToInt32(vecLine[40]);
            member.Mdo          = Convert.ToInt32(vecLine[41]);
            member.HitRate      = Convert.ToSingle(vecLine[42]);
            member.CritRate     = Convert.ToSingle(vecLine[43]);
            member.igPcr        = Convert.ToSingle(vecLine[44]);
            member.igMcr        = Convert.ToSingle(vecLine[45]);
            member.Pcr          = Convert.ToSingle(vecLine[46]);
            member.Mcr          = Convert.ToSingle(vecLine[47]);
            member.igPrd        = Convert.ToSingle(vecLine[48]);
            member.igMrd        = Convert.ToSingle(vecLine[49]);
            member.Prd          = Convert.ToSingle(vecLine[50]);
            member.Mrd          = Convert.ToSingle(vecLine[51]);
            member.igBlo        = Convert.ToSingle(vecLine[52]);
            member.Blo          = Convert.ToSingle(vecLine[53]);
            member.igBrd        = Convert.ToSingle(vecLine[54]);
            member.Brd          = Convert.ToSingle(vecLine[55]);
            member.igVEr        = Convert.ToSingle(vecLine[56]);
            member.igSLr        = Convert.ToSingle(vecLine[57]);
            member.igCHr        = Convert.ToSingle(vecLine[58]);
            member.igABr        = Convert.ToSingle(vecLine[59]);
            member.igSIr        = Convert.ToSingle(vecLine[60]);
            member.igGRr        = Convert.ToSingle(vecLine[61]);
            member.igPEr        = Convert.ToSingle(vecLine[62]);
            member.VEr          = Convert.ToSingle(vecLine[63]);
            member.SLr          = Convert.ToSingle(vecLine[64]);
            member.CHr          = Convert.ToSingle(vecLine[65]);
            member.ABr          = Convert.ToSingle(vecLine[66]);
            member.SIr          = Convert.ToSingle(vecLine[67]);
            member.GRr          = Convert.ToSingle(vecLine[68]);
            member.PEr          = Convert.ToSingle(vecLine[69]);
            member.igFr         = Convert.ToSingle(vecLine[70]);
            member.igEr         = Convert.ToSingle(vecLine[71]);
            member.igWr         = Convert.ToSingle(vecLine[72]);
            member.igCr         = Convert.ToSingle(vecLine[73]);
            member.igPr         = Convert.ToSingle(vecLine[74]);
            member.igLr         = Convert.ToSingle(vecLine[75]);
            member.igDr         = Convert.ToSingle(vecLine[76]);
            member.Fr           = Convert.ToSingle(vecLine[77]);
            member.Er           = Convert.ToSingle(vecLine[78]);
            member.Wr           = Convert.ToSingle(vecLine[79]);
            member.Cr           = Convert.ToSingle(vecLine[80]);
            member.Pr           = Convert.ToSingle(vecLine[81]);
            member.Lr           = Convert.ToSingle(vecLine[82]);
            member.Dr           = Convert.ToSingle(vecLine[83]);

            member.IsValidate = true;
            m_vecAllElements.Add(member);
            m_mapElements[member.MonsterID] = member;
        }
        return(true);
    }
示例#10
0
    public bool LoadBin(byte[] binContent)
    {
        m_mapElements.Clear();
        m_vecAllElements.Clear();
        int nCol, nRow;
        int readPos = 0;

        readPos += GameAssist.ReadInt32Variant(binContent, readPos, out nCol);
        readPos += GameAssist.ReadInt32Variant(binContent, readPos, out nRow);
        List <string> vecLine     = new List <string>(nCol);
        List <int>    vecHeadType = new List <int>(nCol);
        string        tmpStr;
        int           tmpInt;

        for (int i = 0; i < nCol; i++)
        {
            readPos += GameAssist.ReadString(binContent, readPos, out tmpStr);
            readPos += GameAssist.ReadInt32Variant(binContent, readPos, out tmpInt);
            vecLine.Add(tmpStr);
            vecHeadType.Add(tmpInt);
        }
        if (vecLine.Count != 84)
        {
            Ex.Logger.Log("Monster.csv中列数量与生成的代码不匹配!");
            return(false);
        }
        if (vecLine[0] != "MonsterID")
        {
            Ex.Logger.Log("Monster.csv中字段[MonsterID]位置不对应"); return(false);
        }
        if (vecLine[1] != "ModelID")
        {
            Ex.Logger.Log("Monster.csv中字段[ModelID]位置不对应"); return(false);
        }
        if (vecLine[2] != "ModelScaling")
        {
            Ex.Logger.Log("Monster.csv中字段[ModelScaling]位置不对应"); return(false);
        }
        if (vecLine[3] != "AttType")
        {
            Ex.Logger.Log("Monster.csv中字段[AttType]位置不对应"); return(false);
        }
        if (vecLine[4] != "Name")
        {
            Ex.Logger.Log("Monster.csv中字段[Name]位置不对应"); return(false);
        }
        if (vecLine[5] != "HeadIcon")
        {
            Ex.Logger.Log("Monster.csv中字段[HeadIcon]位置不对应"); return(false);
        }
        if (vecLine[6] != "Title")
        {
            Ex.Logger.Log("Monster.csv中字段[Title]位置不对应"); return(false);
        }
        if (vecLine[7] != "Level")
        {
            Ex.Logger.Log("Monster.csv中字段[Level]位置不对应"); return(false);
        }
        if (vecLine[8] != "Group")
        {
            Ex.Logger.Log("Monster.csv中字段[Group]位置不对应"); return(false);
        }
        if (vecLine[9] != "Type")
        {
            Ex.Logger.Log("Monster.csv中字段[Type]位置不对应"); return(false);
        }
        if (vecLine[10] != "BaseAI")
        {
            Ex.Logger.Log("Monster.csv中字段[BaseAI]位置不对应"); return(false);
        }
        if (vecLine[11] != "MonsterR")
        {
            Ex.Logger.Log("Monster.csv中字段[MonsterR]位置不对应"); return(false);
        }
        if (vecLine[12] != "PingPong")
        {
            Ex.Logger.Log("Monster.csv中字段[PingPong]位置不对应"); return(false);
        }
        if (vecLine[13] != "MonsterExp")
        {
            Ex.Logger.Log("Monster.csv中字段[MonsterExp]位置不对应"); return(false);
        }
        if (vecLine[14] != "DropID")
        {
            Ex.Logger.Log("Monster.csv中字段[DropID]位置不对应"); return(false);
        }
        if (vecLine[15] != "Skill1")
        {
            Ex.Logger.Log("Monster.csv中字段[Skill1]位置不对应"); return(false);
        }
        if (vecLine[16] != "Skill2")
        {
            Ex.Logger.Log("Monster.csv中字段[Skill2]位置不对应"); return(false);
        }
        if (vecLine[17] != "Skill3")
        {
            Ex.Logger.Log("Monster.csv中字段[Skill3]位置不对应"); return(false);
        }
        if (vecLine[18] != "Skill4")
        {
            Ex.Logger.Log("Monster.csv中字段[Skill4]位置不对应"); return(false);
        }
        if (vecLine[19] != "Skill5")
        {
            Ex.Logger.Log("Monster.csv中字段[Skill5]位置不对应"); return(false);
        }
        if (vecLine[20] != "Skill6")
        {
            Ex.Logger.Log("Monster.csv中字段[Skill6]位置不对应"); return(false);
        }
        if (vecLine[21] != "Skill7")
        {
            Ex.Logger.Log("Monster.csv中字段[Skill7]位置不对应"); return(false);
        }
        if (vecLine[22] != "Skill8")
        {
            Ex.Logger.Log("Monster.csv中字段[Skill8]位置不对应"); return(false);
        }
        if (vecLine[23] != "Skill9")
        {
            Ex.Logger.Log("Monster.csv中字段[Skill9]位置不对应"); return(false);
        }
        if (vecLine[24] != "Skill")
        {
            Ex.Logger.Log("Monster.csv中字段[Skill]位置不对应"); return(false);
        }
        if (vecLine[25] != "movSP")
        {
            Ex.Logger.Log("Monster.csv中字段[movSP]位置不对应"); return(false);
        }
        if (vecLine[26] != "attSP")
        {
            Ex.Logger.Log("Monster.csv中字段[attSP]位置不对应"); return(false);
        }
        if (vecLine[27] != "AllowMove")
        {
            Ex.Logger.Log("Monster.csv中字段[AllowMove]位置不对应"); return(false);
        }
        if (vecLine[28] != "HP")
        {
            Ex.Logger.Log("Monster.csv中字段[HP]位置不对应"); return(false);
        }
        if (vecLine[29] != "reHP")
        {
            Ex.Logger.Log("Monster.csv中字段[reHP]位置不对应"); return(false);
        }
        if (vecLine[30] != "MP")
        {
            Ex.Logger.Log("Monster.csv中字段[MP]位置不对应"); return(false);
        }
        if (vecLine[31] != "reMP")
        {
            Ex.Logger.Log("Monster.csv中字段[reMP]位置不对应"); return(false);
        }
        if (vecLine[32] != "minPA")
        {
            Ex.Logger.Log("Monster.csv中字段[minPA]位置不对应"); return(false);
        }
        if (vecLine[33] != "maxPA")
        {
            Ex.Logger.Log("Monster.csv中字段[maxPA]位置不对应"); return(false);
        }
        if (vecLine[34] != "minMA")
        {
            Ex.Logger.Log("Monster.csv中字段[minMA]位置不对应"); return(false);
        }
        if (vecLine[35] != "maxMA")
        {
            Ex.Logger.Log("Monster.csv中字段[maxMA]位置不对应"); return(false);
        }
        if (vecLine[36] != "PD")
        {
            Ex.Logger.Log("Monster.csv中字段[PD]位置不对应"); return(false);
        }
        if (vecLine[37] != "MD")
        {
            Ex.Logger.Log("Monster.csv中字段[MD]位置不对应"); return(false);
        }
        if (vecLine[38] != "igPhi")
        {
            Ex.Logger.Log("Monster.csv中字段[igPhi]位置不对应"); return(false);
        }
        if (vecLine[39] != "igMdo")
        {
            Ex.Logger.Log("Monster.csv中字段[igMdo]位置不对应"); return(false);
        }
        if (vecLine[40] != "Pdo")
        {
            Ex.Logger.Log("Monster.csv中字段[Pdo]位置不对应"); return(false);
        }
        if (vecLine[41] != "Mdo")
        {
            Ex.Logger.Log("Monster.csv中字段[Mdo]位置不对应"); return(false);
        }
        if (vecLine[42] != "HitRate")
        {
            Ex.Logger.Log("Monster.csv中字段[HitRate]位置不对应"); return(false);
        }
        if (vecLine[43] != "CritRate")
        {
            Ex.Logger.Log("Monster.csv中字段[CritRate]位置不对应"); return(false);
        }
        if (vecLine[44] != "igPcr")
        {
            Ex.Logger.Log("Monster.csv中字段[igPcr]位置不对应"); return(false);
        }
        if (vecLine[45] != "igMcr")
        {
            Ex.Logger.Log("Monster.csv中字段[igMcr]位置不对应"); return(false);
        }
        if (vecLine[46] != "Pcr")
        {
            Ex.Logger.Log("Monster.csv中字段[Pcr]位置不对应"); return(false);
        }
        if (vecLine[47] != "Mcr")
        {
            Ex.Logger.Log("Monster.csv中字段[Mcr]位置不对应"); return(false);
        }
        if (vecLine[48] != "igPrd")
        {
            Ex.Logger.Log("Monster.csv中字段[igPrd]位置不对应"); return(false);
        }
        if (vecLine[49] != "igMrd")
        {
            Ex.Logger.Log("Monster.csv中字段[igMrd]位置不对应"); return(false);
        }
        if (vecLine[50] != "Prd")
        {
            Ex.Logger.Log("Monster.csv中字段[Prd]位置不对应"); return(false);
        }
        if (vecLine[51] != "Mrd")
        {
            Ex.Logger.Log("Monster.csv中字段[Mrd]位置不对应"); return(false);
        }
        if (vecLine[52] != "igBlo")
        {
            Ex.Logger.Log("Monster.csv中字段[igBlo]位置不对应"); return(false);
        }
        if (vecLine[53] != "Blo")
        {
            Ex.Logger.Log("Monster.csv中字段[Blo]位置不对应"); return(false);
        }
        if (vecLine[54] != "igBrd")
        {
            Ex.Logger.Log("Monster.csv中字段[igBrd]位置不对应"); return(false);
        }
        if (vecLine[55] != "Brd")
        {
            Ex.Logger.Log("Monster.csv中字段[Brd]位置不对应"); return(false);
        }
        if (vecLine[56] != "igVEr")
        {
            Ex.Logger.Log("Monster.csv中字段[igVEr]位置不对应"); return(false);
        }
        if (vecLine[57] != "igSLr")
        {
            Ex.Logger.Log("Monster.csv中字段[igSLr]位置不对应"); return(false);
        }
        if (vecLine[58] != "igCHr")
        {
            Ex.Logger.Log("Monster.csv中字段[igCHr]位置不对应"); return(false);
        }
        if (vecLine[59] != "igABr")
        {
            Ex.Logger.Log("Monster.csv中字段[igABr]位置不对应"); return(false);
        }
        if (vecLine[60] != "igSIr")
        {
            Ex.Logger.Log("Monster.csv中字段[igSIr]位置不对应"); return(false);
        }
        if (vecLine[61] != "igGRr")
        {
            Ex.Logger.Log("Monster.csv中字段[igGRr]位置不对应"); return(false);
        }
        if (vecLine[62] != "igPEr")
        {
            Ex.Logger.Log("Monster.csv中字段[igPEr]位置不对应"); return(false);
        }
        if (vecLine[63] != "VEr")
        {
            Ex.Logger.Log("Monster.csv中字段[VEr]位置不对应"); return(false);
        }
        if (vecLine[64] != "SLr")
        {
            Ex.Logger.Log("Monster.csv中字段[SLr]位置不对应"); return(false);
        }
        if (vecLine[65] != "CHr")
        {
            Ex.Logger.Log("Monster.csv中字段[CHr]位置不对应"); return(false);
        }
        if (vecLine[66] != "ABr")
        {
            Ex.Logger.Log("Monster.csv中字段[ABr]位置不对应"); return(false);
        }
        if (vecLine[67] != "SIr")
        {
            Ex.Logger.Log("Monster.csv中字段[SIr]位置不对应"); return(false);
        }
        if (vecLine[68] != "GRr")
        {
            Ex.Logger.Log("Monster.csv中字段[GRr]位置不对应"); return(false);
        }
        if (vecLine[69] != "PEr")
        {
            Ex.Logger.Log("Monster.csv中字段[PEr]位置不对应"); return(false);
        }
        if (vecLine[70] != "igFr")
        {
            Ex.Logger.Log("Monster.csv中字段[igFr]位置不对应"); return(false);
        }
        if (vecLine[71] != "igEr")
        {
            Ex.Logger.Log("Monster.csv中字段[igEr]位置不对应"); return(false);
        }
        if (vecLine[72] != "igWr")
        {
            Ex.Logger.Log("Monster.csv中字段[igWr]位置不对应"); return(false);
        }
        if (vecLine[73] != "igCr")
        {
            Ex.Logger.Log("Monster.csv中字段[igCr]位置不对应"); return(false);
        }
        if (vecLine[74] != "igPr")
        {
            Ex.Logger.Log("Monster.csv中字段[igPr]位置不对应"); return(false);
        }
        if (vecLine[75] != "igLr")
        {
            Ex.Logger.Log("Monster.csv中字段[igLr]位置不对应"); return(false);
        }
        if (vecLine[76] != "igDr")
        {
            Ex.Logger.Log("Monster.csv中字段[igDr]位置不对应"); return(false);
        }
        if (vecLine[77] != "Fr")
        {
            Ex.Logger.Log("Monster.csv中字段[Fr]位置不对应"); return(false);
        }
        if (vecLine[78] != "Er")
        {
            Ex.Logger.Log("Monster.csv中字段[Er]位置不对应"); return(false);
        }
        if (vecLine[79] != "Wr")
        {
            Ex.Logger.Log("Monster.csv中字段[Wr]位置不对应"); return(false);
        }
        if (vecLine[80] != "Cr")
        {
            Ex.Logger.Log("Monster.csv中字段[Cr]位置不对应"); return(false);
        }
        if (vecLine[81] != "Pr")
        {
            Ex.Logger.Log("Monster.csv中字段[Pr]位置不对应"); return(false);
        }
        if (vecLine[82] != "Lr")
        {
            Ex.Logger.Log("Monster.csv中字段[Lr]位置不对应"); return(false);
        }
        if (vecLine[83] != "Dr")
        {
            Ex.Logger.Log("Monster.csv中字段[Dr]位置不对应"); return(false);
        }

        for (int i = 0; i < nRow; i++)
        {
            MonsterElement member = new MonsterElement();
            readPos += GameAssist.ReadInt32Variant(binContent, readPos, out member.MonsterID);
            readPos += GameAssist.ReadInt32Variant(binContent, readPos, out member.ModelID);
            readPos += GameAssist.ReadFloat(binContent, readPos, out member.ModelScaling);
            readPos += GameAssist.ReadInt32Variant(binContent, readPos, out member.AttType);
            readPos += GameAssist.ReadString(binContent, readPos, out member.Name);
            readPos += GameAssist.ReadString(binContent, readPos, out member.HeadIcon);
            readPos += GameAssist.ReadString(binContent, readPos, out member.Title);
            readPos += GameAssist.ReadInt32Variant(binContent, readPos, out member.Level);
            readPos += GameAssist.ReadInt32Variant(binContent, readPos, out member.Group);
            readPos += GameAssist.ReadInt32Variant(binContent, readPos, out member.Type);
            readPos += GameAssist.ReadInt32Variant(binContent, readPos, out member.BaseAI);
            readPos += GameAssist.ReadFloat(binContent, readPos, out member.MonsterR);
            readPos += GameAssist.ReadInt32Variant(binContent, readPos, out member.PingPong);
            readPos += GameAssist.ReadInt32Variant(binContent, readPos, out member.MonsterExp);
            readPos += GameAssist.ReadInt32Variant(binContent, readPos, out member.DropID);
            readPos += GameAssist.ReadInt32Variant(binContent, readPos, out member.Skill1);
            readPos += GameAssist.ReadInt32Variant(binContent, readPos, out member.Skill2);
            readPos += GameAssist.ReadInt32Variant(binContent, readPos, out member.Skill3);
            readPos += GameAssist.ReadInt32Variant(binContent, readPos, out member.Skill4);
            readPos += GameAssist.ReadInt32Variant(binContent, readPos, out member.Skill5);
            readPos += GameAssist.ReadInt32Variant(binContent, readPos, out member.Skill6);
            readPos += GameAssist.ReadInt32Variant(binContent, readPos, out member.Skill7);
            readPos += GameAssist.ReadInt32Variant(binContent, readPos, out member.Skill8);
            readPos += GameAssist.ReadInt32Variant(binContent, readPos, out member.Skill9);
            readPos += GameAssist.ReadString(binContent, readPos, out member.Skill);
            readPos += GameAssist.ReadFloat(binContent, readPos, out member.movSP);
            readPos += GameAssist.ReadFloat(binContent, readPos, out member.attSP);
            readPos += GameAssist.ReadInt32Variant(binContent, readPos, out member.AllowMove);
            readPos += GameAssist.ReadInt32Variant(binContent, readPos, out member.HP);
            readPos += GameAssist.ReadInt32Variant(binContent, readPos, out member.reHP);
            readPos += GameAssist.ReadInt32Variant(binContent, readPos, out member.MP);
            readPos += GameAssist.ReadInt32Variant(binContent, readPos, out member.reMP);
            readPos += GameAssist.ReadInt32Variant(binContent, readPos, out member.minPA);
            readPos += GameAssist.ReadInt32Variant(binContent, readPos, out member.maxPA);
            readPos += GameAssist.ReadInt32Variant(binContent, readPos, out member.minMA);
            readPos += GameAssist.ReadInt32Variant(binContent, readPos, out member.maxMA);
            readPos += GameAssist.ReadInt32Variant(binContent, readPos, out member.PD);
            readPos += GameAssist.ReadInt32Variant(binContent, readPos, out member.MD);
            readPos += GameAssist.ReadInt32Variant(binContent, readPos, out member.igPhi);
            readPos += GameAssist.ReadInt32Variant(binContent, readPos, out member.igMdo);
            readPos += GameAssist.ReadInt32Variant(binContent, readPos, out member.Pdo);
            readPos += GameAssist.ReadInt32Variant(binContent, readPos, out member.Mdo);
            readPos += GameAssist.ReadFloat(binContent, readPos, out member.HitRate);
            readPos += GameAssist.ReadFloat(binContent, readPos, out member.CritRate);
            readPos += GameAssist.ReadFloat(binContent, readPos, out member.igPcr);
            readPos += GameAssist.ReadFloat(binContent, readPos, out member.igMcr);
            readPos += GameAssist.ReadFloat(binContent, readPos, out member.Pcr);
            readPos += GameAssist.ReadFloat(binContent, readPos, out member.Mcr);
            readPos += GameAssist.ReadFloat(binContent, readPos, out member.igPrd);
            readPos += GameAssist.ReadFloat(binContent, readPos, out member.igMrd);
            readPos += GameAssist.ReadFloat(binContent, readPos, out member.Prd);
            readPos += GameAssist.ReadFloat(binContent, readPos, out member.Mrd);
            readPos += GameAssist.ReadFloat(binContent, readPos, out member.igBlo);
            readPos += GameAssist.ReadFloat(binContent, readPos, out member.Blo);
            readPos += GameAssist.ReadFloat(binContent, readPos, out member.igBrd);
            readPos += GameAssist.ReadFloat(binContent, readPos, out member.Brd);
            readPos += GameAssist.ReadFloat(binContent, readPos, out member.igVEr);
            readPos += GameAssist.ReadFloat(binContent, readPos, out member.igSLr);
            readPos += GameAssist.ReadFloat(binContent, readPos, out member.igCHr);
            readPos += GameAssist.ReadFloat(binContent, readPos, out member.igABr);
            readPos += GameAssist.ReadFloat(binContent, readPos, out member.igSIr);
            readPos += GameAssist.ReadFloat(binContent, readPos, out member.igGRr);
            readPos += GameAssist.ReadFloat(binContent, readPos, out member.igPEr);
            readPos += GameAssist.ReadFloat(binContent, readPos, out member.VEr);
            readPos += GameAssist.ReadFloat(binContent, readPos, out member.SLr);
            readPos += GameAssist.ReadFloat(binContent, readPos, out member.CHr);
            readPos += GameAssist.ReadFloat(binContent, readPos, out member.ABr);
            readPos += GameAssist.ReadFloat(binContent, readPos, out member.SIr);
            readPos += GameAssist.ReadFloat(binContent, readPos, out member.GRr);
            readPos += GameAssist.ReadFloat(binContent, readPos, out member.PEr);
            readPos += GameAssist.ReadFloat(binContent, readPos, out member.igFr);
            readPos += GameAssist.ReadFloat(binContent, readPos, out member.igEr);
            readPos += GameAssist.ReadFloat(binContent, readPos, out member.igWr);
            readPos += GameAssist.ReadFloat(binContent, readPos, out member.igCr);
            readPos += GameAssist.ReadFloat(binContent, readPos, out member.igPr);
            readPos += GameAssist.ReadFloat(binContent, readPos, out member.igLr);
            readPos += GameAssist.ReadFloat(binContent, readPos, out member.igDr);
            readPos += GameAssist.ReadFloat(binContent, readPos, out member.Fr);
            readPos += GameAssist.ReadFloat(binContent, readPos, out member.Er);
            readPos += GameAssist.ReadFloat(binContent, readPos, out member.Wr);
            readPos += GameAssist.ReadFloat(binContent, readPos, out member.Cr);
            readPos += GameAssist.ReadFloat(binContent, readPos, out member.Pr);
            readPos += GameAssist.ReadFloat(binContent, readPos, out member.Lr);
            readPos += GameAssist.ReadFloat(binContent, readPos, out member.Dr);

            member.IsValidate = true;
            m_vecAllElements.Add(member);
            m_mapElements[member.MonsterID] = member;
        }
        return(true);
    }