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)); }
private bool InitWithdrawalSelection(object data) { this._prodWithdrawalDecisionSelection.Play(delegate { BattleTaskManager.GetPrefabFile().DisposeProdCommandBuffer(); ObserverActionQueue observerAction = BattleTaskManager.GetObserverAction(); observerAction.Executions(); BattleField battleField = BattleTaskManager.GetBattleField(); battleField.ResetFleetAnchorPosition(); battleField.enemySeaLevel.SetActive(true); battleField.ReqTimeZone(TimeZone.Night, BattleTaskManager.GetSkyType()); battleField.AlterWaveDirection(FleetType.Friend, FleetType.Friend); battleField.AlterWaveDirection(FleetType.Enemy, FleetType.Enemy); BattleShips battleShips = BattleTaskManager.GetBattleShips(); battleShips.RadarDeployment(false); battleShips.SetShipDrawType(FleetType.Enemy, ShipDrawType.Normal); battleShips.SetStandingPosition(StandingPositionType.OneRow); battleShips.SetLayer(Generics.Layers.ShipGirl); BattleCameras battleCameras = BattleTaskManager.GetBattleCameras(); battleCameras.InitEnemyFieldCameraDefault(); battleCameras.SetVerticalSplitCameras(false); if (!battleCameras.isSplit) { battleCameras.SetSplitCameras(true); } battleCameras.ResetFieldCamSettings(FleetType.Friend); battleCameras.ResetFieldCamSettings(FleetType.Enemy); battleCameras.fieldDimCameraEnabled(false); BattleFieldCamera battleFieldCamera = BattleTaskManager.GetBattleCameras().fieldCameras.get_Item(0); battleFieldCamera.ReqViewMode(CameraActor.ViewMode.Fix); battleFieldCamera.SetFixCamera(this._dicSplitCameraPos.get_Item(FleetType.Friend), this._dicSplitCameraRot.get_Item(FleetType.Friend)); battleFieldCamera.cullingMask = battleCameras.GetDefaultLayers(); battleFieldCamera = BattleTaskManager.GetBattleCameras().fieldCameras.get_Item(1); battleFieldCamera.ReqViewMode(CameraActor.ViewMode.Fix); battleFieldCamera.SetFixCamera(this._dicSplitCameraPos.get_Item(FleetType.Enemy), this._dicSplitCameraRot.get_Item(FleetType.Enemy)); battleFieldCamera.cullingMask = battleCameras.GetEnemyCamSplitLayers(); 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; cutInEffectCamera.isCulling = false; UITexture component = cutInEffectCamera.get_transform().FindChild("TorpedoLine/OverlayLine").GetComponent <UITexture>(); if (component != null) { component.alpha = 0f; } BattleTaskManager.GetTorpedoHpGauges().SetDestroy(); }, new DelDecideHexButtonEx(this.OnDecideWithdrawalButton)); return(false); }
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))); }
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); }