private void _setExplotion() { FleetType fleetType = (_attackState != AttackState.FriendExplosion) ? FleetType.Enemy : FleetType.Friend; int num = (fleetType != 0) ? _fBattleship.Count : _eBattleship.Count; Vector3[] array = _setHpPosition(fleetType, num); for (int i = 0; i < num; i++) { _battleHpGauges.Show(i, array[i], new Vector3(0.35f, 0.35f, 0.35f), isScale: false); BattleHPGauges battleHpGauges = _battleHpGauges; int num2 = i; Vector3 damagePosition = _battleHpGauges.GetDamagePosition(i); battleHpGauges.SetDamagePosition(num2, new Vector3(damagePosition.x, -525f, 0f)); _battleHpGauges.PlayHp(i, null); } _setShinking(fleetType); _createExplotion((fleetType == FleetType.Friend) ? true : false); if (_listExplosion != null) { KCV.Utils.SoundUtils.PlaySE((_listExplosion.Count <= 1) ? SEFIleInfos.SE_930 : SEFIleInfos.SE_931); Observable.FromCoroutine(_explosionPlay).Subscribe(delegate { }); } foreach (ParticleSystem item in _listMiss) { item.Play(); } _playSE(fleetType); }
private void _hitExplosion() { BattleTaskManager.GetBattleField().AlterWaveDirection(FleetType.Friend); BattleTaskManager.GetBattleCameras().cutInCamera.enabled = true; if (_isAttack) { _fieldCam.cameraShake.ShakeRot(null); } for (int i = 0; i < _defenders.Count; i++) { DamageModel attackDamage = _clsShelling.GetAttackDamage(_defenders[i].TmpId); _battleHpGauges.Show(i, _eHpPos[i], new Vector3(0.35f, 0.35f, 0.35f), isScale: false); BattleHPGauges battleHpGauges = _battleHpGauges; int num = i; Vector3 damagePosition = _battleHpGauges.GetDamagePosition(i); battleHpGauges.SetDamagePosition(num, new Vector3(damagePosition.x, -525f, 0f)); _battleHpGauges.PlayHp(i, null); if (attackDamage.GetHitState() == BattleHitStatus.Miss) { _battleHpGauges.PlayMiss(i); } else if (attackDamage.GetHitState() == BattleHitStatus.Clitical) { _battleHpGauges.PlayCritical(i); } } _setShinking(); int eCnt = (_listExplosion != null) ? _listExplosion.Count : 0; int mCnt = (_listMiss != null) ? _listMiss.Count : 0; Observable.FromCoroutine(_playExplosion).Subscribe(delegate { if (eCnt >= mCnt) { _isEx = true; } }); Observable.FromCoroutine(_playMissSplash).Subscribe(delegate { if (mCnt >= eCnt) { _isEx = true; } }); if (_listExplosion == null && _listMiss == null) { _isEx = true; } if ((_listExplosion != null) & (_listExplosion.Count > 0)) { KCV.Utils.SoundUtils.PlaySE(SEFIleInfos.Explode); } if ((_listMiss != null) & (_listMiss.Count > 0)) { KCV.Utils.SoundUtils.PlaySE(SEFIleInfos.BattleTorpedo); } }
private void _createExplotion() { _listBombCritical = new List <bool>(); _listExplosion = new List <ParticleSystem>(); if (_attackState == AttackState.FriendExplosion) { for (int i = 0; i < _eBattleship.Count; i++) { _battleHpGauges.Show(i, _eHpPos[i], new Vector3(0.35f, 0.35f, 0.35f), isScale: false); BattleHPGauges battleHpGauges = _battleHpGauges; int num = i; Vector3 damagePosition = _battleHpGauges.GetDamagePosition(i); battleHpGauges.SetDamagePosition(num, new Vector3(damagePosition.x, -525f, 0f)); _battleHpGauges.PlayHp(i, null); } _setShinking(FleetType.Friend); Vector3 position3 = default(Vector3); for (int j = 0; j < _fBakuraiModel.Length; j++) { if (_fBakuraiModel[j] == null || !_fBakuraiModel[j].IsBakugeki()) { continue; } ShipModel_Battle defender = _fBakuraiModel[j].Defender; int num2 = (!_fBakuraiModel[j].GetProtectEffect()) ? defender.Index : defender.Index; bool flag = (_fBakuraiModel[j].GetHitState() == BattleHitStatus.Miss) ? true : false; FleetType fleetType = FleetType.Enemy; _dicHitType[num2] = setHitType(fleetType, num2, flag, HitType.Bomb); HitType hitType = _dicHitType[num2]; if (!flag) { if (hitType == HitType.Bomb) { Vector3 position = _eBattleship[num2].transform.position; float x = position.x; Vector3 position2 = _eBattleship[num2].transform.position; position3 = new Vector3(x, 3f, position2.z); 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; ((Component)val).transform.position = position3; _listExplosion.Add(val); _listBombCritical.Add((_fBakuraiModel[j].GetHitState() == BattleHitStatus.Clitical) ? true : false); } } else if (hitType == HitType.Miss) { Vector3 position4 = _eBattleship[num2].transform.position; float fMin = position4.x - 0.5f; Vector3 position5 = _eBattleship[num2].transform.position; float fLim = XorRandom.GetFLim(fMin, position5.x + 0.5f); Vector3 position6 = _eBattleship[num2].transform.position; float fMin2 = position6.z - 1f; Vector3 position7 = _eBattleship[num2].transform.position; float fLim2 = XorRandom.GetFLim(fMin2, position7.z + 1f); float num3 = fLim; Vector3 position8 = _eBattleship[num2].transform.position; fLim = ((!(num3 >= position8.x)) ? (fLim - 0.5f) : (fLim + 0.5f)); float num4 = fLim2; Vector3 position9 = _eBattleship[num2].transform.position; fLim2 = ((!(num4 >= position9.z)) ? (fLim2 - 0.5f) : (fLim2 + 0.5f)); 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 = new Vector3(fLim, 0f, fLim2); _listMiss.Add(val2); } } } if (_listExplosion != null) { int count = _listExplosion.Count; } if (_listMiss != null) { int count2 = _listMiss.Count; } _isEx = true; if (_listExplosion != null) { KCV.Utils.SoundUtils.PlaySE((_listExplosion.Count <= 1) ? SEFIleInfos.SE_930 : SEFIleInfos.SE_931); } Observable.FromCoroutine(_explosionPlay).Subscribe(delegate { _isEx = true; }); Observable.FromCoroutine(_missSplashPlay).Subscribe(delegate { _isMiss = true; }); _playSE(FleetType.Friend); }