public void Init(int level) { int numSpace = ParkingCenter.GetGroundParkingNumber(level); int numGroup = numSpace / globalConfig.getInstace().NumGroundParkingGroupSpace; for (int i = 0; i < numGroup; i++) { var group = new GroupParkingSpace(i, globalConfig.getInstace().NumGroundParkingGroupSpace); groupParkingSpaceDic.Add(i, group); } }
/// <summary> /// 得到指定停车位 /// </summary> /// <param name="groupID"></param> /// <param name="idx"></param> /// <returns></returns> public ParkingSpace GetSpace(int groupID, int idx) { ParkingSpace parkingSpace = null; GroupParkingSpace groupParkingSpace = null; if (groupParkingSpaceDic.TryGetValue(groupID, out groupParkingSpace)) { parkingSpace = groupParkingSpace.GetSpace(idx); } return(parkingSpace); }
/// <summary> /// 监听停车场的停车位的数量升级 /// </summary> /// <param name="obj"></param> private void OnBroadcastParkingSpaceLevelOfPlayerData(Message obj) { var _msg = obj as BroadcastValueOfPlayerData; //查看新的等级有没有导致停车场外观变化 int oldLevel = _msg.currVal - _msg.deltaVal; int currLevel = _msg.currVal; var allData = Config.parkingConfig.getInstace().AllData; Config.parkingCell parkingCell = GlobalDataManager.GetInstance().logicTableParkingData.GetParkingCell(sceneID); int oldResIdx = FindLevelRangIndex(parkingCell.openlv, oldLevel); int currResIdx = FindLevelRangIndex(parkingCell.openlv, currLevel); if (oldResIdx != currResIdx) { //卸载旧的,加载新的 LoadParkingScene(currResIdx); } //重新计算总量,并更新显示牌 int oldNumMaxParking = numMaxParking; CalcMaxParkingNum(); numShowParking += (numMaxParking - oldNumMaxParking); //LogWarp.LogErrorFormat(" 测试: 小汽车刷新速度:{0} 停车场总停车的数量={1} 现在显示的数量={2}", enterCarSpawnInterval, numMaxParking, numShowParking); //numShowParking = numMaxParking - numUnderParkingCar - numGroundParkingCar; ShowLeftParkingNum(numShowParking); //检查地面停车场数量是否增加 int numSpace = GetGroundParkingNumber(this.playerData.GetParkingCenterDataIDIndexOfDataIdx().parkingSpaceLevel); //LogWarp.LogError("测试:检查地面停车场数量是否增加 numSpace=" + numSpace); int numGroup = numSpace / globalConfig.getInstace().NumGroundParkingGroupSpace; int oldnumGroup = this.groundParking.groupParkingSpaceDic.Count; for (int i = oldnumGroup; i < numGroup; i++) { var group = new GroupParkingSpace(i, globalConfig.getInstace().NumGroundParkingGroupSpace); groundParking.groupParkingSpaceDic.Add(i, group); } }