private bool InitFriendFleetAdvent(object data)
        {
            this._dicPSClouds.get_Item(FleetType.Friend).SetActive(true);
            this._dicPSClouds.get_Item(FleetType.Friend).Play();
            BattleFieldCamera cam          = BattleTaskManager.GetBattleCameras().fieldCameras.get_Item(0);
            UIBattleShip      uIBattleShip = BattleTaskManager.GetBattleShips().dicFriendBattleShips.get_Item(0);
            Vector3           position     = BattleTaskManager.GetBattleField().dicFleetAnchor.get_Item(FleetType.Friend).get_position();

            position.y = uIBattleShip.pointOfGaze.y;
            ShipUtils.PlayBattleStartVoice(uIBattleShip.shipModel);
            cam.ReqViewMode(CameraActor.ViewMode.RotateAroundObject);
            cam.SetRotateAroundObjectCamera(position, BattleDefines.FLEET_ADVENT_START_CAM_POS.get_Item(0), -10f);
            List <float> rotDst = this.CalcCloseUpCamDist(cam.rotateDistance, 30f);

            cam.get_transform().LTValue(cam.rotateDistance, rotDst.get_Item(0), 1f).setEase(BattleDefines.FLEET_ADVENT_FLEET_CLOSEUP_EASEING_TYPE).setOnUpdate(delegate(float x)
            {
                cam.rotateDistance = x;
            }).setOnComplete(delegate
            {
                cam.get_transform().LTValue(cam.rotateDistance, rotDst.get_Item(1), 1f).setEase(BattleDefines.FLEET_ADVENT_FLEET_CLOSEUP_EASEING_TYPE).setOnUpdate(delegate(float x)
                {
                    cam.rotateDistance = x;
                }).setOnComplete(delegate
                {
                    this.EndPhase(BattleUtils.NextPhase(BattlePhase.FleetAdvent));
                });
            });
            return(false);
        }
        private bool InitMoveCameraTo2D(object data)
        {
            BattleFieldCamera       cam                  = BattleTaskManager.GetBattleCameras().fieldCameras.get_Item(0);
            BattleShips             battleShips          = BattleTaskManager.GetBattleShips();
            ProdDetectionStartCutIn pdsc                 = ProdDetectionStartCutIn.Instantiate(BattleTaskManager.GetPrefabFile().prefabProdDetectionStartCutIn.GetComponent <ProdDetectionStartCutIn>(), BattleTaskManager.GetBattleCameras().cutInCamera.get_transform());
            ShipModel_Battle        detectionPrimaryShip = ShipUtils.GetDetectionPrimaryShip(this._clsSakuteki.planes_f, true);
            UIBattleShip            uIBattleShip         = (detectionPrimaryShip == null) ? battleShips.flagShipFriend : battleShips.dicFriendBattleShips.get_Item(detectionPrimaryShip.Index);
            Vector3 vector           = Mathe.NormalizeDirection(uIBattleShip.pointOfGaze, Vector3.get_zero()) * 30f;
            Vector3 fixChasingCamera = new Vector3(uIBattleShip.pointOfGaze.x, uIBattleShip.pointOfGaze.y, uIBattleShip.pointOfGaze.z + vector.z);

            cam.pointOfGaze = uIBattleShip.pointOfGaze;
            cam.ReqViewMode(CameraActor.ViewMode.FixChasing);
            cam.SetFixChasingCamera(fixChasingCamera);
            Vector3   endCamPos = new Vector3(uIBattleShip.pointOfGaze.x, 50f, uIBattleShip.pointOfGaze.z + vector.z * 6f);
            Transform transform = uIBattleShip.get_transform();
            Vector3   position  = BattleTaskManager.GetBattleShips().dicFriendBattleShips.get_Item(0).get_transform().get_position();

            this._psDetectionRipple = Util.Instantiate(ParticleFile.Load(ParticleFileInfos.BattlePSDetectionRipple), null, false, false).GetComponent <ParticleSystem>();
            this._psDetectionRipple.get_transform().set_parent(transform);
            this._psDetectionRipple.get_transform().set_position(new Vector3(position.x, position.y + 0.01f, position.z));
            this._psDetectionRipple.Play();
            pdsc.Play().Subscribe(delegate(bool _)
            {
                cam.get_transform().LTMove(endCamPos, 1.95f).setEase(LeanTweenType.easeInOutCubic);
                Mem.DelComponentSafe <ProdDetectionStartCutIn>(ref pdsc);
            });
            return(false);
        }
示例#3
0
        public virtual void PlayAttack(HougekiModel model, int nCurrentShellingCnt, bool isNextAttack, bool isSkipAttack, Action callback)
        {
            if (model == null)
            {
                Dlg.Call(ref callback);
            }
            BattleTaskManager.GetTorpedoHpGauges().Hide();
            ObserverActionQueue observerAction = BattleTaskManager.GetObserverAction();

            observerAction.Executions();
            this.hougekiModel   = model;
            this._actOnFinished = callback;
            this._isNextAttack  = isNextAttack;
            this._isSkipAttack  = isSkipAttack;
            this.SetDirectionSubjects(this.hougekiModel);
            this._nCurrentAttackCnt = nCurrentShellingCnt;
            BattleShips battleShips = BattleTaskManager.GetBattleShips();

            battleShips.SetStandingPosition(StandingPositionType.OneRow);
            battleShips.SetLayer(Generics.Layers.ShipGirl);
            BattleField battleField = BattleTaskManager.GetBattleField();

            battleField.ResetFleetAnchorPosition();
            this.CorFleetAnchorDifPosition();
            BattleCameras battleCameras = BattleTaskManager.GetBattleCameras();

            battleCameras.SetVerticalSplitCameras(false);
            BattleShips battleShips2 = BattleTaskManager.GetBattleShips();

            battleShips2.SetBollboardTarget(true, battleCameras.fieldCameras.get_Item(0).get_transform());
            battleShips2.SetBollboardTarget(false, battleCameras.fieldCameras.get_Item(1).get_transform());
            battleShips2.SetTorpedoSalvoWakeAngle(false);
            BattleCutInEffectCamera cutInEffectCamera = BattleTaskManager.GetBattleCameras().cutInEffectCamera;
            UITexture component = cutInEffectCamera.get_transform().FindChild("TorpedoLine/OverlayLine").GetComponent <UITexture>();

            if (component != null)
            {
                component.alpha = 0f;
            }
            BattleFieldCamera battleFieldCamera = battleCameras.fieldCameras.get_Item(0);

            battleFieldCamera.clearFlags  = 1;
            battleFieldCamera.cullingMask = BattleTaskManager.GetBattleCameras().GetDefaultLayers();
            battleFieldCamera.eyePosition = this.CalcAttackerCamStartPos;
            battleCameras.SwitchMainCamera(FleetType.Friend);
            BattleFieldCamera battleFieldCamera2 = battleCameras.fieldCameras.get_Item(1);

            battleFieldCamera2.eyePosition = new Vector3(0f, 4f, 0f);
            battleFieldCamera2.eyeRotation = Quaternion.get_identity();
            battleFieldCamera2.fieldOfView = 30f;
            this.SetFieldCamera(true, this.CalcCamPos(true, false), this._listBattleShips.get_Item(0).spPointOfGaze);
            this.SetDimCamera(true, battleFieldCamera.get_transform());
            this.subjectShipLayerFmAnD   = Generics.Layers.FocusDim;
            this.subjectStandingPosFmAnD = StandingPositionType.Advance;
            BattleTaskManager.GetPrefabFile().circleHPGauge.get_transform().localScaleZero();
            this._clsState.AddState(new StatementMachine.StatementMachineInitialize(this.InitAttackerFocus), new StatementMachine.StatementMachineUpdate(this.UpdateAttackerFocus));
        }
示例#4
0
        protected virtual void PlayProtectDefender(List <Vector3> camTargetPos)
        {
            BattleCameras     battleCameras = BattleTaskManager.GetBattleCameras();
            BattleFieldCamera fieldCam      = battleCameras.fieldCameras.get_Item(0);

            fieldCam.get_transform().LTMove(camTargetPos.get_Item(1), BattleDefines.SHELLING_ATTACK_DEFENDER_CLOSEUP_TIME.get_Item(1)).setEase(BattleDefines.SHELLING_ATTACK_DEFENDER_CLOSEUP_EASING_TYPE.get_Item(1));
            Observable.Timer(TimeSpan.FromSeconds(0.42500001192092896)).Subscribe(delegate(long _)
            {
                fieldCam.get_transform().LTCancel();
                this.SetProtecterLayer();
                Vector3 to = this.CalcProtecterPos(camTargetPos.get_Item(3));
                this._listBattleShips.get_Item(2).get_transform().positionZ(to.z);
                this._listBattleShips.get_Item(2).get_transform().LTMove(to, BattleDefines.SHELLING_ATTACK_DEFENDER_CLOSEUP_TIME.get_Item(0) * 1.2f).setEase(LeanTweenType.easeOutSine);
                fieldCam.get_transform().LTMove(camTargetPos.get_Item(2), BattleDefines.SHELLING_ATTACK_DEFENDER_CLOSEUP_TIME.get_Item(0)).setEase(BattleDefines.SHELLING_ATTACK_DEFENDER_CLOSEUP_EASING_TYPE.get_Item(0)).setOnComplete(delegate
                {
                    this.PlayDefenderEffect(this._listBattleShips.get_Item(2), this._listBattleShips.get_Item(2).pointOfGaze, fieldCam, 0.5f);
                    this.ChkDamagedStateFmAnticipating(camTargetPos.get_Item(3));
                });
            });
        }
示例#5
0
        public virtual IObservable <bool> Play(Action onPlayBufferEffect, Action onCalcInitLineRotation, Action onPlayLineAnimation, Action onNextFocusShipAnimation, int nBufferCnt)
        {
            this._nBufferCnt      = Mathe.MinMax2(nBufferCnt, 0, 4);
            this._clsCameraBezier = new Bezier(Bezier.BezierType.Quadratic, this._vStartCameraPivot, this._listEndCameraPivot.get_Item(this._nBufferCnt), this._vMidCameraPivot, Vector3.get_zero());
            this._clsFleetBezier  = new Bezier(Bezier.BezierType.Quadratic, this._vStartFleetPivot, this._vEndFleetPivot, this._vMidFleetPivot, Vector3.get_zero());
            BattleField battleField = BattleTaskManager.GetBattleField();

            this._traFleetAnchorFriend = battleField.dicFleetAnchor.get_Item(FleetType.Friend);
            this._traFleetAnchorEnemy  = battleField.dicFleetAnchor.get_Item(FleetType.Enemy);
            this._traFleetAnchorEnemy.get_transform().set_localScale(Vector3.get_one() * 0.8f);
            BattleCameras battleCameras = BattleTaskManager.GetBattleCameras();

            battleCameras.SetVerticalSplitCameras(false);
            battleCameras.fieldDimCamera.maskAlpha = 0f;
            battleCameras.SwitchMainCamera(FleetType.Enemy);
            BattleFieldCamera battleFieldCamera = battleCameras.fieldCameras.get_Item(1);

            battleFieldCamera.ReqViewMode(CameraActor.ViewMode.FixChasing);
            battleFieldCamera.eyePosition = this._clsCameraBezier.Interpolate(0f);
            battleFieldCamera.pointOfGaze = Vector3.Lerp(this._clsFleetBezier.Interpolate(0f), this._listEnemyFleetPivot.get_Item(this._nBufferCnt), 0.5f);
            battleFieldCamera.get_transform().LookAt(battleFieldCamera.pointOfGaze);
            BattleShips battleShips = BattleTaskManager.GetBattleShips();

            battleShips.SetBollboardTarget(battleFieldCamera.get_transform());
            battleShips.SetLayer(Generics.Layers.ShipGirl);
            BattleCutInEffectCamera cutInEffectCamera = BattleTaskManager.GetBattleCameras().cutInEffectCamera;
            UITexture component = cutInEffectCamera.get_transform().FindChild("TorpedoLine/OverlayLine").GetComponent <UITexture>();

            if (component != null)
            {
                component.alpha = 0f;
            }
            this._actOnPlayBufferEffect       = onPlayBufferEffect;
            this._actOnNextFocusShipAnimation = onNextFocusShipAnimation;
            Observable.NextFrame(FrameCountType.Update).Subscribe(delegate(Unit x)
            {
                Dlg.Call(ref onCalcInitLineRotation);
                Dlg.Call(ref onPlayLineAnimation);
            });
            return(Observable.FromCoroutine <bool>((IObserver <bool> observer) => this.AnimationObserver(observer)));
        }
示例#6
0
        protected virtual void RotateFocusTowardTarget2MoveFieldCam(Vector3 target, Action callback)
        {
            BattleFieldCamera cam    = BattleTaskManager.GetBattleCameras().fieldCameras.get_Item(0);
            Vector3           vector = Vector3.Lerp(cam.eyePosition, target, 0.2f);

            vector.x = target.x;
            vector.y = target.y;
            cam.get_transform().LTMoveX(vector.x, 0.666f).setOnStart(delegate
            {
                this.OnCameraRotateStart();
            }).setEase(LeanTweenType.easeInQuad).setOnUpdate(delegate(float x)
            {
                cam.get_transform().positionX(x);
            });
            cam.get_transform().LTMoveY(vector.y, 0.666f).setEase(LeanTweenType.easeInQuad).setOnUpdate(delegate(float x)
            {
                cam.get_transform().positionY(x);
            });
            cam.get_transform().LTMoveZ(vector.z, 1.1655f).setEase(LeanTweenType.easeInQuad).setOnUpdate(delegate(float x)
            {
                cam.get_transform().positionZ(x);
            }).setOnComplete(delegate
            {
                Dlg.Call(ref callback);
            });
        }
示例#7
0
        protected virtual void SetFieldCamera(bool isAttacker, Vector3 camPos, Vector3 lookPos)
        {
            BattleFieldCamera battleFieldCamera = BattleTaskManager.GetBattleCameras().fieldCameras.get_Item(0);

            if (isAttacker)
            {
                battleFieldCamera.motionBlur.set_enabled(false);
                battleFieldCamera.motionBlur.blurAmount = 0.65f;
                battleFieldCamera.get_transform().set_position(camPos);
                battleFieldCamera.LookAt(lookPos);
                battleFieldCamera.ReqViewMode(CameraActor.ViewMode.NotViewModeCtrl);
                battleFieldCamera.cullingMask = (Generics.Layers.FocusDim | Generics.Layers.UnRefrectEffects);
                battleFieldCamera.clearFlags  = 3;
            }
            else
            {
                battleFieldCamera.motionBlur.set_enabled(false);
                battleFieldCamera.get_transform().set_position(camPos);
                battleFieldCamera.LookAt(lookPos);
                battleFieldCamera.ReqViewMode(CameraActor.ViewMode.NotViewModeCtrl);
            }
        }
        private void InitCameraSettingsForEnemyFocus()
        {
            BattleFieldCamera battleFieldCamera = BattleTaskManager.GetBattleCameras().fieldCameras.get_Item(0);

            battleFieldCamera.get_transform().LTCancel();
            Vector3 pointOfGaze = BattleTaskManager.GetBattleShips().flagShipEnemy.pointOfGaze;

            battleFieldCamera.pointOfGaze = pointOfGaze;
            battleFieldCamera.ReqViewMode(CameraActor.ViewMode.FixChasing);
            Vector3 fixChasingCamera = this.CalcCameraFleetFocusPos(this._iResult);

            battleFieldCamera.SetFixChasingCamera(fixChasingCamera);
        }
示例#9
0
        private bool InitSearchNFlare(object data)
        {
            BattleCameras     battleCameras     = BattleTaskManager.GetBattleCameras();
            BattleFieldCamera battleFieldCamera = battleCameras.fieldCameras.get_Item(0);

            battleFieldCamera.flareLayer.set_enabled(true);
            bool searchLightShip = this._clsNightCombat.GetSearchLightShip(true) != null;
            bool flareShip       = this._clsNightCombat.GetFlareShip(true) != null;

            if (searchLightShip || flareShip)
            {
                if (this._prodNightRadarDeployment != null)
                {
                    this._prodNightRadarDeployment.RadarObjectConvergence();
                }
                Mem.DelComponentSafe <ProdNightRadarDeployment>(ref this._prodNightRadarDeployment);
                ObserverActionQueue observerAction = BattleTaskManager.GetObserverAction();
                observerAction.Executions();
                BattleTaskManager.GetBattleShips().SetStandingPosition(StandingPositionType.OneRow);
                battleFieldCamera.ReqViewMode(CameraActor.ViewMode.Fix);
                battleFieldCamera.get_transform().set_position(this._vCameraOriginPos);
                battleFieldCamera.get_transform().set_rotation(Quaternion.get_identity());
                ShipModel_BattleAll shipModel_BattleAll = (!searchLightShip) ? this._clsNightCombat.GetFlareShip(true) : this._clsNightCombat.GetSearchLightShip(true);
                if (shipModel_BattleAll != null)
                {
                    BattleField  battleField  = BattleTaskManager.GetBattleField();
                    UIBattleShip uIBattleShip = BattleTaskManager.GetBattleShips().dicFriendBattleShips.get_Item(shipModel_BattleAll.Index);
                    float        x            = -uIBattleShip.get_transform().get_position().x;
                    battleField.dicFleetAnchor.get_Item(FleetType.Friend).get_transform().AddPosX(x);
                    battleFieldCamera.get_transform().AddPosX(x);
                }
            }
            this.SearchLight_FlareBullet_PlayAnimation().Subscribe(delegate(int _)
            {
                this.OnSearchNFlareFinished();
            });
            return(false);
        }
示例#10
0
        protected virtual void PlayDefenderMiss(UIBattleShip ship, Vector3 defenderPos, BattleFieldCamera fieldCamera)
        {
            SoundUtils.PlayDamageSE(HitState.Miss, false);
            ParticleSystem splashMiss = BattleTaskManager.GetParticleFile().splashMiss;

            splashMiss.get_transform().set_parent(this.particleParent);
            splashMiss.SetLayer(Generics.Layers.UnRefrectEffects.IntLayer(), true);
            splashMiss.get_transform().set_position(Vector3.Lerp(fieldCamera.get_transform().get_position(), defenderPos, 1f));
            splashMiss.get_transform().positionY(0f);
            splashMiss.get_transform().set_localPosition(new Vector3(splashMiss.get_transform().get_localPosition().x, splashMiss.get_transform().get_localPosition().y, (!ship.shipModel.IsFriend()) ? -15f : 15f));
            splashMiss.SetActive(true);
            splashMiss.Play();
            this.PlayHpGaugeDamage(ship, this.hitState);
        }
示例#11
0
        protected virtual void PlayDefenderGard(UIBattleShip ship, Vector3 defenderPos, BattleFieldCamera fieldCamera)
        {
            ParticleSystem explosionB3WhiteSmoke = BattleTaskManager.GetParticleFile().explosionB3WhiteSmoke;

            explosionB3WhiteSmoke.get_transform().set_parent(this.particleParent);
            explosionB3WhiteSmoke.SetLayer(Generics.Layers.UnRefrectEffects.IntLayer(), true);
            explosionB3WhiteSmoke.get_transform().set_position(Vector3.Lerp(fieldCamera.get_transform().get_position(), defenderPos, 0.9f));
            explosionB3WhiteSmoke.SetActive(true);
            explosionB3WhiteSmoke.Play();
            SoundUtils.PlayDamageSE(HitState.Gard, false);
            this.PlayDamageVoice(ship, this._clsHougekiModel.Defender.DamageEventAfter);
            this.PlayHpGaugeDamage(ship, this.hitState);
            fieldCamera.cameraShake.ShakeRot(null);
        }
示例#12
0
 protected virtual void RotateFocusTowardsTarget2RotateFieldCam(Vector3 target)
 {
     Observable.Timer(TimeSpan.FromSeconds(0.30000001192092896)).Subscribe(delegate(long _)
     {
         BattleFieldCamera cam = BattleTaskManager.GetBattleCameras().fieldCameras.get_Item(0);
         float num             = (!this._listBattleShips.get_Item(0).shipModel.IsFriend()) ? -180f : 180f;
         Vector3 vector        = new Vector3(cam.eyeRotation.x, num, cam.eyeRotation.z);
         cam.get_transform().LTRotateAround(Vector3.get_up(), num, 0.666f).setEase(LeanTweenType.easeInQuad).setOnComplete(delegate
         {
             cam.LookAt(target);
             cam.ReqViewMode(CameraActor.ViewMode.FixChasing);
         });
     });
 }
        private bool InitEnemyFleetFocus(object data)
        {
            this.SetEnemyShipsDrawType(this._iResult);
            BattleFieldCamera battleFieldCamera = BattleTaskManager.GetBattleCameras().fieldCameras.get_Item(0);
            Vector3           pointOfGaze       = BattleTaskManager.GetBattleShips().flagShipEnemy.pointOfGaze;
            Vector3           vector            = Vector3.Lerp(battleFieldCamera.eyePosition, pointOfGaze, 0.3f);

            battleFieldCamera.get_transform().LTMove(vector, 2.7f).setEase(LeanTweenType.linear);
            this._tpFocusPoint = new Tuple <Vector3, float>(vector, Vector3.Distance(Vector3.Lerp(battleFieldCamera.eyePosition, vector, 0.7f), vector));
            ProdCloud prodCloud = BattleTaskManager.GetPrefabFile().prodCloud;

            prodCloud.Play(this.GetFleetFocusAnim(this._iResult), null, null);
            return(false);
        }
示例#14
0
 protected virtual void LateUpdate()
 {
     if (this.animation.get_isPlaying())
     {
         this._vCameraPos = this._clsCameraBezier.Interpolate(this._fProgress);
         this._vFleetPos  = this._clsFleetBezier.Interpolate(this._fProgress);
         if (Application.get_isPlaying())
         {
             BattleFieldCamera battleFieldCamera = BattleTaskManager.GetBattleCameras().fieldCameras.get_Item(1);
             battleFieldCamera.get_transform().set_position(this._vCameraPos);
             battleFieldCamera.fieldOfView = this._fFov;
             this._vCameraPog = Vector3.Lerp(this._vFleetPos, this._listEnemyFleetPivot.get_Item(this._nBufferCnt), 0.5f);
             battleFieldCamera.pointOfGaze = this._vCameraPog;
             this._traFleetAnchorFriend.set_position(this._vFleetPos);
             this._traFleetAnchorEnemy.set_position(this._listEnemyFleetPivot.get_Item(this._nBufferCnt));
             this._traFleetAnchorFriend.set_rotation(Quaternion.Euler(new Vector3(0f, this._fFleetRotation, 0f)));
         }
     }
 }
示例#15
0
        protected virtual void ChkDamagedStateFmAnticipating(Vector3 closeUpPos)
        {
            BattleCameras     battleCameras     = BattleTaskManager.GetBattleCameras();
            BattleFieldCamera battleFieldCamera = battleCameras.fieldCameras.get_Item(0);

            switch (this._clsHougekiModel.Defender.DamageEventAfter)
            {
            case DamagedStates.None:
            case DamagedStates.Shouha:
                battleFieldCamera.get_transform().LTMove(closeUpPos, BattleDefines.SHELLING_ATTACK_DEFENDER_CLOSEUP_TIME.get_Item(1)).setEase(BattleDefines.SHELLING_ATTACK_DEFENDER_CLOSEUP_EASING_TYPE.get_Item(1)).setOnComplete(delegate
                {
                    this.OnFinished();
                });
                break;

            case DamagedStates.Tyuuha:
            case DamagedStates.Taiha:
                battleFieldCamera.get_transform().LTMove(closeUpPos, BattleDefines.SHELLING_ATTACK_DEFENDER_CLOSEUP_TIME.get_Item(1)).setEase(BattleDefines.SHELLING_ATTACK_DEFENDER_CLOSEUP_EASING_TYPE.get_Item(1)).setOnComplete(delegate
                {
                    ShellingProdSubject shellingProdSubject2 = (!this.isProtect) ? ShellingProdSubject.Defender : ShellingProdSubject.Protector;
                    if (this._listBattleShips.get_Item((int)shellingProdSubject2).shipModel.IsFriend())
                    {
                        DamagedStates damageEventAfter        = this._clsHougekiModel.Defender.DamageEventAfter;
                        ProdDamageCutIn.DamageCutInType iType = (damageEventAfter != DamagedStates.Taiha) ? ProdDamageCutIn.DamageCutInType.Moderate : ProdDamageCutIn.DamageCutInType.Heavy;
                        ProdDamageCutIn prodDamageCutIn       = BattleTaskManager.GetPrefabFile().prodDamageCutIn;
                        ProdDamageCutIn arg_76_0       = prodDamageCutIn;
                        List <ShipModel_Defender> list = new List <ShipModel_Defender>();
                        list.Add(this._clsHougekiModel.Defender);
                        arg_76_0.SetShipData(list, iType);
                        prodDamageCutIn.Play(iType, delegate
                        {
                            BattleTaskManager.GetPrefabFile().circleHPGauge.get_transform().set_localScale(Vector3.get_zero());
                        }, delegate
                        {
                            BattleTaskManager.GetBattleShips().UpdateDamageAll(this._clsHougekiModel);
                            this.OnFinished();
                        });
                    }
                    else
                    {
                        this.OnFinished();
                    }
                });
                break;

            case DamagedStates.Gekichin:
            case DamagedStates.Youin:
            case DamagedStates.Megami:
            {
                bool isFriend = this._listBattleShips.get_Item(1).shipModel.IsFriend();
                ShellingProdSubject shellingProdSubject = (!this.isProtect) ? ShellingProdSubject.Defender : ShellingProdSubject.Protector;
                this._listBattleShips.get_Item((int)shellingProdSubject).PlayProdSinking(null);
                battleFieldCamera.get_transform().LTMove(closeUpPos, BattleDefines.SHELLING_ATTACK_DEFENDER_CLOSEUP_TIME.get_Item(2)).setEase(BattleDefines.SHELLING_ATTACK_DEFENDER_CLOSEUP_EASING_TYPE.get_Item(1)).setOnComplete(delegate
                    {
                        if (!isFriend)
                        {
                            this.OnFinished();
                        }
                    });
                if (isFriend)
                {
                    Observable.Timer(TimeSpan.FromSeconds(1.0)).Subscribe(delegate(long _)
                        {
                            ProdSinking prodSinking = BattleTaskManager.GetPrefabFile().prodSinking;
                            prodSinking.SetSinkingData(this._clsHougekiModel.Defender);
                            prodSinking.Play(delegate
                            {
                                BattleTaskManager.GetPrefabFile().circleHPGauge.get_transform().set_localScale(Vector3.get_zero());
                            }, delegate
                            {
                            }, delegate
                            {
                                this.OnFinished();
                            });
                            BattleTaskManager.GetPrefabFile().circleHPGauge.get_transform().set_localScale(Vector3.get_zero());
                        });
                }
                break;
            }
            }
        }