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); } } }
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; } } }
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]); } } }