protected virtual void FixedUpdate()
        {
            CameraActor.ViewMode iViewMode = this._iViewMode;
            switch (iViewMode + 1)
            {
            case CameraActor.ViewMode.FixChasingRot:
                base.get_transform().LookAt(this._vPointOfGaze);
                break;

            case CameraActor.ViewMode.ZoomChasing:
                this._fixChasingRot();
                break;

            case CameraActor.ViewMode.ZoomChasingUp:
                this._zoomChasing();
                break;

            case CameraActor.ViewMode.SmoothMove:
                this._zoomChasingUp();
                break;

            case CameraActor.ViewMode.SmoothMoveKI2ndEdition:
                this._smoothMove();
                break;

            case CameraActor.ViewMode.FixedPositionChasing:
                this._smoothMoveKI2ndEdition();
                break;

            case CameraActor.ViewMode.RotateAroundObject:
                this._fixedPositionChasing();
                break;

            case CameraActor.ViewMode.Rotation:
                this._rotateAroundObject();
                break;

            case CameraActor.ViewMode.Bezier:
                this._rotation();
                break;

            case (CameraActor.ViewMode) 11:
                this._bezier();
                break;
            }
        }
 public virtual void ReqViewMode(CameraActor.ViewMode iView)
 {
     this._iViewMode = iView;
 }
        protected virtual void _initCameraState()
        {
            this._fYAxisLimit        = 0f;
            this._fSmoothCorrectionY = 0f;
            this._isThroughMaxY      = false;
            CameraActor.ViewMode iViewMode = this._iViewMode;
            switch (iViewMode + 1)
            {
            case CameraActor.ViewMode.FixChasing:
                base.get_transform().set_position(this._vSrcPos);
                base.get_transform().set_rotation(this._quaSrcRot);
                this._vSmoothVelocity = Vector3.get_zero();
                break;

            case CameraActor.ViewMode.FixChasingRot:
                base.get_transform().set_position(this._vDestPos);
                base.get_transform().LookAt(this._vPointOfGaze);
                break;

            case CameraActor.ViewMode.ZoomChasing:
                base.get_transform().set_position(this._vSrcPos);
                this._quaTempRot = base.get_transform().get_rotation();
                break;

            case CameraActor.ViewMode.ZoomChasingUp:
            {
                float num = this._fSmoothDistance / Vector3.Distance(this._vPointOfGaze, base.get_transform().get_position());
                this._vDestPos        = this._vPointOfGaze + (base.get_transform().get_position() - this._vPointOfGaze) * num;
                this._vSmoothVelocity = Vector3.get_zero();
                this._fSmoothTime     = 0.2f;
                this._isAdjust        = false;
                base.get_transform().LookAt(this._vPointOfGaze);
                break;
            }

            case CameraActor.ViewMode.SmoothMove:
            {
                float num2 = this._fSmoothDistance / Vector3.Distance(this._vPointOfGaze, base.get_transform().get_position());
                this._vDestPos        = this._vPointOfGaze + (base.get_transform().get_position() - this._vPointOfGaze) * num2;
                this._vSmoothVelocity = Vector3.get_zero();
                this._fSmoothTime     = 0.2f;
                this._isAdjust        = false;
                this._fAdjustY        = base.get_transform().get_position().y + 10f;
                base.get_transform().LookAt(this._vPointOfGaze);
                break;
            }

            case CameraActor.ViewMode.SmoothMoveKI2ndEdition:
            case CameraActor.ViewMode.FixedPositionChasing:
                base.get_transform().set_position(this._vSrcPos);
                base.get_transform().set_rotation(this._quaSrcRot);
                break;

            case CameraActor.ViewMode.RotateAroundObject:
                base.get_transform().set_position(this._vPointOfGaze + base.get_transform().TransformDirection(Vector3.get_back() * this._fSmoothDistance));
                base.get_transform().set_rotation(this._quaDestRot);
                this._vSmoothVelocity    = Vector3.get_zero();
                this._fSmoothTime        = 0.1f;
                this._fSmoothCorrectionY = 6f;
                break;

            case CameraActor.ViewMode.Rotation:
            {
                Vector3 vector  = Mathe.Direction(this._vPointOfGaze, this._vDestPos);
                Vector3 vector2 = this._quaDestRot * vector;
                base.get_transform().set_position(this._vPointOfGaze + vector2);
                base.get_transform().LookAt(this._vPointOfGaze);
                this._vSmoothVelocity = Vector3.get_zero();
                break;
            }

            case CameraActor.ViewMode.Bezier:
                base.get_transform().set_position(this._vSrcPos);
                base.get_transform().set_rotation(this._quaSrcRot);
                break;

            case (CameraActor.ViewMode) 11:
                this.eyePosition  = this._vSrcPos;
                this.eyeRotation  = this._quaSrcRot;
                this._fBezierTime = 0f;
                break;
            }
        }
 protected virtual void Awake()
 {
     this._iViewMode       = CameraActor.ViewMode.Fix;
     this._vSmoothVelocity = Vector3.get_zero();
     this._iAxis           = CameraActor.Axis.None;
 }