Beispiel #1
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();
        }
        private IEnumerator CreateTorpedoCutIn(UniRx.IObserver <bool> observer)
        {
            BattleCutInEffectCamera cam = BattleTaskManager.GetBattleCameras().cutInEffectCamera;
            UITexture centerLine        = ((Component)cam.transform.FindChild("TorpedoLine/OverlayLine")).GetComponent <UITexture>();

            if (centerLine != null)
            {
                centerLine.alpha = 0f;
            }
            _prodTorpedoCutIn = ProdTorpedoCutIn.Instantiate(((Component)BattleTaskManager.GetPrefabFile().prefabProdTorpedoCutIn).GetComponent <ProdTorpedoCutIn>(), _clsRaigeki, cam.transform);
            BattleTaskManager.GetBattleCameras().enemyFieldCamera.cullingMask = BattleTaskManager.GetBattleCameras().GetDefaultLayers();
            yield return(new WaitForEndOfFrame());

            prefabProdTorpedoStraight = (UnityEngine.Object.Instantiate(BattleTaskManager.GetPrefabFile().prefabTorpedoStraightController, Vector3.zero, Quaternion.identity) as Transform);
            Transform transP4 = new GameObject().transform;

            transP4.name            = "ProdTorpedoSalvoPhase2";
            _prodTorpedoSalvoPhase2 = new ProdTorpedoSalvoPhase2(transP4, ((Component)prefabProdTorpedoStraight).GetComponent <TorpedoStraightController>());
            _prodTorpedoSalvoPhase2.Initialize(_clsRaigeki, TorpedoParticle, centerLine);
            yield return(new WaitForEndOfFrame());

            Transform transP3 = new GameObject().transform;

            transP3.name            = "ProdTorpedoSalvoPhase3";
            _prodTorpedoSalvoPhase3 = new ProdTorpedoSalvoPhase3(transP3);
            _prodTorpedoSalvoPhase3.Initialize(_clsRaigeki, TorpedoParticle);
            yield return(new WaitForEndOfFrame());

            _prodTorpedoSalvoPhase3.SetHpGauge();
            yield return(new WaitForEndOfFrame());

            observer.OnNext(value: true);
            observer.OnCompleted();
        }
Beispiel #3
0
 protected override bool Init()
 {
     _clsNightCombat = BattleTaskManager.GetBattleManager().GetNightCombatData();
     _clsHougekiList = BattleTaskManager.GetBattleManager().GetHougekiList_Night();
     if (_clsHougekiList == null)
     {
         EndPhase(BattleUtils.NextPhase(BattlePhase.NightCombat));
         ImmediateTermination();
     }
     else
     {
         _nCurrentShellingCnt = 1;
         _clsState            = new StatementMachine();
         _prodShellingAttack  = new ProdShellingAttack();
         _vCameraOriginPos    = BattleTaskManager.GetBattleCameras().fieldCameras[0].transform.position;
         if (!BattleTaskManager.GetIsSameBGM())
         {
             KCV.Utils.SoundUtils.SwitchBGM((BGMFileInfos)BattleTaskManager.GetBattleManager().GetBgmId());
         }
         _clsState.AddState(InitNightMessage, UpdateNightMessage);
         Transform transform = UnityEngine.Object.Instantiate(BattleTaskManager.GetPrefabFile().prefabSearchLightSceneController, Vector3.zero, Quaternion.identity) as Transform;
         _ctrlSearchLight = ((Component)transform).GetComponent <SearchLightSceneController>();
         Transform transform2 = UnityEngine.Object.Instantiate(BattleTaskManager.GetPrefabFile().prefabFlareBulletSceneController, Vector3.zero, Quaternion.identity) as Transform;
         _ctrlFlareBullet = ((Component)transform2).GetComponent <FlareBulletSceneController>();
     }
     return(true);
 }
Beispiel #4
0
 protected override bool Init()
 {
     if (BattleTaskManager.GetBattleManager().IsPractice)
     {
         SingletonMonoBehaviour <FadeCamera> .Instance.isDrawNowLoading = false;
         SingletonMonoBehaviour <FadeCamera> .Instance.FadeOut(0.2f, delegate
         {
             SingletonMonoBehaviour <AppInformation> .Instance.NextLoadType  = AppInformation.LoadType.Ship;
             SingletonMonoBehaviour <AppInformation> .Instance.NextLoadScene = Generics.Scene.Strategy;
             base.ImmediateTermination();
             Application.LoadLevel(Generics.Scene.LoadingScene.ToString());
         });
     }
     else
     {
         BattleTaskManager.GetPrefabFile().battleShutter.ReqMode(BaseShutter.ShutterMode.Close, delegate
         {
             Observable.Timer(TimeSpan.FromSeconds(0.30000001192092896)).Subscribe(delegate(long _)
             {
                 BattleCutInEffectCamera cutInEffectCamera = BattleTaskManager.GetBattleCameras().cutInEffectCamera;
                 cutInEffectCamera.blur.set_enabled(false);
                 this._prodAdvancingWithDrawalSelect = ProdAdvancingWithDrawalSelect.Instantiate(BattleTaskManager.GetPrefabFile().prefabProdAdvancingWithDrawalSelect.GetComponent <ProdAdvancingWithDrawalSelect>(), BattleTaskManager.GetBattleCameras().cutInCamera.get_transform(), BattleTaskManager.GetRootType());
                 this._prodAdvancingWithDrawalSelect.Play(new DelDecideHexButtonEx(this.DecideAdvancinsWithDrawalBtn));
             });
         });
     }
     return(true);
 }
Beispiel #5
0
        private void OnNightMessageFinished()
        {
            BattleCutInCamera    cutInCamera = BattleTaskManager.GetBattleCameras().cutInCamera;
            SlotitemModel_Battle touchPlane  = _clsNightCombat.GetTouchPlane(is_friend: true);
            SlotitemModel_Battle touchPlane2 = _clsNightCombat.GetTouchPlane(is_friend: false);

            _prodAerialTouchPlane = ((!(cutInCamera.transform.GetComponentInChildren <ProdAerialTouchPlane>() != null)) ? ProdAerialTouchPlane.Instantiate(Resources.Load <ProdAerialTouchPlane>("Prefabs/Battle/Production/AerialCombat/ProdAerialTouchPlane"), cutInCamera.transform) : cutInCamera.transform.GetComponentInChildren <ProdAerialTouchPlane>());
            _prodAerialTouchPlane.transform.localPosition = Vector3.zero;
            _prodAerialTouchPlane.Init(touchPlane, touchPlane2);
            if (_clsNightCombat.GetRationData() != null)
            {
                ProdCombatRation pcr = ProdCombatRation.Instantiate(((Component)BattleTaskManager.GetPrefabFile().prefabProdCombatRation).GetComponent <ProdCombatRation>(), BattleTaskManager.GetBattleCameras().cutInCamera.transform, _clsNightCombat.GetRationData());
                pcr.SetOnStageReady(delegate
                {
                    if (_prodNightRadarDeployment != null)
                    {
                        _prodNightRadarDeployment.RadarObjectConvergence();
                    }
                    Mem.DelComponentSafe(ref _prodNightRadarDeployment);
                }).Play(delegate
                {
                    _clsState.AddState(InitSearchNFlare, UpdateSearchNFlare);
                });
                ObserverActionQueue observerAction = BattleTaskManager.GetObserverAction();
                observerAction.Register(delegate
                {
                    Mem.DelComponentSafe(ref pcr);
                });
            }
            else
            {
                _clsState.AddState(InitSearchNFlare, UpdateSearchNFlare);
            }
        }
Beispiel #6
0
 protected override bool Init()
 {
     this._clsNightCombat = BattleTaskManager.GetBattleManager().GetNightCombatData();
     this._clsHougekiList = BattleTaskManager.GetBattleManager().GetHougekiList_Night();
     if (this._clsHougekiList == null)
     {
         this.EndPhase(BattleUtils.NextPhase(BattlePhase.NightCombat));
         base.ImmediateTermination();
     }
     else
     {
         this._nCurrentShellingCnt = 1;
         this._clsState            = new StatementMachine();
         this._prodShellingAttack  = new ProdShellingAttack();
         this._vCameraOriginPos    = BattleTaskManager.GetBattleCameras().fieldCameras.get_Item(0).get_transform().get_position();
         if (!BattleTaskManager.GetIsSameBGM())
         {
             KCV.Utils.SoundUtils.SwitchBGM((BGMFileInfos)BattleTaskManager.GetBattleManager().GetBgmId());
         }
         this._clsState.AddState(new StatementMachine.StatementMachineInitialize(this.InitNightMessage), new StatementMachine.StatementMachineUpdate(this.UpdateNightMessage));
         Transform transform = Object.Instantiate(BattleTaskManager.GetPrefabFile().prefabSearchLightSceneController, Vector3.get_zero(), Quaternion.get_identity()) as Transform;
         this._ctrlSearchLight = transform.GetComponent <SearchLightSceneController>();
         Transform transform2 = Object.Instantiate(BattleTaskManager.GetPrefabFile().prefabFlareBulletSceneController, Vector3.get_zero(), Quaternion.get_identity()) as Transform;
         this._ctrlFlareBullet = transform2.GetComponent <FlareBulletSceneController>();
     }
     return(true);
 }
        private bool InitCommandBuffer(object data)
        {
            if (_nCurrentShellingCnt == _listCmdActionList.Count)
            {
                OnShellingPhaseFinished();
                return(false);
            }
            _isFriendActionExit = false;
            _isEnemyActionExit  = false;
            EffectModel effectModel = BattleTaskManager.GetBattleManager().GetEffectData(_nCurrentShellingCnt);

            if (effectModel != null)
            {
                BattleTaskManager.GetPrefabFile().prodBattleCommandBuffer = ProdBattleCommandBuffer.Instantiate(((Component)BattleTaskManager.GetPrefabFile().prefabProdBattleCommandBuffer).GetComponent <ProdBattleCommandBuffer>(), BattleTaskManager.GetStage(), effectModel, _nCurrentShellingCnt);
                BattleTaskManager.GetPrefabFile().prodBattleCommandBuffer.Play(delegate
                {
                    if (effectModel.Withdrawal)
                    {
                        BattleTaskManager.ReqPhase(BattlePhase.WithdrawalDecision);
                    }
                    else
                    {
                        CheckNextAction();
                    }
                });
            }
            else
            {
                CheckNextAction();
            }
            return(false);
        }
Beispiel #8
0
        private void OnNightMessageFinished()
        {
            BattleCutInCamera    cutInCamera = BattleTaskManager.GetBattleCameras().cutInCamera;
            SlotitemModel_Battle touchPlane  = this._clsNightCombat.GetTouchPlane(true);
            SlotitemModel_Battle touchPlane2 = this._clsNightCombat.GetTouchPlane(false);

            this._prodAerialTouchPlane = ((!(cutInCamera.get_transform().GetComponentInChildren <ProdAerialTouchPlane>() != null)) ? ProdAerialTouchPlane.Instantiate(Resources.Load <ProdAerialTouchPlane>("Prefabs/Battle/Production/AerialCombat/ProdAerialTouchPlane"), cutInCamera.get_transform()) : cutInCamera.get_transform().GetComponentInChildren <ProdAerialTouchPlane>());
            this._prodAerialTouchPlane.get_transform().set_localPosition(Vector3.get_zero());
            this._prodAerialTouchPlane.Init(touchPlane, touchPlane2);
            if (this._clsNightCombat.GetRationData() != null)
            {
                ProdCombatRation pcr = ProdCombatRation.Instantiate(BattleTaskManager.GetPrefabFile().prefabProdCombatRation.GetComponent <ProdCombatRation>(), BattleTaskManager.GetBattleCameras().cutInCamera.get_transform(), this._clsNightCombat.GetRationData());
                pcr.SetOnStageReady(delegate
                {
                    if (this._prodNightRadarDeployment != null)
                    {
                        this._prodNightRadarDeployment.RadarObjectConvergence();
                    }
                    Mem.DelComponentSafe <ProdNightRadarDeployment>(ref this._prodNightRadarDeployment);
                }).Play(delegate
                {
                    this._clsState.AddState(new StatementMachine.StatementMachineInitialize(this.InitSearchNFlare), new StatementMachine.StatementMachineUpdate(this.UpdateSearchNFlare));
                });
                ObserverActionQueue observerAction = BattleTaskManager.GetObserverAction();
                observerAction.Register(delegate
                {
                    Mem.DelComponentSafe <ProdCombatRation>(ref pcr);
                });
            }
            else
            {
                this._clsState.AddState(new StatementMachine.StatementMachineInitialize(this.InitSearchNFlare), new StatementMachine.StatementMachineUpdate(this.UpdateSearchNFlare));
            }
        }
Beispiel #9
0
        protected virtual void PlayHpGaugeDamage(UIBattleShip ship, HitState iState)
        {
            BattleHitStatus status = BattleHitStatus.Normal;

            switch (iState)
            {
            case HitState.Miss:
                status = BattleHitStatus.Miss;
                break;

            case HitState.CriticalDamage:
                status = BattleHitStatus.Clitical;
                break;
            }
            if (this._clsHougekiModel != null)
            {
                UICircleHPGauge circleHPGauge = BattleTaskManager.GetPrefabFile().circleHPGauge;
                circleHPGauge.SetHPGauge(this._clsHougekiModel.Defender.MaxHp, this._clsHougekiModel.Defender.HpBefore, this._clsHougekiModel.Defender.HpAfter, this._clsHougekiModel.GetDamage(), status, this._clsHougekiModel.Defender.IsFriend());
                Vector3 damagePosition = (!this._clsHougekiModel.Defender.IsFriend()) ? new Vector3(280f, -125f, 0f) : new Vector3(-500f, -125f, 0f);
                circleHPGauge.SetDamagePosition(damagePosition);
                circleHPGauge.Play(delegate
                {
                });
            }
        }
Beispiel #10
0
        private void _onTorpedoExplosionFinished()
        {
            BattleCutInEffectCamera efcam         = BattleTaskManager.GetBattleCameras().cutInEffectCamera;
            UICircleHPGauge         circleHPGauge = BattleTaskManager.GetPrefabFile().circleHPGauge;

            circleHPGauge.transform.localScaleZero();
            PlayProdDamage(_clsRaigeki, delegate
            {
                efcam.isCulling = true;
                Observable.Timer(TimeSpan.FromSeconds(1.0)).Subscribe(delegate
                {
                    ObserverActionQueue observerAction = BattleTaskManager.GetObserverAction();
                    observerAction.Register(delegate
                    {
                        BattleTaskManager.GetTorpedoHpGauges().Hide();
                    });
                    EndPhase(BattleUtils.NextPhase(BattlePhase.OpeningTorpedoSalvo));
                });
            });
            if (_prodTorpedoSalvoPhase3 != null)
            {
                UnityEngine.Object.Destroy(_prodTorpedoSalvoPhase3.transform.gameObject);
            }
            _prodTorpedoSalvoPhase3 = null;
        }
        protected override bool Init()
        {
            BattleTaskManager.GetTorpedoHpGauges().SetDestroy();
            SingletonMonoBehaviour <FadeCamera> .Instance.SetActive(true);

            SingletonMonoBehaviour <FadeCamera> .Instance.FadeOut(0.2f, delegate
            {
                BattleTaskManager.GetBattleCameras().SetFieldCameraEnabled(false);
                KCV.Utils.SoundUtils.StopFadeBGM(0.25f, null);
                ObserverActionQueue observerAction = BattleTaskManager.GetObserverAction();
                observerAction.Executions();
                BattleTaskManager.DestroyUnneccessaryObject2Result();
                Observable.FromCoroutine(new Func <IEnumerator>(BattleUtils.ClearMemory), false).Subscribe(delegate(Unit _)
                {
                    this._clsBattleResult = BattleTaskManager.GetBattleManager().GetBattleResult();
                    BattleCutInEffectCamera cutInEffectCamera = BattleTaskManager.GetBattleCameras().cutInEffectCamera;
                    cutInEffectCamera.glowEffect.set_enabled(false);
                    cutInEffectCamera.isCulling = true;
                    this._prodVeteransReport    = ProdVeteransReport.Instantiate(BattleTaskManager.GetPrefabFile().prefabProdVeteransReport.GetComponent <ProdVeteransReport>(), cutInEffectCamera.get_transform(), this._clsBattleResult);
                    this._clsState = new StatementMachine();
                    this._clsState.AddState(new StatementMachine.StatementMachineInitialize(this.InitProdVeteransReport), new StatementMachine.StatementMachineUpdate(this.UpdateProdVeteransReport));
                });
            });

            return(true);
        }
Beispiel #12
0
 protected override bool Init()
 {
     base.Init();
     this._clsState = new StatementMachine();
     BattleTaskManager.GetPrefabFile().battleShutter.Init(BaseShutter.ShutterMode.Close);
     this._clsState.AddState(new StatementMachine.StatementMachineInitialize(this._initFlagshipWreck), new StatementMachine.StatementMachineUpdate(this._updateFlagshipWreck));
     return(true);
 }
        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);
        }
Beispiel #14
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));
        }
Beispiel #15
0
        public bool Reset()
        {
            ObserverActionQueue observerAction = BattleTaskManager.GetObserverAction();

            observerAction.Register(delegate
            {
                BattleTaskManager.GetPrefabFile().circleHPGauge.get_transform().localScaleZero();
            });
            return(true);
        }
 private bool InitFormationJudge(object data)
 {
     _prodShellingFormationJudge.Play(delegate
     {
         BattleTaskManager.GetPrefabFile().DisposeProdCommandBuffer();
         BattleTaskManager.GetBattleShips().SetShipDrawType(FleetType.Enemy, ShipDrawType.Normal);
         BattleTaskManager.GetBattleShips().RadarDeployment(isDeploy: false);
     }, OnFormationJudgeFinished);
     return(false);
 }
 private void OnTorpedoTerminate()
 {
     _clsState.Clear();
     PlayProdDamage(_clsNowRaigeki, delegate
     {
         UICircleHPGauge circleHPGauge = BattleTaskManager.GetPrefabFile().circleHPGauge;
         circleHPGauge.transform.localScaleZero();
         Mem.DelIDisposableSafe(ref _prodShellingTorpedo);
         Dlg.Call(ref _actOnFleetAction);
     });
 }
 protected virtual void PlayShellingSlot(SlotitemModel_Battle[] models, BaseProdLine.AnimationName iName, bool isFriend, float delay)
 {
     if (models != null)
     {
         Observable.Timer(TimeSpan.FromSeconds(delay)).Subscribe(delegate
         {
             ProdShellingSlotLine prodShellingSlotLine = BattleTaskManager.GetPrefabFile().prodShellingSlotLine;
             prodShellingSlotLine.SetSlotData(new List <SlotitemModel_Battle>(models), isFriend);
             prodShellingSlotLine.Play(iName, isFriend, null);
         });
     }
 }
Beispiel #19
0
 protected virtual void PlayShellingSlot(SlotitemModel_Battle model, BaseProdLine.AnimationName iName, bool isFriend, float delay)
 {
     if (model == null)
     {
         return;
     }
     Observable.Timer(TimeSpan.FromSeconds((double)delay)).Subscribe(delegate(long _)
     {
         ProdShellingSlotLine prodShellingSlotLine = BattleTaskManager.GetPrefabFile().prodShellingSlotLine;
         prodShellingSlotLine.SetSlotData(model, isFriend);
         prodShellingSlotLine.Play(iName, isFriend, null);
     });
 }
Beispiel #20
0
        private IEnumerator CreateTorpedoPhase2(UniRx.IObserver <bool> observer)
        {
            Transform torpedoStraight = UnityEngine.Object.Instantiate(BattleTaskManager.GetPrefabFile().prefabTorpedoStraightController, Vector3.zero, Quaternion.identity) as Transform;
            Transform trams           = new GameObject().transform;

            trams.name = "ProdTorpedoSalvoPhase2";
            _prodTorpedoSalvoPhase2 = new ProdTorpedoSalvoPhase2(trams, ((Component)torpedoStraight).GetComponent <TorpedoStraightController>());
            _prodTorpedoSalvoPhase2.Initialize(_clsRaigeki, TorpedoParticle, CenterLine);
            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);
 }
        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);
        }
Beispiel #23
0
        private bool UpdateMoveCameraTo2D(object data)
        {
            ProdCloud prodCloud = BattleTaskManager.GetPrefabFile().prodCloud;

            if (!prodCloud.isPlaying)
            {
                BattleFieldCamera battleFieldCamera = BattleTaskManager.GetBattleCameras().fieldCameras[0];
                Vector3           eyePosition       = battleFieldCamera.eyePosition;
                float             y      = eyePosition.y;
                Vector3           vector = Vector3.Lerp(Vector3.zero, Vector3.up * 50f, 0.15f);
                if (y >= vector.y)
                {
                    prodCloud.Play(ProdCloud.AnimationList.ProdCloudOut, delegate
                    {
                        if (_prodDetectionCutIn.isAircraft)
                        {
                            _prodDetectionCutIn.Play(delegate
                            {
                                if (_iResult == ProdDetectionResultCutIn.AnimationList.DetectionSucces || _iResult == ProdDetectionResultCutIn.AnimationList.DetectionLost)
                                {
                                    _clsState.AddState(InitDetectionResultCutIn, UpdateDetectionResultCutIn);
                                }
                                else
                                {
                                    _clsState.AddState(InitEnemyFleetFocus, UpdateEnemyFleetFocus);
                                }
                            }, null);
                        }
                        else if (_iResult == ProdDetectionResultCutIn.AnimationList.DetectionSucces)
                        {
                            _clsState.AddState(InitDetectionResultCutIn, UpdateDetectionResultCutIn);
                        }
                        else
                        {
                            _clsState.AddState(InitEnemyFleetFocus, UpdateEnemyFleetFocus);
                            InitCameraSettingsForEnemyFocus();
                        }
                    }, delegate
                    {
                        if (_prodDetectionCutIn.isAircraft || (!_prodDetectionCutIn.isAircraft && _iResult == ProdDetectionResultCutIn.AnimationList.DetectionSucces))
                        {
                            InitCameraSettingsForEnemyFocus();
                        }
                    });
                    return(true);
                }
            }
            return(false);
        }
Beispiel #24
0
        private bool InitNightMessage(object data)
        {
            this._prodNightRadarDeployment = ProdNightRadarDeployment.Instantiate(BattleTaskManager.GetPrefabFile().prefabProdNightRadarDeployment.GetComponent <ProdNightRadarDeployment>(), BattleTaskManager.GetBattleCameras().cutInCamera.get_transform());
            this._prodNightRadarDeployment.Play().Subscribe(delegate(bool _)
            {
                this.OnNightMessageFinished();
            });
            BattleField battleField = BattleTaskManager.GetBattleField();

            battleField.isEnemySeaLevelActive = false;
            ShipModel_Battle model = BattleTaskManager.GetBattleManager().Ships_f[0];

            KCV.Battle.Utils.ShipUtils.PlayStartNightCombatVoice(model);
            return(false);
        }
        protected bool InitShelling(object data)
        {
            HougekiModel nextData = _clsNowHougekiList.GetNextData();

            if (nextData == null)
            {
                Dlg.Call(ref _actOnFleetAction);
            }
            else
            {
                _prodShellingAttack.Play(nextData, _nCurrentShellingCnt, isNextAttack, null);
                BattleTaskManager.GetPrefabFile().DisposeProdCommandBuffer();
            }
            return(false);
        }
 protected override bool Init()
 {
     BattleTaskManager.GetPrefabFile().battleShutter.Init(BaseShutter.ShutterMode.Close);
     if (BattleTaskManager.GetBattleManager().IsPractice)
     {
         _async = Application.LoadLevelAsync(Generics.Scene.Strategy.ToString());
         _async.allowSceneActivation = true;
     }
     else
     {
         _prodAdvancingWithDrawalDC = ProdAdvancingWithDrawalDC.Instantiate(((Component)BattleTaskManager.GetPrefabFile().prefabProdAdvancingWithDrawalDC).GetComponent <ProdAdvancingWithDrawalDC>(), BattleTaskManager.GetBattleCameras().cutInCamera.transform, BattleTaskManager.GetRootType());
         _prodAdvancingWithDrawalDC.Play(DecideAdvancinsWithDrawalBtn);
     }
     return(true);
 }
        private bool UpdateMoveCameraTo2D(object data)
        {
            ProdCloud prodCloud = BattleTaskManager.GetPrefabFile().prodCloud;

            if (!prodCloud.isPlaying)
            {
                BattleFieldCamera battleFieldCamera = BattleTaskManager.GetBattleCameras().fieldCameras.get_Item(0);
                if (battleFieldCamera.eyePosition.y >= Vector3.Lerp(Vector3.get_zero(), Vector3.get_up() * 50f, 0.15f).y)
                {
                    prodCloud.Play(ProdCloud.AnimationList.ProdCloudOut, delegate
                    {
                        if (this._prodDetectionCutIn.isAircraft)
                        {
                            this._prodDetectionCutIn.Play(delegate
                            {
                                if (this._iResult == ProdDetectionResultCutIn.AnimationList.DetectionSucces || this._iResult == ProdDetectionResultCutIn.AnimationList.DetectionLost)
                                {
                                    this._clsState.AddState(new StatementMachine.StatementMachineInitialize(this.InitDetectionResultCutIn), new StatementMachine.StatementMachineUpdate(this.UpdateDetectionResultCutIn));
                                }
                                else
                                {
                                    this._clsState.AddState(new StatementMachine.StatementMachineInitialize(this.InitEnemyFleetFocus), new StatementMachine.StatementMachineUpdate(this.UpdateEnemyFleetFocus));
                                }
                            }, null);
                        }
                        else if (this._iResult == ProdDetectionResultCutIn.AnimationList.DetectionSucces)
                        {
                            this._clsState.AddState(new StatementMachine.StatementMachineInitialize(this.InitDetectionResultCutIn), new StatementMachine.StatementMachineUpdate(this.UpdateDetectionResultCutIn));
                        }
                        else
                        {
                            this._clsState.AddState(new StatementMachine.StatementMachineInitialize(this.InitEnemyFleetFocus), new StatementMachine.StatementMachineUpdate(this.UpdateEnemyFleetFocus));
                            this.InitCameraSettingsForEnemyFocus();
                        }
                    }, delegate
                    {
                        if (this._prodDetectionCutIn.isAircraft || (!this._prodDetectionCutIn.isAircraft && this._iResult == ProdDetectionResultCutIn.AnimationList.DetectionSucces))
                        {
                            this.InitCameraSettingsForEnemyFocus();
                        }
                    });
                    return(true);
                }
            }
            return(false);
        }
Beispiel #28
0
        private bool _initSupportFleetAdmission(object data)
        {
            BattleTaskManager.GetBattleField().ResetFleetAnchorPosition();
            BattleTaskManager.GetPrefabFile().DisposeProdCommandBuffer();
            BattleShips battleShips = BattleTaskManager.GetBattleShips();

            battleShips.RadarDeployment(isDeploy: false);
            battleShips.SetStandingPosition(StandingPositionType.OneRow);
            battleShips.SetShipDrawType(FleetType.Enemy, ShipDrawType.Normal);
            Observable.FromCoroutine((IObserver <bool> observer) => CreateCutIn(observer)).Subscribe(delegate
            {
                _prodSupportCutIn.Play(delegate
                {
                    _onSupportFleetAdmissionFinished();
                });
            });
            return(false);
        }
Beispiel #29
0
        protected override bool Init()
        {
            _clsSakuteki = BattleTaskManager.GetBattleManager().GetSakutekiData();
            if (_clsSakuteki == null || !BattleTaskManager.GetBattleManager().IsExistSakutekiData())
            {
                ImmediateTermination();
                EndPhase(BattleUtils.NextPhase(BattlePhase.Detection));
                return(true);
            }
            _clsState = new StatementMachine();
            _clsState.AddState(InitMoveCameraTo2D, UpdateMoveCameraTo2D);
            Transform transform = BattleTaskManager.GetBattleCameras().cutInCamera.transform;

            _prodDetectionCutIn       = ProdDetectionCutIn.Instantiate(((Component)BattleTaskManager.GetPrefabFile().prefabProdDetectionCutIn).GetComponent <ProdDetectionCutIn>(), transform, _clsSakuteki);
            _prodDetectionResultCutIn = ProdDetectionResultCutIn.Instantiate(((Component)BattleTaskManager.GetPrefabFile().prefabProdDetectionResultCutIn).GetComponent <ProdDetectionResultCutIn>(), transform, _clsSakuteki);
            _iResult = _prodDetectionResultCutIn.detectionResult;
            return(true);
        }
        protected override bool Init()
        {
            this._clsSakuteki = BattleTaskManager.GetBattleManager().GetSakutekiData();
            if (this._clsSakuteki == null || !BattleTaskManager.GetBattleManager().IsExistSakutekiData())
            {
                base.ImmediateTermination();
                this.EndPhase(BattleUtils.NextPhase(BattlePhase.Detection));
                return(true);
            }
            this._clsState = new StatementMachine();
            this._clsState.AddState(new StatementMachine.StatementMachineInitialize(this.InitMoveCameraTo2D), new StatementMachine.StatementMachineUpdate(this.UpdateMoveCameraTo2D));
            Transform transform = BattleTaskManager.GetBattleCameras().cutInCamera.get_transform();

            this._prodDetectionCutIn       = ProdDetectionCutIn.Instantiate(BattleTaskManager.GetPrefabFile().prefabProdDetectionCutIn.GetComponent <ProdDetectionCutIn>(), transform, this._clsSakuteki);
            this._prodDetectionResultCutIn = ProdDetectionResultCutIn.Instantiate(BattleTaskManager.GetPrefabFile().prefabProdDetectionResultCutIn.GetComponent <ProdDetectionResultCutIn>(), transform, this._clsSakuteki);
            this._iResult = this._prodDetectionResultCutIn.detectionResult;
            return(true);
        }