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

A wall movment class that can stick to and slide down walls. The character can also jump from the wall. More...

Inheritance diagram for PlatformerPro.WallMovement_WallCling:
PlatformerPro.WallMovement PlatformerPro.BaseMovement< WallMovement > PlatformerPro.WallMovement_WallClingAndClimb PlatformerPro.WallMovement_WallClingAndRun

Public Member Functions

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 WantsCling ()
 Gets a value indicating whether this movement wants to intiate a wall clinging behaviour. More...
 
override void DoCling ()
 
override bool ForceMaintainControl ()
 If this is true then the movement wants to maintain control of the character even if default transition conditions suggest it shouldn't. In this case control unless the character dismounts. More...
 
override void LosingControl ()
 Called when the movement loses control. Override to do any reset type actions. More...
 
- Public Member Functions inherited from PlatformerPro.BaseMovement< WallMovement >
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 clingGravity
 The gravity applied whle clining. Use 0 to allow infinite wall cling. More...
 
float gravityDelay
 How long before the (potentially reduced) gravity is applied to a character that is wall clinging. More...
 
float jumpHeight
 How high the character jumps on a wall jump. If 0 character will just fall from wall when jump is pressed. More...
 
float ignoreClingAfterJumpTime
 How long after jumping the character is not able to wall cling. More...
 
bool mustHoldToMaintainCling
 Does the user need to hold towards the wall constantly to maintain the cling? More...
 
float ignoreJumpTime
 How long after clinging to the wall will the jump button be ignored. More...
 

Protected Attributes

float ignoreWallClimbTimer
 While larger than zero the wall cling will be ignored. Usualy set after jumping. More...
 
float ignoreGravityTimer
 While larger than zero no gravity will be applied. More...
 
float ignoreJumpTimer
 While larger than zero player cannot jump off of wall. More...
 
BasicRaycast highestRightCollider
 The highest right collider. More...
 
BasicRaycast highestLeftCollider
 The highest left collider. More...
 
float ableToacceptInputTimer
 If this is non-zero the character is able to press jump in order to wall jump. More...
 
float ableToWallJumpTime = 0.15f
 How long after releaseing the wall can the character still wall jump. TODO: This should be user controllable. More...
 
bool hasJumped
 Tracks if we have jumped. More...
 
bool clingStarted
 Have we started clinging? More...
 
int currentWallDirection
 Cached wall direction. More...
 
- Protected Attributes inherited from PlatformerPro.BaseMovement< WallMovement >
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 int ClingGravityIndex = 2
 The index of the property for Cling Gravity. More...
 
const int GravityDelayIndex = 3
 The index of the property for Gravity Delay. More...
 
const int JumpHeightIndex = 4
 The index of the property for Jump height. More...
 
const int IgnoreClingAfterJumpTimeIndex = 5
 The index of the property for IgnoreClingAfterJumpTime. More...
 
const int MustHoldToMaintainClingIndex = 6
 The index of the property for MustHoldToMaintainCling. More...
 
const int IgnoreJumpTimeIndex = 7
 The index of the property for IgnoreJumpTime. More...
 
new const int MovementVariableCount = 8
 The size of the movement variable array. More...
 
const float DefaultJumpHeight = 2.0f
 The default ignore cling time. More...
 
const float DefaultIgnoreJumpTime = 0.2f
 The default ignore jump time. More...
 
const float DefaultIgnoreClingTime = 0.5f
 The default ignore cling time. More...
 
- Static Protected Attributes inherited from PlatformerPro.WallMovement
const int RequiredCollidersIndex = 1
 The index of the property for the required colliders. /// More...
 
const int MovementVariableCount = 2
 The size of the movement variable array. More...
 
const int DefaultRequiredColliders = 2
 The index of the property for the required colliders. /// More...
 

Properties

new static MovementInfo Info [get]
 Static movement info used by the editor. More...
 
override AnimationState AnimationState [get]
 Gets the animation state that this movement wants to set. More...
 
override int AnimationPriority [get]
 Gets the priority of the animation state that this movement wants to set. 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 wall direction. More...
 
override bool ShouldApplyGravity [get]
 Gravity handled internally More...
 
- Properties inherited from PlatformerPro.WallMovement
virtual bool ClingToAllWalls [get, protected set]
 If true this applies to all walls and there is no need to use tags or layers to detect walls. More...
 
virtual bool DetectWallsByTag [get, protected set]
 Should we find walls by tag or by layer. If true we will use tags, if false we will use layers. Tags are easier to use but come with an allocation cost. More...
 
virtual string WallLayerOrTagName [get, protected set]
 The name of the wall layer if we find by layers, or the tag name if we find by tags. More...
 
virtual int RequiredColliders [get, protected set]
 The number of colliders required for wall clinging to intiate. Note these colliders don't need to be hitting the same wall just a wall on the same side (so you can move up a wall made of tiled boxes). More...
 
override bool ShouldDoRotations [get]
 Gets a value indicating whether this PlatformerPro.Movement expects the rotations to be calculated and applied by the character. By default walls don't do this. More...
 
new static MovementInfo Info [get]
 Static movement info used by the editor. More...
 
- Properties inherited from PlatformerPro.BaseMovement< WallMovement >
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

A wall movment class that can stick to and slide down walls. The character can also jump from the wall.

Member Function Documentation

◆ DoCling()

override void PlatformerPro.WallMovement_WallCling.DoCling ( )
virtual

◆ DoMove()

override void PlatformerPro.WallMovement_WallCling.DoMove ( )

Moves the character.

◆ ForceMaintainControl()

override bool PlatformerPro.WallMovement_WallCling.ForceMaintainControl ( )

If this is true then the movement wants to maintain control of the character even if default transition conditions suggest it shouldn't. In this case control unless the character dismounts.

◆ Init()

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

Initialise the movement with the given movement data.

Parameters
characterCharacter.
movementDataMovement data.

◆ LosingControl()

override void PlatformerPro.WallMovement_WallCling.LosingControl ( )

Called when the movement loses control. Override to do any reset type actions.

◆ WantsCling()

override bool PlatformerPro.WallMovement_WallCling.WantsCling ( )
virtual

Gets a value indicating whether this movement wants to intiate a wall clinging behaviour.

Reimplemented from PlatformerPro.WallMovement.

Reimplemented in PlatformerPro.WallMovement_WallClingAndRun, and PlatformerPro.WallMovement_WallClingAndClimb.

Member Data Documentation

◆ ableToacceptInputTimer

float PlatformerPro.WallMovement_WallCling.ableToacceptInputTimer
protected

If this is non-zero the character is able to press jump in order to wall jump.

◆ ableToWallJumpTime

float PlatformerPro.WallMovement_WallCling.ableToWallJumpTime = 0.15f
protected

How long after releaseing the wall can the character still wall jump. TODO: This should be user controllable.

◆ clingGravity

float PlatformerPro.WallMovement_WallCling.clingGravity

The gravity applied whle clining. Use 0 to allow infinite wall cling.

◆ ClingGravityIndex

const int PlatformerPro.WallMovement_WallCling.ClingGravityIndex = 2
staticprotected

The index of the property for Cling Gravity.

◆ clingStarted

bool PlatformerPro.WallMovement_WallCling.clingStarted
protected

Have we started clinging?

◆ currentWallDirection

int PlatformerPro.WallMovement_WallCling.currentWallDirection
protected

Cached wall direction.

◆ DefaultIgnoreClingTime

const float PlatformerPro.WallMovement_WallCling.DefaultIgnoreClingTime = 0.5f
staticprotected

The default ignore cling time.

◆ DefaultIgnoreJumpTime

const float PlatformerPro.WallMovement_WallCling.DefaultIgnoreJumpTime = 0.2f
staticprotected

The default ignore jump time.

◆ DefaultJumpHeight

const float PlatformerPro.WallMovement_WallCling.DefaultJumpHeight = 2.0f
staticprotected

The default ignore cling time.

◆ gravityDelay

float PlatformerPro.WallMovement_WallCling.gravityDelay

How long before the (potentially reduced) gravity is applied to a character that is wall clinging.

◆ GravityDelayIndex

const int PlatformerPro.WallMovement_WallCling.GravityDelayIndex = 3
staticprotected

The index of the property for Gravity Delay.

◆ hasJumped

bool PlatformerPro.WallMovement_WallCling.hasJumped
protected

Tracks if we have jumped.

◆ highestLeftCollider

BasicRaycast PlatformerPro.WallMovement_WallCling.highestLeftCollider
protected

The highest left collider.

◆ highestRightCollider

BasicRaycast PlatformerPro.WallMovement_WallCling.highestRightCollider
protected

The highest right collider.

◆ ignoreClingAfterJumpTime

float PlatformerPro.WallMovement_WallCling.ignoreClingAfterJumpTime

How long after jumping the character is not able to wall cling.

◆ IgnoreClingAfterJumpTimeIndex

const int PlatformerPro.WallMovement_WallCling.IgnoreClingAfterJumpTimeIndex = 5
staticprotected

The index of the property for IgnoreClingAfterJumpTime.

◆ ignoreGravityTimer

float PlatformerPro.WallMovement_WallCling.ignoreGravityTimer
protected

While larger than zero no gravity will be applied.

◆ ignoreJumpTime

float PlatformerPro.WallMovement_WallCling.ignoreJumpTime

How long after clinging to the wall will the jump button be ignored.

◆ IgnoreJumpTimeIndex

const int PlatformerPro.WallMovement_WallCling.IgnoreJumpTimeIndex = 7
staticprotected

The index of the property for IgnoreJumpTime.

◆ ignoreJumpTimer

float PlatformerPro.WallMovement_WallCling.ignoreJumpTimer
protected

While larger than zero player cannot jump off of wall.

◆ ignoreWallClimbTimer

float PlatformerPro.WallMovement_WallCling.ignoreWallClimbTimer
protected

While larger than zero the wall cling will be ignored. Usualy set after jumping.

◆ jumpHeight

float PlatformerPro.WallMovement_WallCling.jumpHeight

How high the character jumps on a wall jump. If 0 character will just fall from wall when jump is pressed.

◆ JumpHeightIndex

const int PlatformerPro.WallMovement_WallCling.JumpHeightIndex = 4
staticprotected

The index of the property for Jump height.

◆ MovementVariableCount

new const int PlatformerPro.WallMovement_WallCling.MovementVariableCount = 8
staticprotected

The size of the movement variable array.

◆ mustHoldToMaintainCling

bool PlatformerPro.WallMovement_WallCling.mustHoldToMaintainCling

Does the user need to hold towards the wall constantly to maintain the cling?

◆ MustHoldToMaintainClingIndex

const int PlatformerPro.WallMovement_WallCling.MustHoldToMaintainClingIndex = 6
staticprotected

The index of the property for MustHoldToMaintainCling.

Property Documentation

◆ AnimationPriority

override int PlatformerPro.WallMovement_WallCling.AnimationPriority
get

Gets the priority of the animation state that this movement wants to set.

The animation priority.

◆ AnimationState

override AnimationState PlatformerPro.WallMovement_WallCling.AnimationState
get

Gets the animation state that this movement wants to set.

◆ FacingDirection

override int PlatformerPro.WallMovement_WallCling.FacingDirection
get

Returns the direction the character is facing. 0 for none, 1 for right, -1 for left. This overriden version always returns the wall direction.

◆ Info

new static MovementInfo PlatformerPro.WallMovement_WallCling.Info
staticget

Static movement info used by the editor.

◆ ShouldApplyGravity

override bool PlatformerPro.WallMovement_WallCling.ShouldApplyGravity
get

Gravity handled internally


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