Exemplo n.º 1
0
        private void _setHpGauge()
        {
            bool flag = false;

            this._eHitState = new HpHitState[this._eBattleship.get_Count()];
            List <ShipModel_Defender> defenders = this._clsTorpedo.GetDefenders(false);

            for (int i = 0; i < defenders.get_Count(); i++)
            {
                DamageModel attackDamage = this._clsTorpedo.GetAttackDamage(defenders.get_Item(i).TmpId);
                switch (attackDamage.GetHitState())
                {
                case BattleHitStatus.Miss:
                    if (this._eHitState[i] == HpHitState.None)
                    {
                        this._eHitState[i] = HpHitState.Miss;
                    }
                    break;

                case BattleHitStatus.Normal:
                    if (this._eHitState[i] != HpHitState.Critical)
                    {
                        this._eHitState[i] = HpHitState.Hit;
                    }
                    break;

                case BattleHitStatus.Clitical:
                    this._eHitState[i] = HpHitState.Critical;
                    break;
                }
                BattleHitStatus status;
                if (this._eHitState[i] == HpHitState.Miss)
                {
                    status = BattleHitStatus.Miss;
                }
                else if (this._eHitState[i] == HpHitState.Critical)
                {
                    status = BattleHitStatus.Clitical;
                }
                else
                {
                    status = BattleHitStatus.Normal;
                }
                this._battleHpGauges.SetGauge(i, false, false, true, false);
                this._battleHpGauges.SetHp(i, defenders.get_Item(i).MaxHp, defenders.get_Item(i).HpBefore, defenders.get_Item(i).HpAfter, attackDamage.GetDamage(), status, false);
                if (attackDamage.GetProtectEffect() && !flag)
                {
                    flag            = true;
                    this._isProtect = true;
                    this._rescueCutIn.AddShipList(this._eBattleship.get_Item(0), this._eBattleship.get_Item(i));
                }
            }
        }
        private void _createExplosion()
        {
            _listBombCritical = new List <bool>();
            _listExplosion    = new List <ParticleSystem>();
            _listMiss         = new List <ParticleSystem>();
            Vector3 position5 = default(Vector3);

            for (int i = 0; i < _defenders.Count; i++)
            {
                DamageModel attackDamage = _clsShelling.GetAttackDamage(_defenders[i].TmpId);
                int         key          = (!attackDamage.GetProtectEffect()) ? _defenders[i].Index : _defenders[i].Index;
                if (attackDamage.GetHitState() != 0)
                {
                    _isAttack = true;
                    ParticleSystem val = (!((UnityEngine.Object)BattleTaskManager.GetParticleFile().explosionAerial == null)) ? UnityEngine.Object.Instantiate <ParticleSystem>(BattleTaskManager.GetParticleFile().explosionAerial) : BattleTaskManager.GetParticleFile().explosionAerial;
                    ((Component)val).SetActive(isActive: true);
                    ((Component)val).transform.parent = BattleTaskManager.GetBattleField().transform;
                    Transform transform = ((Component)val).transform;
                    Vector3   position  = _eBattleship[key].transform.position;
                    float     x         = position.x;
                    Vector3   position2 = _eBattleship[key].transform.position;
                    transform.position = new Vector3(x, 3f, position2.z);
                    _listExplosion.Add(val);
                    _listBombCritical.Add((attackDamage.GetHitState() == BattleHitStatus.Clitical) ? true : false);
                }
                else
                {
                    int       iLim  = XorRandom.GetILim(0, 2);
                    Vector3[] array = new Vector3[3]
                    {
                        new Vector3(5f, 0f, -5f),
                        new Vector3(-3f, 0f, 5f),
                        new Vector3(4f, 0f, -7f)
                    };
                    Vector3 position3 = _eBattleship[key].transform.position;
                    float   x2        = position3.x + array[iLim].x;
                    Vector3 position4 = _eBattleship[key].transform.position;
                    position5 = new Vector3(x2, 0f, position4.z + array[iLim].z);
                    ParticleSystem val2 = (!((UnityEngine.Object)BattleTaskManager.GetParticleFile().splashMiss == null)) ? UnityEngine.Object.Instantiate <ParticleSystem>(BattleTaskManager.GetParticleFile().splashMiss) : BattleTaskManager.GetParticleFile().splashMiss;
                    ((Component)val2).SetActive(isActive: true);
                    ((Component)val2).transform.parent   = BattleTaskManager.GetBattleField().transform;
                    ((Component)val2).transform.position = position5;
                    val2.Stop();
                    _listMiss.Add(val2);
                }
            }
        }
Exemplo n.º 3
0
        private void _createTorpedoWake()
        {
            ShipModel_BattleAll[]     ships_e   = BattleTaskManager.GetBattleManager().Ships_e;
            List <ShipModel_Defender> defenders = this._clsTorpedo.GetDefenders(false);

            for (int i = 0; i < defenders.get_Count(); i++)
            {
                DamageModel attackDamage = this._clsTorpedo.GetAttackDamage(defenders.get_Item(i).TmpId);
                Vector3     vector       = (!attackDamage.GetProtectEffect()) ? this._eBattleship.get_Item(i).get_transform().get_position() : this._eBattleship.get_Item(i).get_transform().get_position();
                Vector3     target       = (attackDamage.GetHitState() != BattleHitStatus.Miss) ? new Vector3(vector.x, vector.y + 1f, vector.z) : new Vector3(vector.x - 1.5f, vector.y - 1.5f, vector.z - 20f);
                this._listPSTorpedoWake.Add(this._createTorpedo(new Vector3(this._eBattleship.get_Item(i).get_transform().get_position().x, 1f, this._eBattleship.get_Item(i).get_transform().get_position().z + 40f), target, (attackDamage.GetHitState() != BattleHitStatus.Miss) ? 0.6f : 1f, attackDamage.GetHitState() != BattleHitStatus.Miss));
                if (attackDamage.GetHitState() != BattleHitStatus.Miss)
                {
                    this._isAttackE = true;
                }
            }
        }
		private void _createTorpedoWake()
		{
			ShipModel_BattleAll[] ships_e = BattleTaskManager.GetBattleManager().Ships_e;
			List<ShipModel_Defender> defenders = _clsTorpedo.GetDefenders(is_friend: false);
			for (int i = 0; i < defenders.Count; i++)
			{
				DamageModel attackDamage = _clsTorpedo.GetAttackDamage(defenders[i].TmpId);
				Vector3 vector = (!attackDamage.GetProtectEffect()) ? _eBattleship[i].transform.position : _eBattleship[i].transform.position;
				Vector3 target = (attackDamage.GetHitState() != 0) ? new Vector3(vector.x, vector.y + 1f, vector.z) : new Vector3(vector.x - 1.5f, vector.y - 1.5f, vector.z - 20f);
				List<PSTorpedoWake> listPSTorpedoWake = _listPSTorpedoWake;
				Vector3 position = _eBattleship[i].transform.position;
				float x = position.x;
				Vector3 position2 = _eBattleship[i].transform.position;
				listPSTorpedoWake.Add(_createTorpedo(new Vector3(x, 1f, position2.z + 40f), target, (attackDamage.GetHitState() != 0) ? 0.6f : 1f, (attackDamage.GetHitState() != 0) ? true : false));
				if (attackDamage.GetHitState() != 0)
				{
					_isAttackE = true;
				}
			}
		}
Exemplo n.º 5
0
        private void _createTorpedoWakeOnes()
        {
            Dictionary <int, UIBattleShip> dicFriendBattleShips = BattleTaskManager.GetBattleShips().dicFriendBattleShips;
            Dictionary <int, UIBattleShip> dicEnemyBattleShips  = BattleTaskManager.GetBattleShips().dicEnemyBattleShips;
            bool isTC = false;

            for (int i = 0; i < this._clsTorpedo.ShienShips.Length; i++)
            {
                if (this._clsTorpedo.ShienShips[i] != null)
                {
                    if (this._clsTorpedo.ShienShips[i].ShipType == 4)
                    {
                        isTC = true;
                    }
                }
            }
            this._listTorpedoWake = new List <PSTorpedoWake>();
            List <ShipModel_Defender> defenders = this._clsTorpedo.GetDefenders(false);

            for (int j = 0; j < defenders.get_Count(); j++)
            {
                DamageModel attackDamage      = this._clsTorpedo.GetAttackDamage(defenders.get_Item(j).TmpId);
                Vector3     vecStraightTarget = (!attackDamage.GetProtectEffect()) ? dicEnemyBattleShips.get_Item(j).get_transform().get_position() : dicEnemyBattleShips.get_Item(0).get_transform().get_position();
                Vector3     injection         = new Vector3(vecStraightTarget.x, vecStraightTarget.y, dicFriendBattleShips.get_Item(0).get_transform().get_position().z - 1f);
                Vector3     target            = (attackDamage.GetHitState() != BattleHitStatus.Miss) ? new Vector3(vecStraightTarget.x, vecStraightTarget.y, vecStraightTarget.z + 20f) : new Vector3(vecStraightTarget.x - 3f, vecStraightTarget.y, vecStraightTarget.z + 20f);
                this._listTorpedoWake.Add(this._createTorpedo(true, injection, target, 2.65f, false, false));
                this._setTopCamera(injection.x);
                this._vecStraightTarget         = vecStraightTarget;
                this._fStraightTargetGazeHeight = dicEnemyBattleShips.get_Item(j).pointOfGaze.y;
            }
            using (List <PSTorpedoWake> .Enumerator enumerator = this._listTorpedoWake.GetEnumerator())
            {
                while (enumerator.MoveNext())
                {
                    PSTorpedoWake current = enumerator.get_Current();
                    current.Injection(iTween.EaseType.linear, true, isTC, delegate
                    {
                    });
                }
            }
        }
        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 _createTorpedoWakeOnes()
        {
            Dictionary <int, UIBattleShip> dicFriendBattleShips = BattleTaskManager.GetBattleShips().dicFriendBattleShips;
            Dictionary <int, UIBattleShip> dicEnemyBattleShips  = BattleTaskManager.GetBattleShips().dicEnemyBattleShips;
            bool isTC = false;

            for (int i = 0; i < _clsTorpedo.ShienShips.Length; i++)
            {
                if (_clsTorpedo.ShienShips[i] != null && _clsTorpedo.ShienShips[i].ShipType == 4)
                {
                    isTC = true;
                }
            }
            _listTorpedoWake = new List <PSTorpedoWake>();
            List <ShipModel_Defender> defenders = _clsTorpedo.GetDefenders(is_friend: false);
            Vector3 injection = default(Vector3);

            for (int j = 0; j < defenders.Count; j++)
            {
                DamageModel attackDamage      = _clsTorpedo.GetAttackDamage(defenders[j].TmpId);
                Vector3     vecStraightTarget = (!attackDamage.GetProtectEffect()) ? dicEnemyBattleShips[j].transform.position : dicEnemyBattleShips[0].transform.position;
                float       x        = vecStraightTarget.x;
                float       y        = vecStraightTarget.y;
                Vector3     position = dicFriendBattleShips[0].transform.position;
                injection = new Vector3(x, y, position.z - 1f);
                Vector3 target = (attackDamage.GetHitState() != 0) ? new Vector3(vecStraightTarget.x, vecStraightTarget.y, vecStraightTarget.z + 20f) : new Vector3(vecStraightTarget.x - 3f, vecStraightTarget.y, vecStraightTarget.z + 20f);
                _listTorpedoWake.Add(_createTorpedo(isOnes: true, injection, target, 2.65f, isDet: false, isMiss: false));
                _setTopCamera(injection.x);
                _vecStraightTarget = vecStraightTarget;
                Vector3 pointOfGaze = dicEnemyBattleShips[j].pointOfGaze;
                _fStraightTargetGazeHeight = pointOfGaze.y;
            }
            foreach (PSTorpedoWake item in _listTorpedoWake)
            {
                item.Injection(iTween.EaseType.linear, isPlaySE: true, isTC, delegate
                {
                });
            }
        }
 private void _createExplosion()
 {
     this._listBombCritical = new List <bool>();
     this._listExplosion    = new List <ParticleSystem>();
     this._listMiss         = new List <ParticleSystem>();
     for (int i = 0; i < this._defenders.get_Count(); i++)
     {
         DamageModel attackDamage = this._clsShelling.GetAttackDamage(this._defenders.get_Item(i).TmpId);
         int         num          = (!attackDamage.GetProtectEffect()) ? this._defenders.get_Item(i).Index : this._defenders.get_Item(i).Index;
         if (attackDamage.GetHitState() != BattleHitStatus.Miss)
         {
             this._isAttack = true;
             ParticleSystem particleSystem = (!(BattleTaskManager.GetParticleFile().explosionAerial == null)) ? Object.Instantiate <ParticleSystem>(BattleTaskManager.GetParticleFile().explosionAerial) : BattleTaskManager.GetParticleFile().explosionAerial;
             particleSystem.SetActive(true);
             particleSystem.get_transform().set_parent(BattleTaskManager.GetBattleField().get_transform());
             particleSystem.get_transform().set_position(new Vector3(this._eBattleship.get_Item(num).get_transform().get_position().x, 3f, this._eBattleship.get_Item(num).get_transform().get_position().z));
             this._listExplosion.Add(particleSystem);
             this._listBombCritical.Add(attackDamage.GetHitState() == BattleHitStatus.Clitical);
         }
         else
         {
             int       iLim  = XorRandom.GetILim(0, 2);
             Vector3[] array = new Vector3[]
             {
                 new Vector3(5f, 0f, -5f),
                 new Vector3(-3f, 0f, 5f),
                 new Vector3(4f, 0f, -7f)
             };
             Vector3        position        = new Vector3(this._eBattleship.get_Item(num).get_transform().get_position().x + array[iLim].x, 0f, this._eBattleship.get_Item(num).get_transform().get_position().z + array[iLim].z);
             ParticleSystem particleSystem2 = (!(BattleTaskManager.GetParticleFile().splashMiss == null)) ? Object.Instantiate <ParticleSystem>(BattleTaskManager.GetParticleFile().splashMiss) : BattleTaskManager.GetParticleFile().splashMiss;
             particleSystem2.SetActive(true);
             particleSystem2.get_transform().set_parent(BattleTaskManager.GetBattleField().get_transform());
             particleSystem2.get_transform().set_position(position);
             particleSystem2.Stop();
             this._listMiss.Add(particleSystem2);
         }
     }
 }
		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]);
				}
			}
		}