Example #1
0
        private bool _initTorpedoExplosion(object data)
        {
            CenterLine.alpha = 1f;
            BattleField   battleField   = BattleTaskManager.GetBattleField();
            BattleCameras battleCameras = BattleTaskManager.GetBattleCameras();

            if (_prodTorpedoSalvoPhase2 != null)
            {
                _prodTorpedoSalvoPhase2.deleteTorpedoWake();
                UnityEngine.Object.Destroy(_prodTorpedoSalvoPhase2.transform.gameObject);
            }
            _prodTorpedoSalvoPhase2 = null;
            battleCameras.SetVerticalSplitCameras(isSplit: true);
            battleCameras.friendFieldCamera.ReqViewMode(CameraActor.ViewMode.NotViewModeCtrl);
            battleCameras.enemyFieldCamera.ReqViewMode(CameraActor.ViewMode.NotViewModeCtrl);
            Vector3 position = battleField.dicCameraAnchors[CameraAnchorType.OneRowAnchor][FleetType.Friend].position;

            battleCameras.friendFieldCamera.transform.position      = new Vector3(-51f, 8f, 90f);
            battleCameras.friendFieldCamera.transform.localRotation = Quaternion.Euler(new Vector3(10.5f, 70f, 0f));
            Vector3 position2 = battleField.dicCameraAnchors[CameraAnchorType.OneRowAnchor][FleetType.Enemy].position;

            battleCameras.enemyFieldCamera.transform.position      = new Vector3(-51f, 8f, -90f);
            battleCameras.enemyFieldCamera.transform.localRotation = Quaternion.Euler(new Vector3(10.5f, 111f, 0f));
            BattleTaskManager.GetBattleShips().SetBollboardTarget(isFriend: false, battleCameras.enemyFieldCamera.transform);
            _prodTorpedoSalvoPhase3.Play(_onTorpedoExplosionFinished);
            return(false);
        }
        private bool _initAircraftSecond(object data)
        {
            BattleCameras     battleCameras = BattleTaskManager.GetBattleCameras();
            BattleCutInCamera cutInCamera   = battleCameras.cutInCamera;

            cutInCamera.isCulling = true;
            BattleCutInEffectCamera cutInEffectCamera = BattleTaskManager.GetBattleCameras().cutInEffectCamera;

            cutInEffectCamera.isCulling = true;
            CutInType cutInType = (_clsKoukuu2.GetCaptainShip(is_friend: true) != null && _clsKoukuu2.GetCaptainShip(is_friend: false) != null) ? CutInType.Both : ((_clsKoukuu2.GetCaptainShip(is_friend: true) == null) ? CutInType.EnemyOnly : CutInType.FriendOnly);

            if (cutInType == CutInType.Both)
            {
                battleCameras.SetSplitCameras2D(isSplit: true);
                cutInCamera.isCulling       = true;
                cutInEffectCamera.isCulling = true;
            }
            else
            {
                if (cutInType == CutInType.FriendOnly)
                {
                    cutInEffectCamera.isCulling = false;
                }
                battleCameras.SetSplitCameras2D(isSplit: false);
            }
            _prodAerialSecondP1.gameObject.SetActive(true);
            _prodAerialSecondP1.Play(_onAerialSecondPhase1Finished);
            return(false);
        }
Example #3
0
        private IEnumerator CreateAerialCombatCutIn(IObserver <bool> observer)
        {
            BattleCameras     cams = BattleTaskManager.GetBattleCameras();
            BattleCutInCamera cam  = cams.cutInCamera;

            cam.isCulling     = true;
            _prodAerialCutinP = ProdAerialCombatCutinP.Instantiate(((Component)BattleTaskManager.GetPrefabFile().prefabProdAerialCombatCutinP).GetComponent <ProdAerialCombatCutinP>(), _clsKoukuu, cam.transform);
            yield return(new WaitForEndOfFrame());

            _prodAerialCombatP1 = ProdAerialCombatP1.Instantiate(((Component)BattleTaskManager.GetPrefabFile().prefabProdAerialCombatP1).GetComponent <ProdAerialCombatP1>(), _clsKoukuu, cam.transform.parent, _prodAerialCutinP._chkCutInType());
            _prodAerialCombatP1.gameObject.SetActive(false);
            yield return(new WaitForEndOfFrame());

            _prodAerialCombatP2 = ProdAerialCombatP2.Instantiate(PrefabFile.Load <ProdAerialCombatP2>(PrefabFileInfos.BattleProdAerialCombatP2), _clsKoukuu, cam.transform);
            _prodAerialCombatP2.gameObject.SetActive(false);
            yield return(new WaitForEndOfFrame());

            _prodAerialCombatP2.CreateHpGauge(FleetType.Friend);
            yield return(new WaitForEndOfFrame());

            _prodAerialTouchPlane = ProdAerialTouchPlane.Instantiate(Resources.Load <ProdAerialTouchPlane>("Prefabs/Battle/Production/AerialCombat/ProdAerialTouchPlane"), cam.transform);
            _prodAerialTouchPlane.transform.localPosition = Vector3.zero;
            _prodAerialTouchPlane.SetActive(isActive: false);
            observer.OnNext(value: true);
            observer.OnCompleted();
        }
Example #4
0
        private IEnumerator CreateAerialCombatCutIn(IObserver <bool> observer)
        {
            BattleCameras           cams         = BattleTaskManager.GetBattleCameras();
            BattleCutInCamera       inCam        = BattleTaskManager.GetBattleCameras().cutInCamera;
            BattleCutInEffectCamera efCam        = BattleTaskManager.GetBattleCameras().cutInEffectCamera;
            BattleShips             _battleShips = BattleTaskManager.GetBattleShips();

            _prodSupportAerialPhase1 = ProdSupportAerialPhase1.Instantiate(fShips: _battleShips.dicFriendBattleShips, eShips: _battleShips.dicEnemyBattleShips, prefab: Resources.Load <ProdSupportAerialPhase1>("Prefabs/Battle/Production/SupportingFire/ProdSupportAerialPhase1"), model: _clsAerial, parent: cams.cutInCamera.transform.parent);
            if (_clsAerial.GetPlanes(is_friend: true) != null && _clsAerial.GetPlanes(is_friend: false) != null)
            {
                inCam.isCulling = true;
                efCam.isCulling = true;
            }
            else if (_clsAerial.GetPlanes(is_friend: true) != null)
            {
                efCam.isCulling = false;
            }
            yield return(new WaitForEndOfFrame());

            _prodSupportAerialPhase2 = ProdSupportAerialPhase2.Instantiate(Resources.Load <ProdSupportAerialPhase2>("Prefabs/Battle/Production/SupportingFire/ProdSupportAerialPhase2"), _clsAerial, inCam.transform);
            yield return(new WaitForEndOfFrame());

            _prodSupportAerialPhase2.CreateHpGauge(FleetType.Enemy);
            yield return(new WaitForEndOfFrame());

            observer.OnNext(value: true);
            observer.OnCompleted();
        }
Example #5
0
        private bool _initAircraftCombat(object data)
        {
            BattleCameras     battleCameras = BattleTaskManager.GetBattleCameras();
            BattleCutInCamera cutInCamera   = battleCameras.cutInCamera;

            cutInCamera.isCulling = true;
            BattleCutInEffectCamera cutInEffectCamera = BattleTaskManager.GetBattleCameras().cutInEffectCamera;

            cutInEffectCamera.isCulling = true;
            if (_prodAerialCutinP._cutinPhaseCheck())
            {
                battleCameras.SetSplitCameras2D(isSplit: true);
            }
            if (_prodAerialCutinP._chkCutInType() == CutInType.Both)
            {
                cutInCamera.isCulling       = true;
                cutInEffectCamera.isCulling = true;
            }
            else if (_prodAerialCutinP._chkCutInType() == CutInType.FriendOnly)
            {
                cutInEffectCamera.isCulling = false;
            }
            Object.Destroy(_prodAerialCutinP.gameObject);
            _prodAerialCombatP1.gameObject.SetActive(true);
            _prodAerialCombatP1.Play(_onAerialCombatPhase1Finished);
            return(false);
        }
Example #6
0
        private bool _initAerialSecondCutIn(object data)
        {
            BattleCameras     battleCameras = BattleTaskManager.GetBattleCameras();
            BattleCutInCamera cutInCamera   = battleCameras.cutInCamera;

            cutInCamera.isCulling = true;
            CutInType iType;

            if (this._clsKoukuu2.GetCaptainShip(true) != null && this._clsKoukuu2.GetCaptainShip(false) != null)
            {
                iType = CutInType.Both;
            }
            else if (this._clsKoukuu2.GetCaptainShip(true) != null)
            {
                iType = CutInType.FriendOnly;
            }
            else
            {
                iType = CutInType.EnemyOnly;
            }
            this._prodAerialSecondP1 = ProdAerialCombatP1.Instantiate(PrefabFile.Load <ProdAerialCombatP1>(PrefabFileInfos.BattleProdAerialCombatP1), this._clsKoukuu2, cutInCamera.get_transform().get_parent(), iType);
            this._prodAerialSecondP1.get_gameObject().SetActive(false);
            this._prodAerialSecondP2 = ProdAerialCombatP2.Instantiate(PrefabFile.Load <ProdAerialCombatP2>(PrefabFileInfos.BattleProdAerialCombatP2), this._clsKoukuu2, cutInCamera.get_transform());
            this._prodAerialSecondP2.CreateHpGauge(FleetType.Friend);
            this._prodAerialSecondP2.get_gameObject().SetActive(false);
            this._onAerialSecondCutInFinished();
            return(false);
        }
Example #7
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));
        }
        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();
            hougekiModel   = model;
            _actOnFinished = callback;
            _isNextAttack  = isNextAttack;
            _isSkipAttack  = isSkipAttack;
            SetDirectionSubjects(hougekiModel);
            _nCurrentAttackCnt = nCurrentShellingCnt;
            BattleShips battleShips = BattleTaskManager.GetBattleShips();

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

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

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

            battleShips2.SetBollboardTarget(isFriend: true, battleCameras.fieldCameras[0].transform);
            battleShips2.SetBollboardTarget(isFriend: false, battleCameras.fieldCameras[1].transform);
            battleShips2.SetTorpedoSalvoWakeAngle(isSet: false);
            BattleCutInEffectCamera cutInEffectCamera = BattleTaskManager.GetBattleCameras().cutInEffectCamera;
            UITexture component = ((Component)cutInEffectCamera.transform.FindChild("TorpedoLine/OverlayLine")).GetComponent <UITexture>();

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

            battleFieldCamera.clearFlags  = CameraClearFlags.Skybox;
            battleFieldCamera.cullingMask = BattleTaskManager.GetBattleCameras().GetDefaultLayers();
            battleFieldCamera.eyePosition = CalcAttackerCamStartPos;
            battleCameras.SwitchMainCamera(FleetType.Friend);
            BattleFieldCamera battleFieldCamera2 = battleCameras.fieldCameras[1];

            battleFieldCamera2.eyePosition = new Vector3(0f, 4f, 0f);
            battleFieldCamera2.eyeRotation = Quaternion.identity;
            battleFieldCamera2.fieldOfView = 30f;
            SetFieldCamera(isAttacker: true, CalcCamPos(isAttacker: true, isPointOfGaze: false), _listBattleShips[0].spPointOfGaze);
            SetDimCamera(isAttacker: true, battleFieldCamera.transform);
            subjectShipLayerFmAnD   = Generics.Layers.FocusDim;
            subjectStandingPosFmAnD = StandingPositionType.Advance;
            BattleTaskManager.GetPrefabFile().circleHPGauge.transform.localScaleZero();
            _clsState.AddState(InitAttackerFocus, UpdateAttackerFocus);
        }
Example #9
0
        private IEnumerator CreateCutIn(IObserver <bool> observer)
        {
            BattleCameras cams = BattleTaskManager.GetBattleCameras();

            cams.SwitchMainCamera(FleetType.Friend);
            cams.InitEnemyFieldCameraDefault();
            _prodSupportCutIn = ProdSupportCutIn.Instantiate(parent: cams.cutInCamera.transform, prefab: ((Component)BattleTaskManager.GetPrefabFile().prefabProdSupportCutIn).GetComponent <ProdSupportCutIn>(), model: _clsShien);
            yield return(new WaitForEndOfFrame());

            observer.OnNext(value: true);
            observer.OnCompleted();
        }
 private bool InitWithdrawalSelection(object data)
 {
     _prodWithdrawalDecisionSelection.Play(delegate
     {
         BattleTaskManager.GetPrefabFile().DisposeProdCommandBuffer();
         ObserverActionQueue observerAction = BattleTaskManager.GetObserverAction();
         observerAction.Executions();
         BattleField battleField = BattleTaskManager.GetBattleField();
         battleField.ResetFleetAnchorPosition();
         battleField.enemySeaLevel.SetActive(isActive: true);
         battleField.ReqTimeZone(KCV.Battle.Utils.TimeZone.Night, BattleTaskManager.GetSkyType());
         battleField.AlterWaveDirection(FleetType.Friend, FleetType.Friend);
         battleField.AlterWaveDirection(FleetType.Enemy, FleetType.Enemy);
         BattleShips battleShips = BattleTaskManager.GetBattleShips();
         battleShips.RadarDeployment(isDeploy: false);
         battleShips.SetShipDrawType(FleetType.Enemy, ShipDrawType.Normal);
         battleShips.SetStandingPosition(StandingPositionType.OneRow);
         battleShips.SetLayer(Generics.Layers.ShipGirl);
         BattleCameras battleCameras = BattleTaskManager.GetBattleCameras();
         battleCameras.InitEnemyFieldCameraDefault();
         battleCameras.SetVerticalSplitCameras(isSplit: false);
         if (!battleCameras.isSplit)
         {
             battleCameras.SetSplitCameras(isSplit: true);
         }
         battleCameras.ResetFieldCamSettings(FleetType.Friend);
         battleCameras.ResetFieldCamSettings(FleetType.Enemy);
         battleCameras.fieldDimCameraEnabled(isEnabled: false);
         BattleFieldCamera battleFieldCamera = BattleTaskManager.GetBattleCameras().fieldCameras[0];
         battleFieldCamera.ReqViewMode(CameraActor.ViewMode.Fix);
         battleFieldCamera.SetFixCamera(_dicSplitCameraPos[FleetType.Friend], _dicSplitCameraRot[FleetType.Friend]);
         battleFieldCamera.cullingMask = battleCameras.GetDefaultLayers();
         battleFieldCamera             = BattleTaskManager.GetBattleCameras().fieldCameras[1];
         battleFieldCamera.ReqViewMode(CameraActor.ViewMode.Fix);
         battleFieldCamera.SetFixCamera(_dicSplitCameraPos[FleetType.Enemy], _dicSplitCameraRot[FleetType.Enemy]);
         battleFieldCamera.cullingMask = battleCameras.GetEnemyCamSplitLayers();
         BattleShips battleShips2      = BattleTaskManager.GetBattleShips();
         battleShips2.SetBollboardTarget(isFriend: true, battleCameras.fieldCameras[0].transform);
         battleShips2.SetBollboardTarget(isFriend: false, battleCameras.fieldCameras[1].transform);
         battleShips2.SetTorpedoSalvoWakeAngle(isSet: false);
         BattleCutInEffectCamera cutInEffectCamera = BattleTaskManager.GetBattleCameras().cutInEffectCamera;
         cutInEffectCamera.isCulling = false;
         UITexture component         = ((Component)cutInEffectCamera.transform.FindChild("TorpedoLine/OverlayLine")).GetComponent <UITexture>();
         if (component != null)
         {
             component.alpha = 0f;
         }
         BattleTaskManager.GetTorpedoHpGauges().SetDestroy();
     }, OnDecideWithdrawalButton);
     return(false);
 }
Example #11
0
        protected virtual bool InitRotateFocus(object data)
        {
            BattleCameras     battleCameras     = BattleTaskManager.GetBattleCameras();
            BattleFieldCamera battleFieldCamera = battleCameras.fieldCameras.get_Item(0);

            battleFieldCamera.motionBlur.set_enabled(false);
            this.GraSubDimCameraMaskAlpha(BattleDefines.SHELLING_ATTACK_ATTACKER_CLOSEUP_TIME.get_Item(0));
            this.RotateFocusTowardsTarget2RotateFieldCam(this._listBattleShips.get_Item(1).spPointOfGaze);
            this.RotateFocusTowardTarget2MoveFieldCam(this._listBattleShips.get_Item(1).spPointOfGaze, delegate
            {
                this._clsState.AddState(new StatementMachine.StatementMachineInitialize(this.InitDefenderFocus), new StatementMachine.StatementMachineUpdate(this.UpdateDefenderFocus));
            });
            return(false);
        }
        protected virtual bool InitRotateFocus(object data)
        {
            BattleCameras     battleCameras     = BattleTaskManager.GetBattleCameras();
            BattleFieldCamera battleFieldCamera = battleCameras.fieldCameras[0];

            battleFieldCamera.motionBlur.enabled = false;
            GraSubDimCameraMaskAlpha(BattleDefines.SHELLING_ATTACK_ATTACKER_CLOSEUP_TIME[0]);
            RotateFocusTowardsTarget2RotateFieldCam(_listBattleShips[1].spPointOfGaze);
            RotateFocusTowardTarget2MoveFieldCam(_listBattleShips[1].spPointOfGaze, delegate
            {
                _clsState.AddState(InitDefenderFocus, UpdateDefenderFocus);
            });
            return(false);
        }
        private bool _initAerialSecondCutIn(object data)
        {
            BattleCameras     battleCameras = BattleTaskManager.GetBattleCameras();
            BattleCutInCamera cutInCamera   = battleCameras.cutInCamera;

            cutInCamera.isCulling = true;
            _prodAerialSecondP1   = ProdAerialCombatP1.Instantiate(iType: (_clsKoukuu2.GetCaptainShip(is_friend: true) != null && _clsKoukuu2.GetCaptainShip(is_friend: false) != null) ? CutInType.Both : ((_clsKoukuu2.GetCaptainShip(is_friend: true) == null) ? CutInType.EnemyOnly : CutInType.FriendOnly), prefab: PrefabFile.Load <ProdAerialCombatP1>(PrefabFileInfos.BattleProdAerialCombatP1), model: _clsKoukuu2, parent: cutInCamera.transform.parent);
            _prodAerialSecondP1.gameObject.SetActive(false);
            _prodAerialSecondP2 = ProdAerialCombatP2.Instantiate(PrefabFile.Load <ProdAerialCombatP2>(PrefabFileInfos.BattleProdAerialCombatP2), _clsKoukuu2, cutInCamera.transform);
            _prodAerialSecondP2.CreateHpGauge(FleetType.Friend);
            _prodAerialSecondP2.gameObject.SetActive(false);
            _onAerialSecondCutInFinished();
            return(false);
        }
Example #14
0
        private bool _initAerialCombatCutIn(object data)
        {
            BattleCameras     battleCameras = BattleTaskManager.GetBattleCameras();
            BattleCutInCamera cutInCamera   = battleCameras.cutInCamera;

            cutInCamera.isCulling    = true;
            this._prodAerialCutinP   = ProdAerialSecondCutIn.Instantiate(PrefabFile.Load <ProdAerialSecondCutIn>(PrefabFileInfos.BattleProdAerialSecondCutIn), this._clsKoukuu1, cutInCamera.get_transform());
            this._prodAerialCombatP1 = ProdAerialCombatP1.Instantiate(PrefabFile.Load <ProdAerialCombatP1>(PrefabFileInfos.BattleProdAerialCombatP1), this._clsKoukuu1, cutInCamera.get_transform().get_parent(), this._prodAerialCutinP._chkCutInType());
            this._prodAerialCombatP1.get_gameObject().SetActive(false);
            this._prodAerialCombatP2 = ProdAerialCombatP2.Instantiate(PrefabFile.Load <ProdAerialCombatP2>(PrefabFileInfos.BattleProdAerialCombatP2), this._clsKoukuu1, cutInCamera.get_transform());
            this._prodAerialCombatP2.CreateHpGauge(FleetType.Friend);
            this._prodAerialCombatP2.get_gameObject().SetActive(false);
            this._prodAerialCutinP.Play(new Action(this._onAerialCombatCutInFinished));
            return(false);
        }
Example #15
0
        protected virtual void SetDimCamera(bool isAttacker, Transform syncTarget)
        {
            BattleCameras        battleCameras  = BattleTaskManager.GetBattleCameras();
            BattleFieldDimCamera fieldDimCamera = battleCameras.fieldDimCamera;

            if (isAttacker)
            {
                fieldDimCamera.syncTarget = syncTarget;
                fieldDimCamera.SyncTransform();
                fieldDimCamera.cullingMask = battleCameras.GetDefaultLayers();
                fieldDimCamera.maskAlpha   = 0f;
                fieldDimCamera.isCulling   = true;
                fieldDimCamera.isSync      = true;
            }
        }
Example #16
0
        private new void Start()
        {
            InitBattleData();
            _clsSettingModel   = new SettingModel();
            _iPhase            = (_iPhaseReq = BattlePhase.BattlePhase_BEF);
            _traStage          = base.transform.FindChild("Stage");
            _clsBattleShips    = new BattleShips();
            _clsBattleCameras  = new BattleCameras();
            _clsBattleHPGauges = new BattleHPGauges();
            _clsBattleField    = base.transform.GetComponentInChildren <BattleField>();
            UICircleHPGauge    circleHPGauge    = _clsBattlePrefabFile.circleHPGauge;
            UIBattleNavigation battleNavigation = _clsBattlePrefabFile.battleNavigation;

            battleNavigation.panel.depth = 100;
            _clsTorpedoHpGauges          = new TorpedoHpGauges();
            _clsBattleShips.Init(GetBattleManager());
            _clsBattleField.ReqTimeZone(GetStartTimeZone(GetBattleManager().WarType), GetSkyType());
            KCV.Utils.SoundUtils.SwitchBGM((BGMFileInfos)GetBattleManager().GetBgmId());
            ProdSortieTransitionToBattle psttb = (SortieBattleTaskManager.GetSortieBattlePrefabFile() != null) ? SortieBattleTaskManager.GetSortieBattlePrefabFile().prodSortieTransitionToBattle : ProdSortieTransitionToBattle.Instantiate(Resources.Load <ProdSortieTransitionToBattle>("Prefabs/SortieMap/SortieTransitionToBattle/ProdSortieTransitionToBattle"), _clsBattleCameras.cutInCamera.transform).QuickFadeInInit();

            Observable.FromCoroutine((UniRx.IObserver <float> observer) => InitBattle(observer)).Subscribe(delegate(float x)
            {
                if (x == 1f)
                {
                    _iPhase = (_iPhaseReq = BattlePhase.FleetAdvent);
                    Observable.Timer(TimeSpan.FromSeconds(0.30000001192092896)).Subscribe(delegate
                    {
                        _clsBattleField.AlterWaveDirection(FleetType.Friend);
                        psttb.Play(ProdSortieTransitionToBattle.AnimationName.ProdSortieTransitionToBattleFadeIn, delegate
                        {
                            if (SortieBattleTaskManager.GetSortieBattlePrefabFile() != null)
                            {
                                SortieBattleTaskManager.GetSortieBattlePrefabFile().DisposeProdSortieTransitionToBattle();
                            }
                            else
                            {
                                UnityEngine.Object.Destroy(psttb.gameObject);
                            }
                            if (SortieBattleTaskManager.GetTransitionCamera() != null)
                            {
                                SortieBattleTaskManager.GetTransitionCamera().enabled = false;
                            }
                            Mem.Del(ref psttb);
                        });
                    });
                }
            }).AddTo(base.gameObject);
        }
Example #17
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));
                });
            });
        }
        protected virtual void PlayProtectDefender(List <Vector3> camTargetPos)
        {
            BattleCameras     battleCameras = BattleTaskManager.GetBattleCameras();
            BattleFieldCamera fieldCam      = battleCameras.fieldCameras[0];

            fieldCam.transform.LTMove(camTargetPos[1], BattleDefines.SHELLING_ATTACK_DEFENDER_CLOSEUP_TIME[1]).setEase(BattleDefines.SHELLING_ATTACK_DEFENDER_CLOSEUP_EASING_TYPE[1]);
            Observable.Timer(TimeSpan.FromSeconds(0.42500001192092896)).Subscribe(delegate
            {
                fieldCam.transform.LTCancel();
                SetProtecterLayer();
                Vector3 to = CalcProtecterPos(camTargetPos[3]);
                _listBattleShips[2].transform.positionZ(to.z);
                _listBattleShips[2].transform.LTMove(to, BattleDefines.SHELLING_ATTACK_DEFENDER_CLOSEUP_TIME[0] * 1.2f).setEase(LeanTweenType.easeOutSine);
                fieldCam.transform.LTMove(camTargetPos[2], BattleDefines.SHELLING_ATTACK_DEFENDER_CLOSEUP_TIME[0]).setEase(BattleDefines.SHELLING_ATTACK_DEFENDER_CLOSEUP_EASING_TYPE[0]).setOnComplete((Action) delegate
                {
                    PlayDefenderEffect(_listBattleShips[2], _listBattleShips[2].pointOfGaze, fieldCam, 0.5f);
                    ChkDamagedStateFmAnticipating(camTargetPos[3]);
                });
            });
        }
Example #19
0
        public void ReqTimeZone(KCV.Battle.Utils.TimeZone iTime, SkyType iSkyType)
        {
            _fogSettings(iTime);
            Color seaColor = GetSeaColor(iTime, iSkyType);

            foreach (KeyValuePair <FleetType, Water> dicSeaLevel in _dicSeaLevels)
            {
                dicSeaLevel.Value.reflectionColorTexture = _listTexReflectives[(int)iTime];
                dicSeaLevel.Value.GetComponent <MeshRenderer>().material = (dicSeaLevel.Key != 0) ? _listEnemySeaLevels[(int)iTime] : _listFriendSeaLevels[(int)iTime];
                dicSeaLevel.Value.GetComponent <MeshRenderer>().material.SetColor("_PostMultiplyColor", seaColor);
            }
            BattleCameras battleCameras = BattleTaskManager.GetBattleCameras();

            battleCameras.fieldCameras.ForEach(delegate(BattleFieldCamera x)
            {
                x.skybox.material = _listMatSkyboxes[(int)iTime];
            });
            battleCameras.fieldDimCamera.skybox.material = _listMatSkyboxes[(int)iTime];
            _iTimeZone = iTime;
        }
Example #20
0
        private bool _initSupportTorpedoPhase2(object data)
        {
            BattleField   battleField   = BattleTaskManager.GetBattleField();
            BattleCameras battleCameras = BattleTaskManager.GetBattleCameras();

            battleCameras.friendFieldCamera.ReqViewMode(CameraActor.ViewMode.NotViewModeCtrl);
            Vector3 position = battleField.dicCameraAnchors[CameraAnchorType.OneRowAnchor][FleetType.Friend].position;

            battleCameras.friendFieldCamera.transform.position      = new Vector3(-38f, 8f, -74f);
            battleCameras.friendFieldCamera.transform.localRotation = Quaternion.Euler(new Vector3(9.5f, 137.5f, 0f));
            BattleTaskManager.GetBattleShips().SetBollboardTarget(isFriend: false, battleCameras.friendFieldCamera.transform);
            if (_prodSupportTorpedoP1 != null)
            {
                _prodSupportTorpedoP1.deleteTorpedoWake();
                _prodSupportTorpedoP1.OnSetDestroy();
            }
            _prodSupportTorpedoP1 = null;
            _prodSupportTorpedoP2.Play(_onSupportTorpedoPhase2Finished);
            return(false);
        }
Example #21
0
        private bool _initAircraftSecond(object data)
        {
            BattleCameras     battleCameras = BattleTaskManager.GetBattleCameras();
            BattleCutInCamera cutInCamera   = battleCameras.cutInCamera;

            cutInCamera.isCulling = true;
            BattleCutInEffectCamera cutInEffectCamera = BattleTaskManager.GetBattleCameras().cutInEffectCamera;

            cutInEffectCamera.isCulling = true;
            CutInType cutInType;

            if (this._clsKoukuu2.GetCaptainShip(true) != null && this._clsKoukuu2.GetCaptainShip(false) != null)
            {
                cutInType = CutInType.Both;
            }
            else if (this._clsKoukuu2.GetCaptainShip(true) != null)
            {
                cutInType = CutInType.FriendOnly;
            }
            else
            {
                cutInType = CutInType.EnemyOnly;
            }
            if (cutInType == CutInType.Both)
            {
                battleCameras.SetSplitCameras2D(true);
                cutInCamera.isCulling       = true;
                cutInEffectCamera.isCulling = true;
            }
            else
            {
                if (cutInType == CutInType.FriendOnly)
                {
                    cutInEffectCamera.isCulling = false;
                }
                battleCameras.SetSplitCameras2D(false);
            }
            this._prodAerialSecondP1.get_gameObject().SetActive(true);
            this._prodAerialSecondP1.Play(new Action(this._onAerialSecondPhase1Finished));
            return(false);
        }
Example #22
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)));
        }
Example #23
0
        public virtual UniRx.IObservable <bool> Play(Action onPlayBufferEffect, Action onCalcInitLineRotation, Action onPlayLineAnimation, Action onNextFocusShipAnimation, int nBufferCnt)
        {
            _nBufferCnt      = Mathe.MinMax2(nBufferCnt, 0, 4);
            _clsCameraBezier = new Bezier(Bezier.BezierType.Quadratic, _vStartCameraPivot, _listEndCameraPivot[_nBufferCnt], _vMidCameraPivot, Vector3.zero);
            _clsFleetBezier  = new Bezier(Bezier.BezierType.Quadratic, _vStartFleetPivot, _vEndFleetPivot, _vMidFleetPivot, Vector3.zero);
            BattleField battleField = BattleTaskManager.GetBattleField();

            _traFleetAnchorFriend = battleField.dicFleetAnchor[FleetType.Friend];
            _traFleetAnchorEnemy  = battleField.dicFleetAnchor[FleetType.Enemy];
            _traFleetAnchorEnemy.transform.localScale = Vector3.one * 0.8f;
            BattleCameras battleCameras = BattleTaskManager.GetBattleCameras();

            battleCameras.SetVerticalSplitCameras(isSplit: false);
            battleCameras.fieldDimCamera.maskAlpha = 0f;
            battleCameras.SwitchMainCamera(FleetType.Enemy);
            BattleFieldCamera battleFieldCamera = battleCameras.fieldCameras[1];

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

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

            if (component != null)
            {
                component.alpha = 0f;
            }
            _actOnPlayBufferEffect       = onPlayBufferEffect;
            _actOnNextFocusShipAnimation = onNextFocusShipAnimation;
            Observable.NextFrame().Subscribe(delegate
            {
                Dlg.Call(ref onCalcInitLineRotation);
                Dlg.Call(ref onPlayLineAnimation);
            });
            return(Observable.FromCoroutine((UniRx.IObserver <bool> observer) => AnimationObserver(observer)));
        }
Example #24
0
        private bool InitSearchNFlare(object data)
        {
            BattleCameras     battleCameras     = BattleTaskManager.GetBattleCameras();
            BattleFieldCamera battleFieldCamera = battleCameras.fieldCameras[0];

            battleFieldCamera.flareLayer.enabled = true;
            bool flag  = (_clsNightCombat.GetSearchLightShip(is_friend: true) != null) ? true : false;
            bool flag2 = (_clsNightCombat.GetFlareShip(is_friend: true) != null) ? true : false;

            if (flag || flag2)
            {
                if (_prodNightRadarDeployment != null)
                {
                    _prodNightRadarDeployment.RadarObjectConvergence();
                }
                Mem.DelComponentSafe(ref _prodNightRadarDeployment);
                ObserverActionQueue observerAction = BattleTaskManager.GetObserverAction();
                observerAction.Executions();
                BattleTaskManager.GetBattleShips().SetStandingPosition(StandingPositionType.OneRow);
                battleFieldCamera.ReqViewMode(CameraActor.ViewMode.Fix);
                battleFieldCamera.transform.position = _vCameraOriginPos;
                battleFieldCamera.transform.rotation = Quaternion.identity;
                ShipModel_BattleAll shipModel_BattleAll = (!flag) ? _clsNightCombat.GetFlareShip(is_friend: true) : _clsNightCombat.GetSearchLightShip(is_friend: true);
                if (shipModel_BattleAll != null)
                {
                    BattleField  battleField  = BattleTaskManager.GetBattleField();
                    UIBattleShip uIBattleShip = BattleTaskManager.GetBattleShips().dicFriendBattleShips[shipModel_BattleAll.Index];
                    Vector3      position     = uIBattleShip.transform.position;
                    float        x            = 0f - position.x;
                    battleField.dicFleetAnchor[FleetType.Friend].transform.AddPosX(x);
                    battleFieldCamera.transform.AddPosX(x);
                }
            }
            SearchLight_FlareBullet_PlayAnimation().Subscribe(delegate
            {
                OnSearchNFlareFinished();
            });
            return(false);
        }
Example #25
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);
        }
        public void ReqTimeZone(TimeZone iTime, SkyType iSkyType)
        {
            this._fogSettings(iTime);
            Color seaColor = this.GetSeaColor(iTime, iSkyType);

            using (Dictionary <FleetType, Water> .Enumerator enumerator = this._dicSeaLevels.GetEnumerator())
            {
                while (enumerator.MoveNext())
                {
                    KeyValuePair <FleetType, Water> current = enumerator.get_Current();
                    current.get_Value().set_reflectionColorTexture(this._listTexReflectives.get_Item((int)iTime));
                    current.get_Value().GetComponent <MeshRenderer>().set_material((current.get_Key() != FleetType.Friend) ? this._listEnemySeaLevels.get_Item((int)iTime) : this._listFriendSeaLevels.get_Item((int)iTime));
                    current.get_Value().GetComponent <MeshRenderer>().get_material().SetColor("_PostMultiplyColor", seaColor);
                }
            }
            BattleCameras battleCameras = BattleTaskManager.GetBattleCameras();

            battleCameras.fieldCameras.ForEach(delegate(BattleFieldCamera x)
            {
                x.skybox.set_material(this._listMatSkyboxes.get_Item((int)iTime));
            });
            battleCameras.fieldDimCamera.skybox.set_material(this._listMatSkyboxes.get_Item((int)iTime));
            this._iTimeZone = iTime;
        }
Example #27
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;
            }
            }
        }
        protected virtual void ChkDamagedStateFmAnticipating(Vector3 closeUpPos)
        {
            BattleCameras     battleCameras     = BattleTaskManager.GetBattleCameras();
            BattleFieldCamera battleFieldCamera = battleCameras.fieldCameras[0];

            switch (_clsHougekiModel.Defender.DamageEventAfter)
            {
            case DamagedStates.Gekichin:
            case DamagedStates.Youin:
            case DamagedStates.Megami:
            {
                bool isFriend             = _listBattleShips[1].shipModel.IsFriend();
                ShellingProdSubject index = (!isProtect) ? ShellingProdSubject.Defender : ShellingProdSubject.Protector;
                _listBattleShips[(int)index].PlayProdSinking(null);
                battleFieldCamera.transform.LTMove(closeUpPos, BattleDefines.SHELLING_ATTACK_DEFENDER_CLOSEUP_TIME[2]).setEase(BattleDefines.SHELLING_ATTACK_DEFENDER_CLOSEUP_EASING_TYPE[1]).setOnComplete((Action) delegate
                    {
                        if (!isFriend)
                        {
                            OnFinished();
                        }
                    });
                if (isFriend)
                {
                    Observable.Timer(TimeSpan.FromSeconds(1.0)).Subscribe(delegate
                        {
                            ProdSinking prodSinking = BattleTaskManager.GetPrefabFile().prodSinking;
                            prodSinking.SetSinkingData(_clsHougekiModel.Defender);
                            prodSinking.Play(delegate
                            {
                                BattleTaskManager.GetPrefabFile().circleHPGauge.transform.localScale = Vector3.zero;
                            }, delegate
                            {
                            }, delegate
                            {
                                OnFinished();
                            });
                            BattleTaskManager.GetPrefabFile().circleHPGauge.transform.localScale = Vector3.zero;
                        });
                }
                break;
            }

            case DamagedStates.Tyuuha:
            case DamagedStates.Taiha:
                battleFieldCamera.transform.LTMove(closeUpPos, BattleDefines.SHELLING_ATTACK_DEFENDER_CLOSEUP_TIME[1]).setEase(BattleDefines.SHELLING_ATTACK_DEFENDER_CLOSEUP_EASING_TYPE[1]).setOnComplete((Action) delegate
                {
                    ShellingProdSubject index2 = (!isProtect) ? ShellingProdSubject.Defender : ShellingProdSubject.Protector;
                    if (_listBattleShips[(int)index2].shipModel.IsFriend())
                    {
                        DamagedStates damageEventAfter        = _clsHougekiModel.Defender.DamageEventAfter;
                        ProdDamageCutIn.DamageCutInType iType = (damageEventAfter == DamagedStates.Taiha) ? ProdDamageCutIn.DamageCutInType.Heavy : ProdDamageCutIn.DamageCutInType.Moderate;
                        ProdDamageCutIn prodDamageCutIn       = BattleTaskManager.GetPrefabFile().prodDamageCutIn;
                        prodDamageCutIn.SetShipData(new List <ShipModel_Defender>
                        {
                            _clsHougekiModel.Defender
                        }, iType);
                        prodDamageCutIn.Play(iType, delegate
                        {
                            BattleTaskManager.GetPrefabFile().circleHPGauge.transform.localScale = Vector3.zero;
                        }, delegate
                        {
                            BattleTaskManager.GetBattleShips().UpdateDamageAll(_clsHougekiModel);
                            OnFinished();
                        });
                    }
                    else
                    {
                        OnFinished();
                    }
                });
                break;

            case DamagedStates.None:
            case DamagedStates.Shouha:
                battleFieldCamera.transform.LTMove(closeUpPos, BattleDefines.SHELLING_ATTACK_DEFENDER_CLOSEUP_TIME[1]).setEase(BattleDefines.SHELLING_ATTACK_DEFENDER_CLOSEUP_EASING_TYPE[1]).setOnComplete((Action) delegate
                {
                    OnFinished();
                });
                break;
            }
        }