コード例 #1
0
    /// <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;
    }
コード例 #2
0
 public TurnChargeState(ref PlayerData playerData,
                        ref PlayerHandlingData turnDataIn,
                        ref PlayerPositionData positionData)
 {
     this.c_playerData   = playerData;
     this.c_turnData     = turnDataIn;
     this.c_positionData = positionData;
 }
コード例 #3
0
 public StraightState(ref PlayerData playerData,
                      ref PlayerHandlingData turnDataIn,
                      ref PlayerPositionData positionData)
 {
     this.c_playerData   = playerData;
     this.c_turnData     = turnDataIn;
     this.c_positionData = positionData;
 }
コード例 #4
0
ファイル: CarvingState.cs プロジェクト: AZaruba/SnowboardJam
 public CarvingState(ref PlayerData playerData,
                     ref PlayerHandlingData turnDataIn,
                     ref PlayerInputData inputData,
                     ref PlayerPositionData positionData)
 {
     this.c_playerData      = playerData;
     this.c_turnData        = turnDataIn;
     this.c_playerInputData = inputData;
     this.c_positionData    = positionData;
 }
コード例 #5
0
 public BoostState(ref PlayerData playerData,
                   ref AerialMoveData aerialMoveData,
                   ref CollisionData collisionData,
                   ref PlayerPositionData positionData,
                   ref PlayerHandlingData turnData)
 {
     this.c_playerData     = playerData;
     this.c_aerialMoveData = aerialMoveData;
     this.c_positionData   = positionData;
     this.c_collisionData  = collisionData;
     this.c_turnData       = turnData;
 }