public void Play(Action callBack) { this._isPlaying = true; this._actCallback = callBack; this._stateType = ProdTorpedoSalvoPhase2.StateType.TorpedoShot; this._fieldCam.ReqViewMode(CameraActor.ViewMode.NotViewModeCtrl); this._setAttack(); Observable.FromCoroutine <bool>((IObserver <bool> observer) => this._createTorpedoWake(observer)).Subscribe(delegate(bool _) { this.injectionTorpedo(); }); }
public bool Initialize(RaigekiModel model, PSTorpedoWake psTorpedo, UITexture line) { this._fieldCam = BattleTaskManager.GetBattleCameras().friendFieldCamera; this._isPlaying = false; this._isTC = new bool[2]; this._clsTorpedo = model; this._torpedoWake = psTorpedo; this._centerLine = line; this._fPhaseTime = 0f; this._stateType = ProdTorpedoSalvoPhase2.StateType.None; this._dicIsAttack = new Dictionary <FleetType, bool>(); this._dicIsAttack.Add(FleetType.Friend, false); this._dicIsAttack.Add(FleetType.Enemy, false); return(true); }
public bool Run() { if (this._isPlaying) { if (this._stateType == ProdTorpedoSalvoPhase2.StateType.TorpedoShot) { this._fPhaseTime += Time.get_deltaTime(); if (this._fPhaseTime > 2f) { this._centerLine.alpha = 0f; this._startZoomTorpedo(); this._setState(ProdTorpedoSalvoPhase2.StateType.TorpedoMove); BattleTaskManager.GetBattleShips().SetTorpedoSalvoWakeAngle(false); this._straightController.ReferenceCameraTransform = this._fieldCam.get_transform(); this._straightController.BeginPivot = this._straightBegin; this._straightController.TargetPivot = this._straightTarget; this._straightController._params.gazeHeight = this._straightTargetGazeY; this._straightController.FlyingFinish2F.Take(1).Subscribe(delegate(int x) { this._straightController._isAnimating = false; this._setState(ProdTorpedoSalvoPhase2.StateType.End); }); this._straightController.PlayAnimation().Subscribe(delegate(int x) { }).AddTo(this._straightController.get_gameObject()); } } else if (this._stateType == ProdTorpedoSalvoPhase2.StateType.End) { this._onTorpedoAttackFinished(); this._stateType = ProdTorpedoSalvoPhase2.StateType.None; return(true); } } return(false); }
private void _setState(ProdTorpedoSalvoPhase2.StateType state) { this._stateType = state; this._fPhaseTime = 0f; }