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 != 60) { Ex.Logger.Log("LVAttr.csv中列数量与生成的代码不匹配!"); return(false); } if (vecLine[0] != "LV") { Ex.Logger.Log("LVAttr.csv中字段[LV]位置不对应"); return(false); } if (vecLine[1] != "STA") { Ex.Logger.Log("LVAttr.csv中字段[STA]位置不对应"); return(false); } if (vecLine[2] != "SPI") { Ex.Logger.Log("LVAttr.csv中字段[SPI]位置不对应"); return(false); } if (vecLine[3] != "STR") { Ex.Logger.Log("LVAttr.csv中字段[STR]位置不对应"); return(false); } if (vecLine[4] != "INT") { Ex.Logger.Log("LVAttr.csv中字段[INT]位置不对应"); return(false); } if (vecLine[5] != "AGI") { Ex.Logger.Log("LVAttr.csv中字段[AGI]位置不对应"); return(false); } if (vecLine[6] != "HP") { Ex.Logger.Log("LVAttr.csv中字段[HP]位置不对应"); return(false); } if (vecLine[7] != "reHP") { Ex.Logger.Log("LVAttr.csv中字段[reHP]位置不对应"); return(false); } if (vecLine[8] != "MP") { Ex.Logger.Log("LVAttr.csv中字段[MP]位置不对应"); return(false); } if (vecLine[9] != "reMP") { Ex.Logger.Log("LVAttr.csv中字段[reMP]位置不对应"); return(false); } if (vecLine[10] != "minPA") { Ex.Logger.Log("LVAttr.csv中字段[minPA]位置不对应"); return(false); } if (vecLine[11] != "maxPA") { Ex.Logger.Log("LVAttr.csv中字段[maxPA]位置不对应"); return(false); } if (vecLine[12] != "minMA") { Ex.Logger.Log("LVAttr.csv中字段[minMA]位置不对应"); return(false); } if (vecLine[13] != "maxMA") { Ex.Logger.Log("LVAttr.csv中字段[maxMA]位置不对应"); return(false); } if (vecLine[14] != "PD") { Ex.Logger.Log("LVAttr.csv中字段[PD]位置不对应"); return(false); } if (vecLine[15] != "MD") { Ex.Logger.Log("LVAttr.csv中字段[MD]位置不对应"); return(false); } if (vecLine[16] != "igPhi") { Ex.Logger.Log("LVAttr.csv中字段[igPhi]位置不对应"); return(false); } if (vecLine[17] != "igMdo") { Ex.Logger.Log("LVAttr.csv中字段[igMdo]位置不对应"); return(false); } if (vecLine[18] != "Pdo") { Ex.Logger.Log("LVAttr.csv中字段[Pdo]位置不对应"); return(false); } if (vecLine[19] != "Mdo") { Ex.Logger.Log("LVAttr.csv中字段[Mdo]位置不对应"); return(false); } if (vecLine[20] != "igPcr") { Ex.Logger.Log("LVAttr.csv中字段[igPcr]位置不对应"); return(false); } if (vecLine[21] != "igMcr") { Ex.Logger.Log("LVAttr.csv中字段[igMcr]位置不对应"); return(false); } if (vecLine[22] != "Pcr") { Ex.Logger.Log("LVAttr.csv中字段[Pcr]位置不对应"); return(false); } if (vecLine[23] != "Mcr") { Ex.Logger.Log("LVAttr.csv中字段[Mcr]位置不对应"); return(false); } if (vecLine[24] != "igPrd") { Ex.Logger.Log("LVAttr.csv中字段[igPrd]位置不对应"); return(false); } if (vecLine[25] != "igMrd") { Ex.Logger.Log("LVAttr.csv中字段[igMrd]位置不对应"); return(false); } if (vecLine[26] != "Prd") { Ex.Logger.Log("LVAttr.csv中字段[Prd]位置不对应"); return(false); } if (vecLine[27] != "Mrd") { Ex.Logger.Log("LVAttr.csv中字段[Mrd]位置不对应"); return(false); } if (vecLine[28] != "igBlo") { Ex.Logger.Log("LVAttr.csv中字段[igBlo]位置不对应"); return(false); } if (vecLine[29] != "Blo") { Ex.Logger.Log("LVAttr.csv中字段[Blo]位置不对应"); return(false); } if (vecLine[30] != "igBrd") { Ex.Logger.Log("LVAttr.csv中字段[igBrd]位置不对应"); return(false); } if (vecLine[31] != "Brd") { Ex.Logger.Log("LVAttr.csv中字段[Brd]位置不对应"); return(false); } if (vecLine[32] != "igVEr") { Ex.Logger.Log("LVAttr.csv中字段[igVEr]位置不对应"); return(false); } if (vecLine[33] != "igSLr") { Ex.Logger.Log("LVAttr.csv中字段[igSLr]位置不对应"); return(false); } if (vecLine[34] != "igCHr") { Ex.Logger.Log("LVAttr.csv中字段[igCHr]位置不对应"); return(false); } if (vecLine[35] != "igABr") { Ex.Logger.Log("LVAttr.csv中字段[igABr]位置不对应"); return(false); } if (vecLine[36] != "igSIr") { Ex.Logger.Log("LVAttr.csv中字段[igSIr]位置不对应"); return(false); } if (vecLine[37] != "igGRr") { Ex.Logger.Log("LVAttr.csv中字段[igGRr]位置不对应"); return(false); } if (vecLine[38] != "igPEr") { Ex.Logger.Log("LVAttr.csv中字段[igPEr]位置不对应"); return(false); } if (vecLine[39] != "VEr") { Ex.Logger.Log("LVAttr.csv中字段[VEr]位置不对应"); return(false); } if (vecLine[40] != "SLr") { Ex.Logger.Log("LVAttr.csv中字段[SLr]位置不对应"); return(false); } if (vecLine[41] != "CHr") { Ex.Logger.Log("LVAttr.csv中字段[CHr]位置不对应"); return(false); } if (vecLine[42] != "ABr") { Ex.Logger.Log("LVAttr.csv中字段[ABr]位置不对应"); return(false); } if (vecLine[43] != "SIr") { Ex.Logger.Log("LVAttr.csv中字段[SIr]位置不对应"); return(false); } if (vecLine[44] != "GRr") { Ex.Logger.Log("LVAttr.csv中字段[GRr]位置不对应"); return(false); } if (vecLine[45] != "PEr") { Ex.Logger.Log("LVAttr.csv中字段[PEr]位置不对应"); return(false); } if (vecLine[46] != "igFr") { Ex.Logger.Log("LVAttr.csv中字段[igFr]位置不对应"); return(false); } if (vecLine[47] != "igEr") { Ex.Logger.Log("LVAttr.csv中字段[igEr]位置不对应"); return(false); } if (vecLine[48] != "igWr") { Ex.Logger.Log("LVAttr.csv中字段[igWr]位置不对应"); return(false); } if (vecLine[49] != "igCr") { Ex.Logger.Log("LVAttr.csv中字段[igCr]位置不对应"); return(false); } if (vecLine[50] != "igPr") { Ex.Logger.Log("LVAttr.csv中字段[igPr]位置不对应"); return(false); } if (vecLine[51] != "igLr") { Ex.Logger.Log("LVAttr.csv中字段[igLr]位置不对应"); return(false); } if (vecLine[52] != "igDr") { Ex.Logger.Log("LVAttr.csv中字段[igDr]位置不对应"); return(false); } if (vecLine[53] != "Fr") { Ex.Logger.Log("LVAttr.csv中字段[Fr]位置不对应"); return(false); } if (vecLine[54] != "Er") { Ex.Logger.Log("LVAttr.csv中字段[Er]位置不对应"); return(false); } if (vecLine[55] != "Wr") { Ex.Logger.Log("LVAttr.csv中字段[Wr]位置不对应"); return(false); } if (vecLine[56] != "Cr") { Ex.Logger.Log("LVAttr.csv中字段[Cr]位置不对应"); return(false); } if (vecLine[57] != "Pr") { Ex.Logger.Log("LVAttr.csv中字段[Pr]位置不对应"); return(false); } if (vecLine[58] != "Lr") { Ex.Logger.Log("LVAttr.csv中字段[Lr]位置不对应"); return(false); } if (vecLine[59] != "Dr") { Ex.Logger.Log("LVAttr.csv中字段[Dr]位置不对应"); return(false); } while (true) { vecLine = GameAssist.readCsvLine(strContent, ref contentOffset); if ((int)vecLine.Count == 0) { break; } if ((int)vecLine.Count != (int)60) { return(false); } LVAttrElement member = new LVAttrElement(); member.LV = Convert.ToInt32(vecLine[0]); member.STA = vecLine[1]; member.SPI = vecLine[2]; member.STR = vecLine[3]; member.INT = vecLine[4]; member.AGI = vecLine[5]; member.HP = vecLine[6]; member.reHP = vecLine[7]; member.MP = vecLine[8]; member.reMP = vecLine[9]; member.minPA = vecLine[10]; member.maxPA = vecLine[11]; member.minMA = vecLine[12]; member.maxMA = vecLine[13]; member.PD = vecLine[14]; member.MD = vecLine[15]; member.igPhi = vecLine[16]; member.igMdo = vecLine[17]; member.Pdo = vecLine[18]; member.Mdo = vecLine[19]; member.igPcr = vecLine[20]; member.igMcr = vecLine[21]; member.Pcr = vecLine[22]; member.Mcr = vecLine[23]; member.igPrd = vecLine[24]; member.igMrd = vecLine[25]; member.Prd = vecLine[26]; member.Mrd = vecLine[27]; member.igBlo = vecLine[28]; member.Blo = vecLine[29]; member.igBrd = vecLine[30]; member.Brd = vecLine[31]; member.igVEr = vecLine[32]; member.igSLr = vecLine[33]; member.igCHr = vecLine[34]; member.igABr = vecLine[35]; member.igSIr = vecLine[36]; member.igGRr = vecLine[37]; member.igPEr = vecLine[38]; member.VEr = vecLine[39]; member.SLr = vecLine[40]; member.CHr = vecLine[41]; member.ABr = vecLine[42]; member.SIr = vecLine[43]; member.GRr = vecLine[44]; member.PEr = vecLine[45]; member.igFr = vecLine[46]; member.igEr = vecLine[47]; member.igWr = vecLine[48]; member.igCr = vecLine[49]; member.igPr = vecLine[50]; member.igLr = vecLine[51]; member.igDr = vecLine[52]; member.Fr = vecLine[53]; member.Er = vecLine[54]; member.Wr = vecLine[55]; member.Cr = vecLine[56]; member.Pr = vecLine[57]; member.Lr = vecLine[58]; member.Dr = vecLine[59]; member.IsValidate = true; m_vecAllElements.Add(member); m_mapElements[member.LV] = member; } return(true); }
private LVAttrTable() { m_mapElements = new Dictionary <int, LVAttrElement>(); m_emptyItem = new LVAttrElement(); m_vecAllElements = new List <LVAttrElement>(); }
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 != 60) { Ex.Logger.Log("LVAttr.csv中列数量与生成的代码不匹配!"); return(false); } if (vecLine[0] != "LV") { Ex.Logger.Log("LVAttr.csv中字段[LV]位置不对应"); return(false); } if (vecLine[1] != "STA") { Ex.Logger.Log("LVAttr.csv中字段[STA]位置不对应"); return(false); } if (vecLine[2] != "SPI") { Ex.Logger.Log("LVAttr.csv中字段[SPI]位置不对应"); return(false); } if (vecLine[3] != "STR") { Ex.Logger.Log("LVAttr.csv中字段[STR]位置不对应"); return(false); } if (vecLine[4] != "INT") { Ex.Logger.Log("LVAttr.csv中字段[INT]位置不对应"); return(false); } if (vecLine[5] != "AGI") { Ex.Logger.Log("LVAttr.csv中字段[AGI]位置不对应"); return(false); } if (vecLine[6] != "HP") { Ex.Logger.Log("LVAttr.csv中字段[HP]位置不对应"); return(false); } if (vecLine[7] != "reHP") { Ex.Logger.Log("LVAttr.csv中字段[reHP]位置不对应"); return(false); } if (vecLine[8] != "MP") { Ex.Logger.Log("LVAttr.csv中字段[MP]位置不对应"); return(false); } if (vecLine[9] != "reMP") { Ex.Logger.Log("LVAttr.csv中字段[reMP]位置不对应"); return(false); } if (vecLine[10] != "minPA") { Ex.Logger.Log("LVAttr.csv中字段[minPA]位置不对应"); return(false); } if (vecLine[11] != "maxPA") { Ex.Logger.Log("LVAttr.csv中字段[maxPA]位置不对应"); return(false); } if (vecLine[12] != "minMA") { Ex.Logger.Log("LVAttr.csv中字段[minMA]位置不对应"); return(false); } if (vecLine[13] != "maxMA") { Ex.Logger.Log("LVAttr.csv中字段[maxMA]位置不对应"); return(false); } if (vecLine[14] != "PD") { Ex.Logger.Log("LVAttr.csv中字段[PD]位置不对应"); return(false); } if (vecLine[15] != "MD") { Ex.Logger.Log("LVAttr.csv中字段[MD]位置不对应"); return(false); } if (vecLine[16] != "igPhi") { Ex.Logger.Log("LVAttr.csv中字段[igPhi]位置不对应"); return(false); } if (vecLine[17] != "igMdo") { Ex.Logger.Log("LVAttr.csv中字段[igMdo]位置不对应"); return(false); } if (vecLine[18] != "Pdo") { Ex.Logger.Log("LVAttr.csv中字段[Pdo]位置不对应"); return(false); } if (vecLine[19] != "Mdo") { Ex.Logger.Log("LVAttr.csv中字段[Mdo]位置不对应"); return(false); } if (vecLine[20] != "igPcr") { Ex.Logger.Log("LVAttr.csv中字段[igPcr]位置不对应"); return(false); } if (vecLine[21] != "igMcr") { Ex.Logger.Log("LVAttr.csv中字段[igMcr]位置不对应"); return(false); } if (vecLine[22] != "Pcr") { Ex.Logger.Log("LVAttr.csv中字段[Pcr]位置不对应"); return(false); } if (vecLine[23] != "Mcr") { Ex.Logger.Log("LVAttr.csv中字段[Mcr]位置不对应"); return(false); } if (vecLine[24] != "igPrd") { Ex.Logger.Log("LVAttr.csv中字段[igPrd]位置不对应"); return(false); } if (vecLine[25] != "igMrd") { Ex.Logger.Log("LVAttr.csv中字段[igMrd]位置不对应"); return(false); } if (vecLine[26] != "Prd") { Ex.Logger.Log("LVAttr.csv中字段[Prd]位置不对应"); return(false); } if (vecLine[27] != "Mrd") { Ex.Logger.Log("LVAttr.csv中字段[Mrd]位置不对应"); return(false); } if (vecLine[28] != "igBlo") { Ex.Logger.Log("LVAttr.csv中字段[igBlo]位置不对应"); return(false); } if (vecLine[29] != "Blo") { Ex.Logger.Log("LVAttr.csv中字段[Blo]位置不对应"); return(false); } if (vecLine[30] != "igBrd") { Ex.Logger.Log("LVAttr.csv中字段[igBrd]位置不对应"); return(false); } if (vecLine[31] != "Brd") { Ex.Logger.Log("LVAttr.csv中字段[Brd]位置不对应"); return(false); } if (vecLine[32] != "igVEr") { Ex.Logger.Log("LVAttr.csv中字段[igVEr]位置不对应"); return(false); } if (vecLine[33] != "igSLr") { Ex.Logger.Log("LVAttr.csv中字段[igSLr]位置不对应"); return(false); } if (vecLine[34] != "igCHr") { Ex.Logger.Log("LVAttr.csv中字段[igCHr]位置不对应"); return(false); } if (vecLine[35] != "igABr") { Ex.Logger.Log("LVAttr.csv中字段[igABr]位置不对应"); return(false); } if (vecLine[36] != "igSIr") { Ex.Logger.Log("LVAttr.csv中字段[igSIr]位置不对应"); return(false); } if (vecLine[37] != "igGRr") { Ex.Logger.Log("LVAttr.csv中字段[igGRr]位置不对应"); return(false); } if (vecLine[38] != "igPEr") { Ex.Logger.Log("LVAttr.csv中字段[igPEr]位置不对应"); return(false); } if (vecLine[39] != "VEr") { Ex.Logger.Log("LVAttr.csv中字段[VEr]位置不对应"); return(false); } if (vecLine[40] != "SLr") { Ex.Logger.Log("LVAttr.csv中字段[SLr]位置不对应"); return(false); } if (vecLine[41] != "CHr") { Ex.Logger.Log("LVAttr.csv中字段[CHr]位置不对应"); return(false); } if (vecLine[42] != "ABr") { Ex.Logger.Log("LVAttr.csv中字段[ABr]位置不对应"); return(false); } if (vecLine[43] != "SIr") { Ex.Logger.Log("LVAttr.csv中字段[SIr]位置不对应"); return(false); } if (vecLine[44] != "GRr") { Ex.Logger.Log("LVAttr.csv中字段[GRr]位置不对应"); return(false); } if (vecLine[45] != "PEr") { Ex.Logger.Log("LVAttr.csv中字段[PEr]位置不对应"); return(false); } if (vecLine[46] != "igFr") { Ex.Logger.Log("LVAttr.csv中字段[igFr]位置不对应"); return(false); } if (vecLine[47] != "igEr") { Ex.Logger.Log("LVAttr.csv中字段[igEr]位置不对应"); return(false); } if (vecLine[48] != "igWr") { Ex.Logger.Log("LVAttr.csv中字段[igWr]位置不对应"); return(false); } if (vecLine[49] != "igCr") { Ex.Logger.Log("LVAttr.csv中字段[igCr]位置不对应"); return(false); } if (vecLine[50] != "igPr") { Ex.Logger.Log("LVAttr.csv中字段[igPr]位置不对应"); return(false); } if (vecLine[51] != "igLr") { Ex.Logger.Log("LVAttr.csv中字段[igLr]位置不对应"); return(false); } if (vecLine[52] != "igDr") { Ex.Logger.Log("LVAttr.csv中字段[igDr]位置不对应"); return(false); } if (vecLine[53] != "Fr") { Ex.Logger.Log("LVAttr.csv中字段[Fr]位置不对应"); return(false); } if (vecLine[54] != "Er") { Ex.Logger.Log("LVAttr.csv中字段[Er]位置不对应"); return(false); } if (vecLine[55] != "Wr") { Ex.Logger.Log("LVAttr.csv中字段[Wr]位置不对应"); return(false); } if (vecLine[56] != "Cr") { Ex.Logger.Log("LVAttr.csv中字段[Cr]位置不对应"); return(false); } if (vecLine[57] != "Pr") { Ex.Logger.Log("LVAttr.csv中字段[Pr]位置不对应"); return(false); } if (vecLine[58] != "Lr") { Ex.Logger.Log("LVAttr.csv中字段[Lr]位置不对应"); return(false); } if (vecLine[59] != "Dr") { Ex.Logger.Log("LVAttr.csv中字段[Dr]位置不对应"); return(false); } for (int i = 0; i < nRow; i++) { LVAttrElement member = new LVAttrElement(); readPos += GameAssist.ReadInt32Variant(binContent, readPos, out member.LV); readPos += GameAssist.ReadString(binContent, readPos, out member.STA); readPos += GameAssist.ReadString(binContent, readPos, out member.SPI); readPos += GameAssist.ReadString(binContent, readPos, out member.STR); readPos += GameAssist.ReadString(binContent, readPos, out member.INT); readPos += GameAssist.ReadString(binContent, readPos, out member.AGI); readPos += GameAssist.ReadString(binContent, readPos, out member.HP); readPos += GameAssist.ReadString(binContent, readPos, out member.reHP); readPos += GameAssist.ReadString(binContent, readPos, out member.MP); readPos += GameAssist.ReadString(binContent, readPos, out member.reMP); readPos += GameAssist.ReadString(binContent, readPos, out member.minPA); readPos += GameAssist.ReadString(binContent, readPos, out member.maxPA); readPos += GameAssist.ReadString(binContent, readPos, out member.minMA); readPos += GameAssist.ReadString(binContent, readPos, out member.maxMA); readPos += GameAssist.ReadString(binContent, readPos, out member.PD); readPos += GameAssist.ReadString(binContent, readPos, out member.MD); readPos += GameAssist.ReadString(binContent, readPos, out member.igPhi); readPos += GameAssist.ReadString(binContent, readPos, out member.igMdo); readPos += GameAssist.ReadString(binContent, readPos, out member.Pdo); readPos += GameAssist.ReadString(binContent, readPos, out member.Mdo); readPos += GameAssist.ReadString(binContent, readPos, out member.igPcr); readPos += GameAssist.ReadString(binContent, readPos, out member.igMcr); readPos += GameAssist.ReadString(binContent, readPos, out member.Pcr); readPos += GameAssist.ReadString(binContent, readPos, out member.Mcr); readPos += GameAssist.ReadString(binContent, readPos, out member.igPrd); readPos += GameAssist.ReadString(binContent, readPos, out member.igMrd); readPos += GameAssist.ReadString(binContent, readPos, out member.Prd); readPos += GameAssist.ReadString(binContent, readPos, out member.Mrd); readPos += GameAssist.ReadString(binContent, readPos, out member.igBlo); readPos += GameAssist.ReadString(binContent, readPos, out member.Blo); readPos += GameAssist.ReadString(binContent, readPos, out member.igBrd); readPos += GameAssist.ReadString(binContent, readPos, out member.Brd); readPos += GameAssist.ReadString(binContent, readPos, out member.igVEr); readPos += GameAssist.ReadString(binContent, readPos, out member.igSLr); readPos += GameAssist.ReadString(binContent, readPos, out member.igCHr); readPos += GameAssist.ReadString(binContent, readPos, out member.igABr); readPos += GameAssist.ReadString(binContent, readPos, out member.igSIr); readPos += GameAssist.ReadString(binContent, readPos, out member.igGRr); readPos += GameAssist.ReadString(binContent, readPos, out member.igPEr); readPos += GameAssist.ReadString(binContent, readPos, out member.VEr); readPos += GameAssist.ReadString(binContent, readPos, out member.SLr); readPos += GameAssist.ReadString(binContent, readPos, out member.CHr); readPos += GameAssist.ReadString(binContent, readPos, out member.ABr); readPos += GameAssist.ReadString(binContent, readPos, out member.SIr); readPos += GameAssist.ReadString(binContent, readPos, out member.GRr); readPos += GameAssist.ReadString(binContent, readPos, out member.PEr); readPos += GameAssist.ReadString(binContent, readPos, out member.igFr); readPos += GameAssist.ReadString(binContent, readPos, out member.igEr); readPos += GameAssist.ReadString(binContent, readPos, out member.igWr); readPos += GameAssist.ReadString(binContent, readPos, out member.igCr); readPos += GameAssist.ReadString(binContent, readPos, out member.igPr); readPos += GameAssist.ReadString(binContent, readPos, out member.igLr); readPos += GameAssist.ReadString(binContent, readPos, out member.igDr); readPos += GameAssist.ReadString(binContent, readPos, out member.Fr); readPos += GameAssist.ReadString(binContent, readPos, out member.Er); readPos += GameAssist.ReadString(binContent, readPos, out member.Wr); readPos += GameAssist.ReadString(binContent, readPos, out member.Cr); readPos += GameAssist.ReadString(binContent, readPos, out member.Pr); readPos += GameAssist.ReadString(binContent, readPos, out member.Lr); readPos += GameAssist.ReadString(binContent, readPos, out member.Dr); member.IsValidate = true; m_vecAllElements.Add(member); m_mapElements[member.LV] = member; } return(true); }