Пример #1
0
        private void _setHpGauge(FleetType type)
        {
            int       num  = (type != 0) ? _fBattleship.Count : _eBattleship.Count;
            bool      flag = (type == FleetType.Friend) ? true : false;
            FleetType key  = flag ? FleetType.Enemy : FleetType.Friend;
            List <ShipModel_Defender> defenders = _clsKoukuu.GetDefenders((!flag) ? true : false, all: true);

            for (int i = 0; i < _dicBakuraiModel[type].Length; i++)
            {
                if (_dicBakuraiModel[type][i] == null)
                {
                    continue;
                }
                ShipModel_Defender defender = _dicBakuraiModel[type][i].Defender;
                switch (_dicBakuraiModel[type][i].GetHitState())
                {
                case BattleHitStatus.Normal:
                    if (_dicHitState[key][defender.Index] != HpHitState.Critical)
                    {
                        _dicHitState[key][defender.Index] = HpHitState.Hit;
                    }
                    break;

                case BattleHitStatus.Clitical:
                    _dicHitState[key][defender.Index] = HpHitState.Critical;
                    break;

                case BattleHitStatus.Miss:
                    if (_dicHitState[key][defender.Index] == HpHitState.None)
                    {
                        _dicHitState[key][defender.Index] = HpHitState.Miss;
                    }
                    break;
                }
            }
            for (int j = 0; j < num; j++)
            {
                int             damage = _clsKoukuu.GetAttackDamage(defenders[j].TmpId)?.GetDamage() ?? (-1);
                BattleHitStatus status = (_dicHitState[key][j] != HpHitState.Miss) ? ((_dicHitState[key][j] != HpHitState.Critical) ? BattleHitStatus.Normal : BattleHitStatus.Clitical) : BattleHitStatus.Miss;
                _battleHpGauges.Init();
                _battleHpGauges.SetGauge(j, flag, isLight: true, isT: false, isNumber: false);
                if (flag)
                {
                    _battleHpGauges.SetHp(j, defenders[j].MaxHp, defenders[j].HpBefore, defenders[j].HpAfter, damage, status, isFriend: false);
                }
                else
                {
                    _battleHpGauges.SetHp(j, defenders[j].MaxHp, defenders[j].HpBefore, defenders[j].HpAfter, damage, status, isFriend: false);
                }
            }
        }
        private void _setHpGauge()
        {
            BattleCutInCamera cutInCamera = BattleTaskManager.GetBattleCameras().cutInCamera;
            bool flag = false;

            _eHpPos    = _setHpGaugePosition(_eBattleship.Count);
            _eHitState = new HpHitState[_eBattleship.Count];
            UIPanel uIPanel = Resources.Load <UIPanel>("Prefabs/Battle/UI/UICircleHpPanel");

            _uiHpGaugePanel = Util.Instantiate(uIPanel.gameObject, cutInCamera.transform.gameObject).GetComponent <UIPanel>();
            for (int i = 0; i < _defenders.Count; i++)
            {
                DamageModel attackDamage = _clsShelling.GetAttackDamage(_defenders[i].TmpId);
                if (attackDamage.GetHitState() == BattleHitStatus.Clitical)
                {
                    _eHitState[attackDamage.Defender.Index] = HpHitState.Critical;
                }
                else if (attackDamage.GetHitState() == BattleHitStatus.Miss)
                {
                    if (_eHitState[attackDamage.Defender.Index] == HpHitState.None)
                    {
                        _eHitState[attackDamage.Defender.Index] = HpHitState.Miss;
                    }
                }
                else if (attackDamage.GetHitState() == BattleHitStatus.Normal && _eHitState[attackDamage.Defender.Index] != HpHitState.Critical)
                {
                    _eHitState[attackDamage.Defender.Index] = HpHitState.Hit;
                }
                BattleHitStatus status = (_eHitState[i] != HpHitState.Miss) ? ((_eHitState[i] != HpHitState.Critical) ? BattleHitStatus.Normal : BattleHitStatus.Clitical) : BattleHitStatus.Miss;
                _battleHpGauges.SetGauge(i, isFriend: false, isLight: true, isT: false, isNumber: false);
                _battleHpGauges.SetHp(i, _defenders[i].MaxHp, _defenders[i].HpBefore, _defenders[i].HpAfter, attackDamage.GetDamage(), status, isFriend: false);
                if (attackDamage.GetProtectEffect() && !flag)
                {
                    flag       = true;
                    _isProtect = true;
                    _rescueCutIn.AddShipList(_eBattleship[0], _eBattleship[i]);
                }
            }
        }
		private void _setHpGauge()
		{
			bool flag = false;
			_eHitState = new HpHitState[_eBattleship.Count];
			List<ShipModel_Defender> defenders = _clsTorpedo.GetDefenders(is_friend: false);
			for (int i = 0; i < defenders.Count; i++)
			{
				DamageModel attackDamage = _clsTorpedo.GetAttackDamage(defenders[i].TmpId);
				switch (attackDamage.GetHitState())
				{
				case BattleHitStatus.Normal:
					if (_eHitState[i] != HpHitState.Critical)
					{
						_eHitState[i] = HpHitState.Hit;
					}
					break;
				case BattleHitStatus.Clitical:
					_eHitState[i] = HpHitState.Critical;
					break;
				case BattleHitStatus.Miss:
					if (_eHitState[i] == HpHitState.None)
					{
						_eHitState[i] = HpHitState.Miss;
					}
					break;
				}
				BattleHitStatus status = (_eHitState[i] != HpHitState.Miss) ? ((_eHitState[i] != HpHitState.Critical) ? BattleHitStatus.Normal : BattleHitStatus.Clitical) : BattleHitStatus.Miss;
				_battleHpGauges.SetGauge(i, isFriend: false, isLight: false, isT: true, isNumber: false);
				_battleHpGauges.SetHp(i, defenders[i].MaxHp, defenders[i].HpBefore, defenders[i].HpAfter, attackDamage.GetDamage(), status, isFriend: false);
				if (attackDamage.GetProtectEffect() && !flag)
				{
					flag = true;
					_isProtect = true;
					_rescueCutIn.AddShipList(_eBattleship[0], _eBattleship[i]);
				}
			}
		}
        private void _setHpGauge()
        {
            _eHpPos = new Vector3[_eBattleship.Count];
            _eHpPos = _setHpPosition(FleetType.Enemy, _eBattleship.Count);
            List <ShipModel_Defender> defenders = _clsAerial.GetDefenders(is_friend: false, all: true);

            for (int i = 0; i < _fBakuraiModel.Length; i++)
            {
                if (_fBakuraiModel[i] == null)
                {
                    continue;
                }
                ShipModel_Defender defender = _fBakuraiModel[i].Defender;
                if (_fBakuraiModel[i].GetHitState() == BattleHitStatus.Clitical)
                {
                    _eHitState[defender.Index] = HpHitState.Critical;
                }
                else if (_fBakuraiModel[i].GetHitState() == BattleHitStatus.Miss)
                {
                    if (_eHitState[defender.Index] == HpHitState.None)
                    {
                        _eHitState[defender.Index] = HpHitState.Miss;
                    }
                }
                else if (_fBakuraiModel[i].GetHitState() == BattleHitStatus.Normal && _eHitState[defender.Index] != HpHitState.Critical)
                {
                    _eHitState[defender.Index] = HpHitState.Hit;
                }
            }
            for (int j = 0; j < _eBattleship.Count; j++)
            {
                BattleHitStatus status = (_eHitState[j] != HpHitState.Miss) ? ((_eHitState[j] != HpHitState.Critical) ? BattleHitStatus.Normal : BattleHitStatus.Clitical) : BattleHitStatus.Miss;
                _battleHpGauges.SetGauge(j, isFriend: false, isLight: true, isT: false, isNumber: false);
                _battleHpGauges.SetHp(j, defenders[j].MaxHp, defenders[j].HpBefore, defenders[j].HpAfter, _clsAerial.GetAttackDamage(defenders[j].TmpId).GetDamage(), status, isFriend: false);
            }
        }