コード例 #1
0
    //更新维修时间进度条
    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();
    }
コード例 #2
0
    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);
            }
        }
    }
コード例 #3
0
    /// <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";
        }
    }
コード例 #4
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);
    }
コード例 #5
0
    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;
        }
    }
コード例 #6
0
    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));
            }
        }
    }