public void SetCellReference(DropElement cell) { cells.Clear(); cells.Add(cell); invManager.SetInventoryItem(this.gameObject); if (worldReference != null) { Destroy(worldReference); } dropped = true; }
private DropTable() { m_mapElements = new Dictionary <int, DropElement>(); m_emptyItem = new DropElement(); m_vecAllElements = new List <DropElement>(); }
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 != 29) { Ex.Logger.Log("Drop.csv中列数量与生成的代码不匹配!"); return(false); } if (vecLine[0] != "DropID") { Ex.Logger.Log("Drop.csv中字段[DropID]位置不对应"); return(false); } if (vecLine[1] != "Desc") { Ex.Logger.Log("Drop.csv中字段[Desc]位置不对应"); return(false); } if (vecLine[2] != "DropType") { Ex.Logger.Log("Drop.csv中字段[DropType]位置不对应"); return(false); } if (vecLine[3] != "MoneyType1") { Ex.Logger.Log("Drop.csv中字段[MoneyType1]位置不对应"); return(false); } if (vecLine[4] != "MoneyMaxValue1") { Ex.Logger.Log("Drop.csv中字段[MoneyMaxValue1]位置不对应"); return(false); } if (vecLine[5] != "MoneyMinValue1") { Ex.Logger.Log("Drop.csv中字段[MoneyMinValue1]位置不对应"); return(false); } if (vecLine[6] != "MoneyType2") { Ex.Logger.Log("Drop.csv中字段[MoneyType2]位置不对应"); return(false); } if (vecLine[7] != "MoneyMaxValue2") { Ex.Logger.Log("Drop.csv中字段[MoneyMaxValue2]位置不对应"); return(false); } if (vecLine[8] != "MoneyMinValue2") { Ex.Logger.Log("Drop.csv中字段[MoneyMinValue2]位置不对应"); return(false); } if (vecLine[9] != "BagType1") { Ex.Logger.Log("Drop.csv中字段[BagType1]位置不对应"); return(false); } if (vecLine[10] != "BagParamete1") { Ex.Logger.Log("Drop.csv中字段[BagParamete1]位置不对应"); return(false); } if (vecLine[11] != "Bag1") { Ex.Logger.Log("Drop.csv中字段[Bag1]位置不对应"); return(false); } if (vecLine[12] != "BagNum1") { Ex.Logger.Log("Drop.csv中字段[BagNum1]位置不对应"); return(false); } if (vecLine[13] != "BagType2") { Ex.Logger.Log("Drop.csv中字段[BagType2]位置不对应"); return(false); } if (vecLine[14] != "BagParamete2") { Ex.Logger.Log("Drop.csv中字段[BagParamete2]位置不对应"); return(false); } if (vecLine[15] != "Bag2") { Ex.Logger.Log("Drop.csv中字段[Bag2]位置不对应"); return(false); } if (vecLine[16] != "BagNum2") { Ex.Logger.Log("Drop.csv中字段[BagNum2]位置不对应"); return(false); } if (vecLine[17] != "BagType3") { Ex.Logger.Log("Drop.csv中字段[BagType3]位置不对应"); return(false); } if (vecLine[18] != "BagParamete3") { Ex.Logger.Log("Drop.csv中字段[BagParamete3]位置不对应"); return(false); } if (vecLine[19] != "Bag3") { Ex.Logger.Log("Drop.csv中字段[Bag3]位置不对应"); return(false); } if (vecLine[20] != "BagNum3") { Ex.Logger.Log("Drop.csv中字段[BagNum3]位置不对应"); return(false); } if (vecLine[21] != "BagType4") { Ex.Logger.Log("Drop.csv中字段[BagType4]位置不对应"); return(false); } if (vecLine[22] != "BagParamete4") { Ex.Logger.Log("Drop.csv中字段[BagParamete4]位置不对应"); return(false); } if (vecLine[23] != "Bag4") { Ex.Logger.Log("Drop.csv中字段[Bag4]位置不对应"); return(false); } if (vecLine[24] != "BagNum4") { Ex.Logger.Log("Drop.csv中字段[BagNum4]位置不对应"); return(false); } if (vecLine[25] != "BagType5") { Ex.Logger.Log("Drop.csv中字段[BagType5]位置不对应"); return(false); } if (vecLine[26] != "BagParamete5") { Ex.Logger.Log("Drop.csv中字段[BagParamete5]位置不对应"); return(false); } if (vecLine[27] != "Bag5") { Ex.Logger.Log("Drop.csv中字段[Bag5]位置不对应"); return(false); } if (vecLine[28] != "BagNum5") { Ex.Logger.Log("Drop.csv中字段[BagNum5]位置不对应"); return(false); } while (true) { vecLine = GameAssist.readCsvLine(strContent, ref contentOffset); if ((int)vecLine.Count == 0) { break; } if ((int)vecLine.Count != (int)29) { return(false); } DropElement member = new DropElement(); member.DropID = Convert.ToInt32(vecLine[0]); member.Desc = vecLine[1]; member.DropType = Convert.ToInt32(vecLine[2]); member.MoneyType1 = Convert.ToInt32(vecLine[3]); member.MoneyMaxValue1 = Convert.ToInt32(vecLine[4]); member.MoneyMinValue1 = Convert.ToInt32(vecLine[5]); member.MoneyType2 = Convert.ToInt32(vecLine[6]); member.MoneyMaxValue2 = Convert.ToInt32(vecLine[7]); member.MoneyMinValue2 = Convert.ToInt32(vecLine[8]); member.BagType1 = Convert.ToInt32(vecLine[9]); member.BagParamete1 = Convert.ToInt32(vecLine[10]); member.Bag1 = Convert.ToInt32(vecLine[11]); member.BagNum1 = Convert.ToInt32(vecLine[12]); member.BagType2 = Convert.ToInt32(vecLine[13]); member.BagParamete2 = Convert.ToInt32(vecLine[14]); member.Bag2 = Convert.ToInt32(vecLine[15]); member.BagNum2 = Convert.ToInt32(vecLine[16]); member.BagType3 = Convert.ToInt32(vecLine[17]); member.BagParamete3 = Convert.ToInt32(vecLine[18]); member.Bag3 = Convert.ToInt32(vecLine[19]); member.BagNum3 = Convert.ToInt32(vecLine[20]); member.BagType4 = Convert.ToInt32(vecLine[21]); member.BagParamete4 = Convert.ToInt32(vecLine[22]); member.Bag4 = Convert.ToInt32(vecLine[23]); member.BagNum4 = Convert.ToInt32(vecLine[24]); member.BagType5 = Convert.ToInt32(vecLine[25]); member.BagParamete5 = Convert.ToInt32(vecLine[26]); member.Bag5 = Convert.ToInt32(vecLine[27]); member.BagNum5 = Convert.ToInt32(vecLine[28]); member.IsValidate = true; m_vecAllElements.Add(member); m_mapElements[member.DropID] = member; } return(true); }
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 != 29) { Ex.Logger.Log("Drop.csv中列数量与生成的代码不匹配!"); return(false); } if (vecLine[0] != "DropID") { Ex.Logger.Log("Drop.csv中字段[DropID]位置不对应"); return(false); } if (vecLine[1] != "Desc") { Ex.Logger.Log("Drop.csv中字段[Desc]位置不对应"); return(false); } if (vecLine[2] != "DropType") { Ex.Logger.Log("Drop.csv中字段[DropType]位置不对应"); return(false); } if (vecLine[3] != "MoneyType1") { Ex.Logger.Log("Drop.csv中字段[MoneyType1]位置不对应"); return(false); } if (vecLine[4] != "MoneyMaxValue1") { Ex.Logger.Log("Drop.csv中字段[MoneyMaxValue1]位置不对应"); return(false); } if (vecLine[5] != "MoneyMinValue1") { Ex.Logger.Log("Drop.csv中字段[MoneyMinValue1]位置不对应"); return(false); } if (vecLine[6] != "MoneyType2") { Ex.Logger.Log("Drop.csv中字段[MoneyType2]位置不对应"); return(false); } if (vecLine[7] != "MoneyMaxValue2") { Ex.Logger.Log("Drop.csv中字段[MoneyMaxValue2]位置不对应"); return(false); } if (vecLine[8] != "MoneyMinValue2") { Ex.Logger.Log("Drop.csv中字段[MoneyMinValue2]位置不对应"); return(false); } if (vecLine[9] != "BagType1") { Ex.Logger.Log("Drop.csv中字段[BagType1]位置不对应"); return(false); } if (vecLine[10] != "BagParamete1") { Ex.Logger.Log("Drop.csv中字段[BagParamete1]位置不对应"); return(false); } if (vecLine[11] != "Bag1") { Ex.Logger.Log("Drop.csv中字段[Bag1]位置不对应"); return(false); } if (vecLine[12] != "BagNum1") { Ex.Logger.Log("Drop.csv中字段[BagNum1]位置不对应"); return(false); } if (vecLine[13] != "BagType2") { Ex.Logger.Log("Drop.csv中字段[BagType2]位置不对应"); return(false); } if (vecLine[14] != "BagParamete2") { Ex.Logger.Log("Drop.csv中字段[BagParamete2]位置不对应"); return(false); } if (vecLine[15] != "Bag2") { Ex.Logger.Log("Drop.csv中字段[Bag2]位置不对应"); return(false); } if (vecLine[16] != "BagNum2") { Ex.Logger.Log("Drop.csv中字段[BagNum2]位置不对应"); return(false); } if (vecLine[17] != "BagType3") { Ex.Logger.Log("Drop.csv中字段[BagType3]位置不对应"); return(false); } if (vecLine[18] != "BagParamete3") { Ex.Logger.Log("Drop.csv中字段[BagParamete3]位置不对应"); return(false); } if (vecLine[19] != "Bag3") { Ex.Logger.Log("Drop.csv中字段[Bag3]位置不对应"); return(false); } if (vecLine[20] != "BagNum3") { Ex.Logger.Log("Drop.csv中字段[BagNum3]位置不对应"); return(false); } if (vecLine[21] != "BagType4") { Ex.Logger.Log("Drop.csv中字段[BagType4]位置不对应"); return(false); } if (vecLine[22] != "BagParamete4") { Ex.Logger.Log("Drop.csv中字段[BagParamete4]位置不对应"); return(false); } if (vecLine[23] != "Bag4") { Ex.Logger.Log("Drop.csv中字段[Bag4]位置不对应"); return(false); } if (vecLine[24] != "BagNum4") { Ex.Logger.Log("Drop.csv中字段[BagNum4]位置不对应"); return(false); } if (vecLine[25] != "BagType5") { Ex.Logger.Log("Drop.csv中字段[BagType5]位置不对应"); return(false); } if (vecLine[26] != "BagParamete5") { Ex.Logger.Log("Drop.csv中字段[BagParamete5]位置不对应"); return(false); } if (vecLine[27] != "Bag5") { Ex.Logger.Log("Drop.csv中字段[Bag5]位置不对应"); return(false); } if (vecLine[28] != "BagNum5") { Ex.Logger.Log("Drop.csv中字段[BagNum5]位置不对应"); return(false); } for (int i = 0; i < nRow; i++) { DropElement member = new DropElement(); readPos += GameAssist.ReadInt32Variant(binContent, readPos, out member.DropID); readPos += GameAssist.ReadString(binContent, readPos, out member.Desc); readPos += GameAssist.ReadInt32Variant(binContent, readPos, out member.DropType); readPos += GameAssist.ReadInt32Variant(binContent, readPos, out member.MoneyType1); readPos += GameAssist.ReadInt32Variant(binContent, readPos, out member.MoneyMaxValue1); readPos += GameAssist.ReadInt32Variant(binContent, readPos, out member.MoneyMinValue1); readPos += GameAssist.ReadInt32Variant(binContent, readPos, out member.MoneyType2); readPos += GameAssist.ReadInt32Variant(binContent, readPos, out member.MoneyMaxValue2); readPos += GameAssist.ReadInt32Variant(binContent, readPos, out member.MoneyMinValue2); readPos += GameAssist.ReadInt32Variant(binContent, readPos, out member.BagType1); readPos += GameAssist.ReadInt32Variant(binContent, readPos, out member.BagParamete1); readPos += GameAssist.ReadInt32Variant(binContent, readPos, out member.Bag1); readPos += GameAssist.ReadInt32Variant(binContent, readPos, out member.BagNum1); readPos += GameAssist.ReadInt32Variant(binContent, readPos, out member.BagType2); readPos += GameAssist.ReadInt32Variant(binContent, readPos, out member.BagParamete2); readPos += GameAssist.ReadInt32Variant(binContent, readPos, out member.Bag2); readPos += GameAssist.ReadInt32Variant(binContent, readPos, out member.BagNum2); readPos += GameAssist.ReadInt32Variant(binContent, readPos, out member.BagType3); readPos += GameAssist.ReadInt32Variant(binContent, readPos, out member.BagParamete3); readPos += GameAssist.ReadInt32Variant(binContent, readPos, out member.Bag3); readPos += GameAssist.ReadInt32Variant(binContent, readPos, out member.BagNum3); readPos += GameAssist.ReadInt32Variant(binContent, readPos, out member.BagType4); readPos += GameAssist.ReadInt32Variant(binContent, readPos, out member.BagParamete4); readPos += GameAssist.ReadInt32Variant(binContent, readPos, out member.Bag4); readPos += GameAssist.ReadInt32Variant(binContent, readPos, out member.BagNum4); readPos += GameAssist.ReadInt32Variant(binContent, readPos, out member.BagType5); readPos += GameAssist.ReadInt32Variant(binContent, readPos, out member.BagParamete5); readPos += GameAssist.ReadInt32Variant(binContent, readPos, out member.Bag5); readPos += GameAssist.ReadInt32Variant(binContent, readPos, out member.BagNum5); member.IsValidate = true; m_vecAllElements.Add(member); m_mapElements[member.DropID] = member; } return(true); }