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(); }
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); }
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); }
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); } }
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); }
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)); } }
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 { }); } }
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); }
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); }
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 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); }); } }
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); }); }
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); }
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); }
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); }
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); }
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); }