//更新维修时间进度条 void UpdateSlider() { _model_RepairUnit = InstancePlayer.instance.model_User.model_RepairUnit; _repairUnitsList = _model_RepairUnit.GetRepairUnits(); int repairTotalTimeSec = _model_RepairUnit.repairTotalTimeSec; int repairLeftTime = _model_RepairUnit.repairLeftTime; if (repairLeftTime > 0) { _speed_Container.gameObject.SetActive(true); _immediatelyRepair_btn.gameObject.SetActive(false); _allChoose_Btn.gameObject.SetActive(false); _Repair_btn.gameObject.SetActive(false); _finish_Btn.gameObject.SetActive(false); } else if (repairLeftTime == 0 && repairTotalTimeSec > 0) { _speed_Container.gameObject.SetActive(false); _immediatelyRepair_btn.gameObject.SetActive(false); _allChoose_Btn.gameObject.SetActive(false); _Repair_btn.gameObject.SetActive(false); _finish_Btn.gameObject.SetActive(true); } else { _speed_Container.gameObject.SetActive(false); _immediatelyRepair_btn.gameObject.SetActive(true); _allChoose_Btn.gameObject.SetActive(true); _Repair_btn.gameObject.SetActive(true); _finish_Btn.gameObject.SetActive(false); } _Timer_Colored_Slider.value = (float)repairLeftTime / repairTotalTimeSec; _timerLabel.text = UIHelper.setTimeDHMS(repairLeftTime); // Clear CD Need Cash int needCash = InstancePlayer.instance.model_User.model_InitialConfig.GetClearUnitCDCash((float)repairLeftTime); _speedCoinLabel.text = needCash + ""; //正在维修数量显示 int repairIngCount = 0; foreach (SlgPB.Unit unit in _repairUnitsList) { repairIngCount += unit.onRepair; } _TankDamageIng_ValueLabel.text = repairIngCount.ToString(); }
public void Init() { countdownList.Clear(); //生产 Dictionary <int, Model_Unit> units = InstancePlayer.instance.model_User.unlockUnits; foreach (KeyValuePair <int, Model_Unit> kvp in units) { if (kvp.Value.onProduce > 0) { Countdown countdown = new Countdown(); countdown.dataType = CountdownType.PRODUCTION; countdown.data = kvp.Value; countdown.iconName = ""; countdownList.Add(countdown); } } // 维修 Model_RepairUnit repair = InstancePlayer.instance.model_User.model_RepairUnit; if (repair.repairLeftTime >= 0 && repair.repairTotalTimeSec > 0) { Countdown repaircountdown = new Countdown(); repaircountdown.dataType = CountdownType.REPAIR; repaircountdown.data = repair; repaircountdown.iconName = ""; countdownList.Add(repaircountdown); } //建筑升级 Dictionary <Model_Building.Building_Type, Model_Building> buildings = InstancePlayer.instance.model_User.buildings; foreach (KeyValuePair <Model_Building.Building_Type, Model_Building> kvp in buildings) { if (kvp.Value.isUpgrading) { Countdown countdown = new Countdown(); countdown.dataType = CountdownType.BUILDINGUP; countdown.data = kvp.Value; countdown.iconName = ""; countdownList.Add(countdown); } } }
/// <summary> /// Updates the state of the current tank. /// </summary> void UpdateCurrentTankState() { if (_dataUnit != null) { _model_RepairUnit = InstancePlayer.instance.model_User.model_RepairUnit; _RepairUnits = _model_RepairUnit.GetRepairUnits(); foreach (SlgPB.Unit unit in _RepairUnits) { if (_dataUnit.id == unit.unitId) { _RepairUnit = unit; break; } else { _RepairUnit = null; } } } if (_model_unit != null) { if (_unitData.isUnLock == true) { _currentInventoryLabel.text = _model_unit.num.ToString(); _currentDamageLabel.text = _model_unit.onDamaged.ToString(); if (_RepairUnit != null) { _repairIngLabel.text = _RepairUnit.onRepair.ToString(); } else { _repairIngLabel.text = "0"; } } } else { _currentInventoryLabel.text = "0"; _repairIngLabel.text = "0"; _currentDamageLabel.text = "0"; } }
// 是否拥有足够金币免CD加速完成修理Unit public static int IsEnoughCashClearRepairUnitCD(Model_User model_user) { int result = -1; Model_RepairUnit model_RepairUnit = model_user.model_RepairUnit; if (model_RepairUnit != null && model_RepairUnit.repairLeftTime > 0) { float needCash = model_user.model_InitialConfig.GetClearUnitCDCash(model_RepairUnit.repairLeftTime); float userCash = model_user.model_Resource.cash; if (userCash >= needCash) { result = 0; } } return(result); }
public void Init(CountdownData.Countdown data) { _countdown = data; _type = _countdown.dataType; // Trace.trace(" data " + data.dataType,Trace.CHANNEL.UI); switch (_type) { case CountdownData.CountdownType.BUILDINGUP: _modelBuilding = _countdown.data as Model_Building; break; case CountdownData.CountdownType.PRODUCTION: _modelUnit = _countdown.data as Model_Unit; break; case CountdownData.CountdownType.REPAIR: _modelRepairUnit = _countdown.data as Model_RepairUnit; break; } }
void UpdateUI() { if (_model_Unit != null) { _units = InstancePlayer.instance.model_User.unlockUnits; _units.TryGetValue(_model_Unit.unitId, out _model_Unit); _model_RepairUnit = InstancePlayer.instance.model_User.model_RepairUnit; _repairUnitsList = _model_RepairUnit.GetRepairUnits(); _dataUnit = DataManager.instance.dataUnitsGroup.GetUnit(_model_Unit.unitId); TankDataManager tankmanager = new TankDataManager(); _unitData = tankmanager.InitUnitData(_dataUnit); _canRepairUnitCount = (float)_model_Unit.onDamaged; _tankName.color = _unitData.nameColor; _iconBg.spriteName = _unitData.iconBgName; _icon.spriteName = _unitData.iconName; _thumbIcon.spriteName = _unitData.iconName; _tankName.text = _dataUnit.name; if (_tankSlider != null && _addTankNumLabel != null) { _addTankNumLabel.text = Mathf.RoundToInt(_tankSlider.value * _canRepairUnitCount).ToString(); _CurrentTankNum = Mathf.RoundToInt(_tankSlider.value * _canRepairUnitCount); } _Damage_3_ValueLabel.text = _model_Unit.onDamaged.ToString(); _Damage_2_ValueLabel.text = _model_Unit.num.ToString(); _Damage_1_ValueLabel.text = _model_Unit.onProduce.ToString(); bool isRepairIng = false; foreach (SlgPB.Unit unit in _repairUnitsList) { if (unit.unitId == _model_Unit.unitId) { if (_model_RepairUnit.repairLeftTime > 0) { isRepairIng = true; } break; } } if (isRepairIng) { if (_model_RepairUnit != null && _model_RepairUnit.repairLeftTime > 0) { _speed_Container.gameObject.SetActive(true); _recoverContainer.gameObject.SetActive(false); _Timer_Colored_Slider.value = (float)_model_RepairUnit.repairLeftTime / _model_RepairUnit.repairTotalTimeSec; } } else { _speed_Container.gameObject.SetActive(false); _recoverContainer.gameObject.SetActive(true); } ResData(); if ((_model_Unit.onDamaged == 0) && (_model_Unit.onRepair == 0)) { NGUITools.Destroy(this.gameObject); NotificationCenter.instance.DispatchEvent(Notification_Type.RequestRepairTank, new Notification(_model_Unit)); } } }