public FollowAvatarControlledRotate(MainCameraFollowState followState) : base(followState)
 {
     base.maskedShortStates.Add(base._owner.standByState);
     base.maskedShortStates.Add(base._owner.lookAtPositionState);
     base.maskedShortStates.Add(base._owner.timedPullZState);
     this._exitTimer = new EntityTimer(0.75f, base._owner.mainCamera);
 }
示例#2
0
 public FollowSlowMotionKill(MainCameraFollowState followState) : base(followState)
 {
     base.isSkippingBaseState = false;
     this._effects            = new SlowMotionEffect[MAX_EFFECT_NUM];
     for (int i = 0; i < this._effects.Length; i++)
     {
         this._effects[i] = new SlowMotionEffect();
     }
 }
示例#3
0
 public FollowAvatarAndTargetState(MainCameraFollowState followState) : base(followState)
 {
     this._feasibleAngles             = new List <float>(4);
     this._motionAngleInfos           = new List <MotionAngleInfo>(4);
     this._speedForOneCircle          = 3000f;
     this._accelerationSolvingWallHit = 7000f;
     this._minSpeedSolvingWallHit     = 200f;
     this.DELTA_TIME_PER_FRAME        = 0.016f;
     this._mode = FollowMode.TargetMode;
     base.maskedShortStates.Add(base._owner.rotateToAvatarFacingState);
 }
示例#4
0
        public void Enter(MainCameraFollowState cameraState)
        {
            this._origForwardDeltaAngle = cameraState.forwardDeltaAngle;
            this._duringTimer           = 0f;
            this._hasUserControled      = false;
            float num = Mathf.Sign(Vector3.Dot(Vector3.up, Vector3.Cross(cameraState.cameraForward, cameraState.avatar.FaceDirection)));

            if (this._nearCase)
            {
                this._polarVelSign = (UnityEngine.Random.value <= 0.3f) ? -num : num;
            }
            else
            {
                this._polarVelSign = -num;
            }
            float num2 = UnityEngine.Random.Range(this._minCameraRotateAngle, this._maxCameraRotateAngle);

            this._cameraRotateSpeed = (num2 / this._duration) / this._cameraSpeedCurveIntegral;
            float t = UnityEngine.Random.value;

            this._cameraElevationOffset = Mathf.Lerp(this._maxCameraElevationOffset, this._minCameraElevationOffset, t);
            this._cameraRadiusOffset    = UnityEngine.Random.Range(this._minCameraRadiusOffset, this._maxCameraRadiusOffset);
            if (this._cameraNearCase)
            {
                this._cameraRadiusOffset = UnityEngine.Random.Range(0f, this._maxCameraRadiusOffset);
            }
            Vector4 vector = this._distanceAttenuationFactorsForRotateAngle;
            float   b      = ((vector.x + (this._distTarget * vector.y)) + ((this._distTarget * this._distTarget) * vector.z)) + (((this._distTarget * this._distTarget) * this._distTarget) * vector.w);

            b = 1f / Mathf.Max(1f, b);
            this._cameraRotateSpeed *= b;
            vector = this._distanceAttenuationFactorsForElevationOffset;
            float num5 = ((vector.x + (this._distTarget * vector.y)) + ((this._distTarget * this._distTarget) * vector.z)) + (((this._distTarget * this._distTarget) * this._distTarget) * vector.w);

            num5 = 1f / Mathf.Max(1f, num5);
            this._cameraElevationOffset *= num5;
            if (!cameraState.followAvatarControlledRotate.active)
            {
                cameraState.TransitBaseState(cameraState.followAvatarState, false);
            }
        }
示例#5
0
 public FollowSuddenChange(MainCameraFollowState followState) : base(followState)
 {
     base.isSkippingBaseState = true;
 }
示例#6
0
 public FollowAvatarPoleState(MainCameraFollowState followState) : base(followState)
 {
 }
示例#7
0
 public FollowAvatarAndBossState(MainCameraFollowState followState) : base(followState)
 {
     this.needLPF          = true;
     this._followPositions = new Vector3[60];
 }
示例#8
0
 public FollowStandBy(MainCameraFollowState followState) : base(followState)
 {
     base.isSkippingBaseState = true;
 }
示例#9
0
 public FollowLookAtPosition(MainCameraFollowState followState) : base(followState)
 {
     this.MAX_FOLLOW_TIME     = 2f;
     base.isSkippingBaseState = false;
 }
示例#10
0
 public FollowTimedPullZ(MainCameraFollowState followState) : base(followState)
 {
     base.isSkippingBaseState = false;
 }
示例#11
0
 public FollowAvatarStoryState(MainCameraFollowState followState) : base(followState)
 {
 }
示例#12
0
 public FollowAvatarAndCrowdState(MainCameraFollowState followState) : base(followState)
 {
     this._followPositions = new Vector3[60];
 }
示例#13
0
 public FollowRotateToAvatarFacing(MainCameraFollowState followState) : base(followState)
 {
     base.isSkippingBaseState = true;
 }
示例#14
0
 public FollowRangeTransit(MainCameraFollowState followState) : base(followState)
 {
     base.isSkippingBaseState = false;
 }