Platformer Pro  2.3.2
A platform game kit for Unity.
PlatformerPro.AirMovement_VariableWithInertia Class Reference

An air movement that has a variable height jump and in which the horizontal speed has some inertia before coming to a stop (i.e. is not instantly changed). Similar to SMB. More...

Inheritance diagram for PlatformerPro.AirMovement_VariableWithInertia:
PlatformerPro.AirMovement_Variable PlatformerPro.AirMovement PlatformerPro.BaseMovement< AirMovement >

Public Member Functions

override Movement Init (Character character, MovementVariable[] movementData)
 Initialise the movement with the given movement data. More...
 
override void GainControl ()
 Called when the movement gets control. Typically used to do initialisation of velocity and the like. More...
 
override void DoJump ()
 Do the jump by translating and applying velocity. More...
 
- Public Member Functions inherited from PlatformerPro.AirMovement_Variable
override bool WantsJump ()
 Gets a value indicating whether this movement wants to intiate the jump. More...
 
override void DoMove ()
 Moves the character. More...
 
override Movement Init (Character character, MovementVariable[] movementData)
 Initialise the movement with the given movement data. More...
 
override bool ForceMaintainControl ()
 If the jump just started force control. More...
 
override void LosingControl ()
 Called when the movement loses control. Override to do any reset type actions. More...
 
override void DoOverridenJump (float newHeight, int ignoredJumpCount, bool skipPowerUps=false)
 Do the jump with overriden height and jumpCount. More...
 
- Public Member Functions inherited from PlatformerPro.AirMovement
virtual bool WantsAirControl ()
 Gets a value indicating whether this movement wants to control the movement in the air. Default is false with movement falling back to default air. Override if you want control. More...
 
virtual void DoOverridenMove (bool moveInX, bool moveInY, float xInput, ButtonState runButton)
 Partially moves the character. A lot of movements (e.g. wall movements) require partial air movement. This allows them to use the air movement instead of re-implementing the movement. More...
 
virtual float GetSpeed (float baseSpeed)
 Gets the air speed. More...
 
virtual float GetRunSpeed (float baseRunSpeed)
 Gets the run speed. More...
 
virtual float GetAcceleration (float baseAcceleration)
 Gets the acceleration. More...
 
virtual float GetJumpHeightOrForce (float baseHeight)
 Gets the jump height or the jump force. More...
 
virtual float GetDoubleJumpHeightOrForce (float baseHeight)
 Gets the double jump height or the double jump force. More...
 
- Public Member Functions inherited from PlatformerPro.BaseMovement< AirMovement >
sealed override Movement Init (Character character)
 Initialise this movement. More...
 
bool IsMovementDataDifferent (MovementVariable[] originalMovementData)
 Determines whether this instances movement data is different from the supplied originalMovementData. More...
 

Public Attributes

float airSpeedRun
 The (horizontal) speed the character moves at in the air while run is depressed. More...
 
float airSpeedAcceleration
 Rate at which the air speed changes. More...
 
- Public Attributes inherited from PlatformerPro.AirMovement_Variable
float airSpeed
 The (horizontal) speed the character moves at in the air. More...
 
float minJumpHeight
 Smallest height the character can jump More...
 
float maxJumpHeight
 Largest height the character can jump. More...
 
float maxJumpAccelerationTime
 How long the character has to hold the jump button to jump the max height. More...
 
float relativeJumpGravity
 The gravity applied during jump (relative to the characters Gravity component). More...
 
float groundedLeeway
 After the user leaves the ground how much additional time do we give the user to press jump and still consider them grounded. More...
 
bool jumpWhenButtonHeld
 Automatically jump when the character holds the jump button down. More...
 
bool canDoubleJump
 Can the character double jump. More...
 
float doubleJumpHeight
 How high the character jumps on a double jump. More...
 

Protected Member Functions

override void MoveInX (float horizontalAxis, int horizontalAxisDigital, ButtonState runButton)
 Do the X movement. More...
 
- Protected Member Functions inherited from PlatformerPro.AirMovement_Variable
override void MoveInY ()
 Do the Y movement. More...
 
- Protected Member Functions inherited from PlatformerPro.AirMovement
virtual void AddGravityFlipHandler ()
 Add handler for the gravity flip event More...
 
virtual void HandleGravityFlipped (object sender, System.EventArgs e)
 Handles the gravity being flipped. More...
 

Protected Attributes

bool isForceRun
 If the previous movement was a run movement, then this should be a run too. More...
 
- Protected Attributes inherited from PlatformerPro.AirMovement_Variable
float initialVelocity
 Derived initial velocity based on minJumpHeight and relativeGravity. More...
 
float readyToJumpTimer
 Character can only jump if this timer is less than zero. More...
 
bool jumpStart
 True before the jump leaves the ground. More...
 
bool showJumpStartedAnimation
 Ensure we play the jump start animation. More...
 
float jumpHeldTimer
 Times how long player has held Jump button. More...
 
float startingYPosition
 Track where the last jump started so we can calculate speed that should be set each frame. More...
 
float actualMaxJumpHeight
 The actual height of the max jump this can change when for example we get an overriden jump from something like a springbaord platform. More...
 
int jumpCount
 The jump count. More...
 
- Protected Attributes inherited from PlatformerPro.AirMovement
FlippableGravity flippableGravity
 Cached reference to a flippable gravity. More...
 
- Protected Attributes inherited from PlatformerPro.BaseMovement< AirMovement >
Movement implementation
 The class that will do the movement. More...
 
string movementType
 The type of movement as a string. More...
 
MovementVariable[] movementData
 Data that should be applied to the movement type on init. More...
 

Static Protected Attributes

const float DefaultAirSpeedRun = 8.0f
 The default air speed while run is depressed. More...
 
const float DefaultAirSpeedAcceleration = 45.0f
 The default air speed acceleration. More...
 
const int AirSpeedRunIndex = 7
 The index of the air speed run in the movement settings. More...
 
const int AirSpeedAccelerationIndex = 8
 The index of the air speed acceleration in the movement settings. More...
 
new const int MovementVariableCount = 9
 The size of the movement variable array. More...
 
- Static Protected Attributes inherited from PlatformerPro.AirMovement_Variable
const float DefaultAirSpeed = 5.0f
 The default air speed. More...
 
const float DefaultMinJumpHeight = 0.75f
 The default min height of the jump. More...
 
const float DefaultMaxJumpHeight = 2.5f
 The default max height of the jump. More...
 
const float DefaultRelativeJumpGravity = 1.5f
 The default relative jump gravity. More...
 
const float DefaultGroundedLeeway = 0.1f
 The default grounded leeway. More...
 
const float DefaultMaxJumpAccelerationTime = 0.25f
 The default max jump acceleration time. More...
 
const int AirSpeedIndex = 0
 The index for the air speed value in the movement data. More...
 
const int MinJumpHeightIndex = 1
 The index for the min jump height in the movement data. More...
 
const int MaxJumpHeightIndex = 2
 The index for the max jump height in the movement data. More...
 
const int MaxJumpAccelerationTimeIndex = 3
 The index for the Max Jump Accereration in the movement data. More...
 
const int JumpRelativeGravityIndex = 4
 The index for the relative jump gravity in the movement data. More...
 
const int GroundedLeewayIndex = 5
 The index for the ground leeway in the movement data. More...
 
const int JumpWhenButtonHeldIndex = 6
 The index for the Jump When Button Held in the movement data. More...
 
const int CanDoubleJumpIndex = 7
 The index of the can double jump value in the movement data. More...
 
const int MovementVariableCount = 8
 The size of the movement variable array. More...
 

Properties

new static MovementInfo Info [get]
 Static movement info used by the editor. More...
 
- Properties inherited from PlatformerPro.AirMovement_Variable
new static MovementInfo Info [get]
 Static movement info used by the editor. More...
 
override bool ShouldApplyGravity [get]
 This class will handle gravity internally. More...
 
override float CurrentGravity [get]
 Gets a value indicating the current gravity, only used if this movement doesn't apply the default gravity.

See also
ShouldApplyGravity()
More...
 
override AnimationState AnimationState [get]
 Gets the animation state that this movement wants to set. More...
 
override int AnimationPriority [get]
 Gets the priority for the animation state. More...
 
override int FacingDirection [get]
 Returns the direction the character is facing. 0 for none, 1 for right, -1 for left. This overriden version always returns the input direction. More...
 
- Properties inherited from PlatformerPro.AirMovement
new static MovementInfo Info [get]
 Static movement info used by the editor. More...
 
- Properties inherited from PlatformerPro.BaseMovement< AirMovement >
virtual string MovementType [get, set]
 The type of movement as a string. More...
 
virtual MovementVariable[] MovementData [get, set]
 Data that should be applied to the movement type on init. More...
 
new static MovementInfo Info [get]
 Static movement info used by the editor. More...
 
override bool Enabled [get, set]
 A custom enable which base movements can use to pass on enable values. More...
 
override Movement Implementation [get]
 Gets the underlying implementation. More...
 

Detailed Description

An air movement that has a variable height jump and in which the horizontal speed has some inertia before coming to a stop (i.e. is not instantly changed). Similar to SMB.

Member Function Documentation

◆ DoJump()

override void PlatformerPro.AirMovement_VariableWithInertia.DoJump ( )
virtual

Do the jump by translating and applying velocity.

Reimplemented from PlatformerPro.AirMovement_Variable.

◆ GainControl()

override void PlatformerPro.AirMovement_VariableWithInertia.GainControl ( )

Called when the movement gets control. Typically used to do initialisation of velocity and the like.

◆ Init()

override Movement PlatformerPro.AirMovement_VariableWithInertia.Init ( Character  character,
MovementVariable[]  movementData 
)

Initialise the movement with the given movement data.

Parameters
characterCharacter.
movementDataMovement data.

◆ MoveInX()

override void PlatformerPro.AirMovement_VariableWithInertia.MoveInX ( float  horizontalAxis,
int  horizontalAxisDigital,
ButtonState  runButton 
)
protectedvirtual

Do the X movement.

Reimplemented from PlatformerPro.AirMovement_Variable.

Member Data Documentation

◆ airSpeedAcceleration

float PlatformerPro.AirMovement_VariableWithInertia.airSpeedAcceleration

Rate at which the air speed changes.

◆ AirSpeedAccelerationIndex

const int PlatformerPro.AirMovement_VariableWithInertia.AirSpeedAccelerationIndex = 8
staticprotected

The index of the air speed acceleration in the movement settings.

◆ airSpeedRun

float PlatformerPro.AirMovement_VariableWithInertia.airSpeedRun

The (horizontal) speed the character moves at in the air while run is depressed.

◆ AirSpeedRunIndex

const int PlatformerPro.AirMovement_VariableWithInertia.AirSpeedRunIndex = 7
staticprotected

The index of the air speed run in the movement settings.

◆ DefaultAirSpeedAcceleration

const float PlatformerPro.AirMovement_VariableWithInertia.DefaultAirSpeedAcceleration = 45.0f
staticprotected

The default air speed acceleration.

◆ DefaultAirSpeedRun

const float PlatformerPro.AirMovement_VariableWithInertia.DefaultAirSpeedRun = 8.0f
staticprotected

The default air speed while run is depressed.

◆ isForceRun

bool PlatformerPro.AirMovement_VariableWithInertia.isForceRun
protected

If the previous movement was a run movement, then this should be a run too.

◆ MovementVariableCount

new const int PlatformerPro.AirMovement_VariableWithInertia.MovementVariableCount = 9
staticprotected

The size of the movement variable array.

Property Documentation

◆ Info

new static MovementInfo PlatformerPro.AirMovement_VariableWithInertia.Info
staticget

Static movement info used by the editor.


The documentation for this class was generated from the following file: