Beispiel #1
0
 public SpinningState(ref TrickPhysicsData dataIn, ref PlayerPositionData posIn,
                      ref IncrementCartridge incrIn)
 {
     this.c_physData      = dataIn;
     this.c_playerPosData = posIn;
     this.cart_incr       = incrIn;
 }
    /// <summary>
    /// Sets default values for player data that interfaces with the engine, such as the player position
    /// </summary>
    void SetDefaultPlayerData()
    {
        c_trickPhysicsData = new TrickPhysicsData(Attributes.Tricks, Attributes.MaxStats);
        c_positionData     = new PlayerPositionData(transform.position, transform.forward, transform.rotation);
        c_scoringData      = new ScoringData();
        c_inputData        = new PlayerInputData();
        c_stateData        = new StateData();
        c_aerialMoveData   = new AerialMoveData();
        c_entityData       = new EntityData();
        c_collisionData    = new CollisionData(CollisionData.FrontRayOffset, CollisionData.BackRayOffset);
        c_lastFrameData    = new LastFramePositionData();
        c_turnData         = new PlayerHandlingData(c_playerData.f_turnSpeed, c_playerData.f_turnAcceleration, c_playerData.f_turnSpeedDeceleration, c_playerData.f_turnAcceleration * 2, this.Attributes.Balance);

        c_playerData.v_currentPosition               = transform.position;
        c_playerData.q_currentRotation               = transform.rotation;
        c_playerData.q_targetRotation                = transform.rotation;
        c_playerData.v_currentAirDirection           = transform.forward;
        c_playerData.v_currentNormal                 = transform.up;
        c_playerData.v_currentDown                   = transform.up * -1;
        c_playerData.f_currentSpeed                  = Constants.ZERO_F;
        c_playerData.f_currentAcceleration           = c_playerData.f_acceleration;
        c_playerData.f_currentTopSpeed               = c_playerData.f_topSpeed;
        c_playerData.f_currentJumpCharge             = Constants.ZERO_F;
        c_playerData.f_currentForwardRaycastDistance = c_playerData.f_forwardRaycastDistance;
        c_playerData.f_currentRaycastDistance        = c_playerData.f_raycastDistance;
        c_playerData.f_surfaceAngleDifference        = 0.0f;
        c_playerData.b_obstacleInRange               = false;

        c_lastFrameData.v_lastFramePosition = transform.position;
        c_lastFrameData.q_lastFrameRotation = transform.rotation;

        c_stateData.b_updateState    = true;
        c_stateData.b_courseFinished = false;
    }
Beispiel #3
0
 public SpinSnapState(ref AerialMoveData aerialIn,
                      ref PlayerPositionData playerPosIn,
                      ref TrickPhysicsData trickIn,
                      ref ScoringData scoringIn)
 {
     this.c_aerialMoveData = aerialIn;
     this.c_playerPosData  = playerPosIn;
     this.c_physData       = trickIn;
     this.c_scoringData    = scoringIn;
 }
 public SpinChargeState(ref TrickPhysicsData dataIn, ref PlayerInputData inputIn, ref IncrementCartridge incrIn)
 {
     this.c_trickPhys   = dataIn;
     this.c_playerInput = inputIn;
     this.cart_incr     = incrIn;
 }
Beispiel #5
0
 public SpinIdleState(ref TrickPhysicsData dataIn, ref PlayerPositionData posDataIn)
 {
     this.c_trickPhys = dataIn;
     this.c_posData   = posDataIn;
 }
Beispiel #6
0
 public SpinCorrectState(ref TrickPhysicsData dataIn, ref PlayerData playerData, ref PlayerPositionData posDataIn)
 {
     this.c_trickPhys  = dataIn;
     this.c_playerData = playerData;
     this.c_posData    = posDataIn;
 }