public BABELTOWER_DATA GetBabelTowerData(short _floor, short _subfloor, short _floortype = 1) { BabelTowerManager.BabelTower_Floor babelTowerFloorInfo = this.GetBabelTowerFloorInfo(_floor, _floortype); if (babelTowerFloorInfo == null) { return(null); } if (_floortype == 2) { foreach (BABELTOWER_DATA current in babelTowerFloorInfo.m_listBabelTowerData_Type2) { if (current.m_nFloor == _floor && current.m_nSubFloor == _subfloor && current.m_nFloorType == _floortype) { BABELTOWER_DATA result = current; return(result); } } } else { foreach (BABELTOWER_DATA current2 in babelTowerFloorInfo.m_listBabelTowerData_Type1) { if (current2.m_nFloor == _floor && current2.m_nSubFloor == _subfloor && current2.m_nFloorType == _floortype) { BABELTOWER_DATA result = current2; return(result); } } } return(null); }
public short GetMaxSubFloor(short _Floor, short _FloorType) { BabelTowerManager.BabelTower_Floor babelTowerFloorInfo = this.GetBabelTowerFloorInfo(_Floor, _FloorType); if (babelTowerFloorInfo == null) { return(0); } short num = 0; if (_FloorType == 2) { foreach (BABELTOWER_DATA current in babelTowerFloorInfo.m_listBabelTowerData_Type2) { if (current.m_nFloor == _Floor && current.m_nFloorType == _FloorType && num < current.m_nSubFloor) { num = current.m_nSubFloor; } } } else { foreach (BABELTOWER_DATA current2 in babelTowerFloorInfo.m_listBabelTowerData_Type1) { if (current2.m_nFloor == _Floor && current2.m_nFloorType == _FloorType && num < current2.m_nSubFloor) { num = current2.m_nSubFloor; } } } return(num); }
public BabelTowerManager.BabelTower_Floor GetBabelTowerFloorInfo(short floor, short FloorType) { BabelTowerManager.BabelTower_Floor babelTower_Floor; if (FloorType == 2) { if (!this.m_DicBabelTowerFloorInfo_Type2.ContainsKey(floor)) { babelTower_Floor = new BabelTowerManager.BabelTower_Floor(); this.m_DicBabelTowerFloorInfo_Type2.Add(floor, babelTower_Floor); } else { babelTower_Floor = this.m_DicBabelTowerFloorInfo_Type2[floor]; } } else if (!this.m_DicBabelTowerFloorInfo_Type1.ContainsKey(floor)) { babelTower_Floor = new BabelTowerManager.BabelTower_Floor(); this.m_DicBabelTowerFloorInfo_Type1.Add(floor, babelTower_Floor); } else { babelTower_Floor = this.m_DicBabelTowerFloorInfo_Type1[floor]; } return(babelTower_Floor); }
public bool IsBabelTreasure(short _floor, short floortype) { BabelTowerManager.BabelTower_Floor babelTowerFloorInfo = NrTSingleton <BabelTowerManager> .Instance.GetBabelTowerFloorInfo(_floor, floortype); if (floortype == 2) { for (short num = 0; num < babelTowerFloorInfo.SubFloorCount_Type2; num += 1) { if (!this.IsBabelTreasure(_floor, num, floortype)) { return(false); } } } else { for (short num2 = 0; num2 < babelTowerFloorInfo.SubFloorCount_Type1; num2 += 1) { if (!this.IsBabelTreasure(_floor, num2, floortype)) { return(false); } } } return(true); }
public void AddBabelTowerData(BABELTOWER_DATA _data) { if (_data.m_nFloorType == 2 && this.m_LastFloor_Type2 < _data.m_nFloor) { this.m_LastFloor_Type2 = _data.m_nFloor; } else if (this.m_LastFloor_Type1 < _data.m_nFloor) { this.m_LastFloor_Type1 = _data.m_nFloor; } BabelTowerManager.BabelTower_Floor babelTowerFloorInfo = this.GetBabelTowerFloorInfo(_data.m_nFloor, _data.m_nFloorType); babelTowerFloorInfo.AddBabelDataInfo(_data); }
public short GetBabelTowerLastSubFloor(short floor, short floortype) { BabelTowerManager.BabelTower_Floor babelTowerFloorInfo = this.GetBabelTowerFloorInfo(floor, floortype); if (babelTowerFloorInfo == null) { return(0); } if (floortype == 2) { return(babelTowerFloorInfo.LastSubFloor_Type2); } return(babelTowerFloorInfo.LastSubFloor_Type1); }
public byte GetBabelFloorRankInfo(short floor, short floortype) { byte b = 0; BabelTowerManager.BabelTower_Floor babelTowerFloorInfo = NrTSingleton <BabelTowerManager> .Instance.GetBabelTowerFloorInfo(floor, floortype); if (babelTowerFloorInfo == null) { return(b); } short num = 0; short num2 = babelTowerFloorInfo.SubFloorCount_Type1; if (floortype == 2) { num2 = babelTowerFloorInfo.SubFloorCount_Type2; } for (short num3 = 0; num3 < num2; num3 += 1) { foreach (BABEL_SUBFLOOR_RANKINFO current in this.BabelSubFloor_RankInfo) { if (current.i16Floor == floor && (short)current.bySubFloor == num3 && current.i16FloorType == floortype) { if (b == 0 || b > current.byRank) { b = current.byRank; } num += 1; } } } if (floortype == 2) { if (num < babelTowerFloorInfo.SubFloorCount_Type2) { return(0); } } else if (num < babelTowerFloorInfo.SubFloorCount_Type1) { return(0); } return(b); }
public bool IsClearBabel(short floor, BABEL_CLEARINFO info, short floortype) { BabelTowerManager.BabelTower_Floor babelTowerFloorInfo = this.GetBabelTowerFloorInfo(floor, floortype); return(babelTowerFloorInfo != null && babelTowerFloorInfo.m_Column == info.ColumnNum && (babelTowerFloorInfo.m_ClearInfo & info.ClearInfo) == babelTowerFloorInfo.m_ClearInfo && babelTowerFloorInfo.m_FloorType == (long)info.FloorType); }