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;
 }