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

Air movement digital. More...

Inheritance diagram for PlatformerPro.AirMovement_Digital:
PlatformerPro.AirMovement PlatformerPro.IFlippableGravityMovement PlatformerPro.BaseMovement< AirMovement > AirMovement_DigitalInFacingDirection PlatformerPro.AirMovement_Digital_V2

Public Member Functions

override 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...
 
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. Reset the jump count. More...
 
override void DoJump ()
 Do the jump by translating and applying velocity. More...
 
override void DoOverridenJump (float newHeight, int newJumpCount, bool skipPowerUps=false)
 Do the jump with overriden height and jumpCount. More...
 
- Public Member Functions inherited from PlatformerPro.AirMovement
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 airSpeed
 The (horizontal) speed the character moves at in the air. More...
 
float jumpHeight
 How high the character jumps. 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 canDoubleJump
 Can the character double jump. More...
 
float doubleJumpHeight
 How high the character jumps on a double jump. More...
 
int maxDoubleJumpCount
 How many times the character can double jump. -1 means infinite. More...
 

Protected Member Functions

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

Protected Attributes

float initialVelocity
 Derived initial velocity based on jumpHeight 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...
 
int jumpCount
 Jump count, set to 0 while not jumping, 1 while jumping, 2 while double More...
 
float doubleJumpInitialVelocity
 Derived initial velocity based on doubleJumpHeight and time. More...
 
bool jumpWhenButtonHeld
 Automatically jump when the character holds the jump button down. More...
 
float expectedJumpPeak
 Where we expect the jump to peak. More...
 
bool jumpButtonReleased
 For double track if the jump button has been released. We don't double jump if the user just holds jump. 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 DefaultAirSpeed = 5.0f
 The default air speed. More...
 
const float DefaultJumpHeight = 2.0f
 The default height of the jump. More...
 
const float DefaultRelativeJumpGravity = 1.0f
 The default relative jump gravity. More...
 
const float DefaultGroundedLeeway = 0.1f
 The default grounded leeway. More...
 
const bool DefaultCanDoubleJump = false
 The default can double jump value. More...
 
const float DefaultDoubleJumpHeight = 2.0f
 The default height of the double jump. More...
 
const int AirSpeedIndex = 0
 The index for the air speed value in the movement data. More...
 
const int JumpHeightIndex = 1
 The index for the air speed value in the movement data. More...
 
const int JumpCurveIndex = 2
 The index for the jump curve value in the movement data. More...
 
const int ShowJumpDetailsIndex = 3
 The index for the value of show jumped details. Only used by editor. 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 CanDoubleJumpIndex = 6
 The index for can double jump in the movement data. More...
 
const int DoubleJumpHeightIndex = 7
 The index for the double jump height in the movement data. More...
 
const int JumpWhenButtonHeldIndex = 8
 The index for the Jump When Button Held in the movement data. More...
 
const int MaxDoubleJumpCountIndex = 9
 The index for the Max Double Jump Count in the movement data. More...
 
const int MovementVariableCount = 10
 The size of the movement variable array. More...
 

Properties

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

Air movement digital.

Member Function Documentation

◆ DoJump()

override void PlatformerPro.AirMovement_Digital.DoJump ( )
virtual

Do the jump by translating and applying velocity.

Reimplemented from PlatformerPro.AirMovement.

Reimplemented in AirMovement_DigitalInFacingDirection.

◆ DoMove()

override void PlatformerPro.AirMovement_Digital.DoMove ( )

Moves the character.

◆ DoOverridenJump()

override void PlatformerPro.AirMovement_Digital.DoOverridenJump ( float  newHeight,
int  newJumpCount,
bool  skipPowerUps = false 
)
virtual

Do the jump with overriden height and jumpCount.

Reimplemented from PlatformerPro.AirMovement.

◆ ForceMaintainControl()

override bool PlatformerPro.AirMovement_Digital.ForceMaintainControl ( )

If the jump just started force control.

◆ HandleGravityFlipped()

override void PlatformerPro.AirMovement_Digital.HandleGravityFlipped ( object  sender,
System.EventArgs  e 
)
protectedvirtual

Handles the gravity being flipped.

Parameters
senderSender.
eE.

Reimplemented from PlatformerPro.AirMovement.

◆ Init()

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

Initialise the movement with the given movement data.

Parameters
characterCharacter.
movementDataMovement data.

◆ LosingControl()

override void PlatformerPro.AirMovement_Digital.LosingControl ( )

Called when the movement loses control. Reset the jump count.

◆ MoveInX()

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

Does the X movement.

Reimplemented from PlatformerPro.AirMovement.

Reimplemented in AirMovement_DigitalInFacingDirection.

◆ MoveInY()

override void PlatformerPro.AirMovement_Digital.MoveInY ( )
protectedvirtual

Do the Y movement.

Reimplemented from PlatformerPro.AirMovement.

◆ WantsAirControl()

override bool PlatformerPro.AirMovement_Digital.WantsAirControl ( )
virtual

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.

true

false

Returns
true, if air control was wantsed, false otherwise.

Reimplemented from PlatformerPro.AirMovement.

◆ WantsJump()

override bool PlatformerPro.AirMovement_Digital.WantsJump ( )
virtual

Gets a value indicating whether this movement wants to intiate the jump.

true if this instance should jump; otherwise, false.

Reimplemented from PlatformerPro.AirMovement.

Member Data Documentation

◆ airSpeed

float PlatformerPro.AirMovement_Digital.airSpeed

The (horizontal) speed the character moves at in the air.

◆ AirSpeedIndex

const int PlatformerPro.AirMovement_Digital.AirSpeedIndex = 0
staticprotected

The index for the air speed value in the movement data.

◆ canDoubleJump

bool PlatformerPro.AirMovement_Digital.canDoubleJump

Can the character double jump.

◆ CanDoubleJumpIndex

const int PlatformerPro.AirMovement_Digital.CanDoubleJumpIndex = 6
staticprotected

The index for can double jump in the movement data.

◆ DefaultAirSpeed

const float PlatformerPro.AirMovement_Digital.DefaultAirSpeed = 5.0f
staticprotected

The default air speed.

◆ DefaultCanDoubleJump

const bool PlatformerPro.AirMovement_Digital.DefaultCanDoubleJump = false
staticprotected

The default can double jump value.

◆ DefaultDoubleJumpHeight

const float PlatformerPro.AirMovement_Digital.DefaultDoubleJumpHeight = 2.0f
staticprotected

The default height of the double jump.

◆ DefaultGroundedLeeway

const float PlatformerPro.AirMovement_Digital.DefaultGroundedLeeway = 0.1f
staticprotected

The default grounded leeway.

◆ DefaultJumpHeight

const float PlatformerPro.AirMovement_Digital.DefaultJumpHeight = 2.0f
staticprotected

The default height of the jump.

◆ DefaultRelativeJumpGravity

const float PlatformerPro.AirMovement_Digital.DefaultRelativeJumpGravity = 1.0f
staticprotected

The default relative jump gravity.

◆ doubleJumpHeight

float PlatformerPro.AirMovement_Digital.doubleJumpHeight

How high the character jumps on a double jump.

◆ DoubleJumpHeightIndex

const int PlatformerPro.AirMovement_Digital.DoubleJumpHeightIndex = 7
staticprotected

The index for the double jump height in the movement data.

◆ doubleJumpInitialVelocity

float PlatformerPro.AirMovement_Digital.doubleJumpInitialVelocity
protected

Derived initial velocity based on doubleJumpHeight and time.

◆ expectedJumpPeak

float PlatformerPro.AirMovement_Digital.expectedJumpPeak
protected

Where we expect the jump to peak.

◆ groundedLeeway

float PlatformerPro.AirMovement_Digital.groundedLeeway

After the user leaves the ground how much additional time do we give the user to press jump and still consider them grounded.

◆ GroundedLeewayIndex

const int PlatformerPro.AirMovement_Digital.GroundedLeewayIndex = 5
staticprotected

The index for the ground leeway in the movement data.

◆ initialVelocity

float PlatformerPro.AirMovement_Digital.initialVelocity
protected

Derived initial velocity based on jumpHeight and relativeGravity.

◆ jumpButtonReleased

bool PlatformerPro.AirMovement_Digital.jumpButtonReleased
protected

For double track if the jump button has been released. We don't double jump if the user just holds jump.

◆ jumpCount

int PlatformerPro.AirMovement_Digital.jumpCount
protected

Jump count, set to 0 while not jumping, 1 while jumping, 2 while double

◆ JumpCurveIndex

const int PlatformerPro.AirMovement_Digital.JumpCurveIndex = 2
staticprotected

The index for the jump curve value in the movement data.

◆ jumpHeight

float PlatformerPro.AirMovement_Digital.jumpHeight

How high the character jumps.

◆ JumpHeightIndex

const int PlatformerPro.AirMovement_Digital.JumpHeightIndex = 1
staticprotected

The index for the air speed value in the movement data.

◆ JumpRelativeGravityIndex

const int PlatformerPro.AirMovement_Digital.JumpRelativeGravityIndex = 4
staticprotected

The index for the relative jump gravity in the movement data.

◆ jumpStart

bool PlatformerPro.AirMovement_Digital.jumpStart
protected

True before the jump leaves the ground.

◆ jumpWhenButtonHeld

bool PlatformerPro.AirMovement_Digital.jumpWhenButtonHeld
protected

Automatically jump when the character holds the jump button down.

◆ JumpWhenButtonHeldIndex

const int PlatformerPro.AirMovement_Digital.JumpWhenButtonHeldIndex = 8
staticprotected

The index for the Jump When Button Held in the movement data.

◆ maxDoubleJumpCount

int PlatformerPro.AirMovement_Digital.maxDoubleJumpCount

How many times the character can double jump. -1 means infinite.

◆ MaxDoubleJumpCountIndex

const int PlatformerPro.AirMovement_Digital.MaxDoubleJumpCountIndex = 9
staticprotected

The index for the Max Double Jump Count in the movement data.

◆ MovementVariableCount

const int PlatformerPro.AirMovement_Digital.MovementVariableCount = 10
staticprotected

The size of the movement variable array.

◆ readyToJumpTimer

float PlatformerPro.AirMovement_Digital.readyToJumpTimer
protected

Character can only jump if this timer is less than zero.

◆ relativeJumpGravity

float PlatformerPro.AirMovement_Digital.relativeJumpGravity

The gravity applied during jump (relative to the characters Gravity component).

◆ ShowJumpDetailsIndex

const int PlatformerPro.AirMovement_Digital.ShowJumpDetailsIndex = 3
staticprotected

The index for the value of show jumped details. Only used by editor.

◆ showJumpStartedAnimation

bool PlatformerPro.AirMovement_Digital.showJumpStartedAnimation
protected

Ensure we play the jump start animation.

Property Documentation

◆ AnimationPriority

override int PlatformerPro.AirMovement_Digital.AnimationPriority
get

Gets the priority for the animation state.

◆ AnimationState

override AnimationState PlatformerPro.AirMovement_Digital.AnimationState
get

Gets the animation state that this movement wants to set.

◆ CurrentGravity

override float PlatformerPro.AirMovement_Digital.CurrentGravity
get

Gets a value indicating the current gravity, only used if this movement doesn't apply the default gravity.

See also
ShouldApplyGravity()

◆ FacingDirection

override int PlatformerPro.AirMovement_Digital.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.

◆ Info

new static MovementInfo PlatformerPro.AirMovement_Digital.Info
staticget

Static movement info used by the editor.

◆ ShouldApplyGravity

override bool PlatformerPro.AirMovement_Digital.ShouldApplyGravity
get

This class will handle gravity internally.


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