Corgi Engine  v8.8
MoreMountains.CorgiEngine.CharacterWalljump Class Reference

Add this component to a Character and it'll be able to walljump Animator parameters : WallJumping (bool) More...

Inheritance diagram for MoreMountains.CorgiEngine.CharacterWalljump:
MoreMountains.CorgiEngine.CharacterAbility MoreMountains.CorgiEngine.CorgiMonoBehaviour

Public Types

enum  ForceModes { ForceModes.AddForce, ForceModes.SetForce }
 the possible ways to apply force when jumping More...
 

Public Member Functions

override string HelpBoxText ()
 This method is only used to display a helpbox text at the beginning of the ability's inspector. More...
 
delegate void OnWallJumpDelegate ()
 a delegate you can listen to to do something when a walljump happens More...
 
virtual void ResetNumberOfWalljumpsLeft ()
 Resets the amount of walljumps left More...
 
virtual bool EvaluateWallJumpConditions ()
 
virtual bool InWalljumpCoyoteTime ()
 
override void ProcessAbility ()
 On ProcessAbility, we reset our number of wall jumps if needed More...
 
override void UpdateAnimator ()
 At the end of each cycle, we send our character's animator the current walljumping status More...
 
override void ResetAbility ()
 On reset ability, we cancel all the changes made More...
 
- Public Member Functions inherited from MoreMountains.CorgiEngine.CharacterAbility
virtual void SetInputManager (InputManager inputManager)
 Sets a new input manager for this ability to get input from More...
 
virtual void BindAnimator ()
 Binds the animator from the character and initializes the animator parameters More...
 
virtual void ResetInput ()
 Resets all input for this ability. Can be overridden for ability specific directives More...
 
virtual void EarlyProcessAbility ()
 The first of the 3 passes you can have in your ability. Think of it as EarlyUpdate() if it existed More...
 
virtual void LateProcessAbility ()
 The last of the 3 passes you can have in your ability. Think of it as LateUpdate() More...
 
virtual void PermitAbility (bool abilityPermitted)
 Changes the status of the ability's permission More...
 
virtual void Flip ()
 Override this to specify what should happen in this ability when the character flips More...
 
virtual void PlayAbilityStartFeedbacks ()
 Plays the ability start sound effect More...
 
virtual void StopStartFeedbacks ()
 Stops the ability used sound effect More...
 
virtual void PlayAbilityStopFeedbacks ()
 Plays the ability stop sound effect More...
 
virtual void RegisterAnimatorParameter (string parameterName, AnimatorControllerParameterType parameterType, out int parameter)
 Registers a new animator parameter to the list More...
 

Public Attributes

Vector2 WallJumpForce = new Vector2(10,4)
 the force of a walljump More...
 
ForceModes ForceMode = ForceModes.AddForce
 the selected force mode More...
 
bool ForceFlipTowardsDirection = false
 if this is true, the character will be forced to flip towards the jump direction on the jump frame More...
 
bool ShouldReduceNumberOfJumpsLeft = true
 if this is true, walljumps count as regular (non wall) jump to decrease the number of jumps left More...
 
bool LimitNumberOfWalljumps = false
 if this is true, number of consecutive walljumps will be limited to MaximumNumberOfWalljumps More...
 
int MaximumNumberOfWalljumps = 3
 the maximum number of walljumps allowed More...
 
int NumberOfWalljumpsLeft
 the amount of walljumps left at this time More...
 
bool AllowCoyoteTime = false
 whether or not to autorize wall jumps in a buffer duration after the character has exited the wall clinging state More...
 
float CoyoteTimeDuration = 0.2f
 the duration (in seconds) during which a wall jump should still be allowed after having left the wall clinging state More...
 
OnWallJumpDelegate OnWallJump
 
- Public Attributes inherited from MoreMountains.CorgiEngine.CharacterAbility
MMFeedbacks AbilityStartFeedbacks
 the feedbacks to play when the ability starts More...
 
MMFeedbacks AbilityStopFeedbacks
 the feedbacks to play when the ability stops More...
 
bool AbilityPermitted = true
 if true, this ability can perform as usual, if not, it'll be ignored. You can use this to unlock abilities over time for example More...
 
CharacterStates.MovementStates[] BlockingMovementStates
 an array containing all the blocking movement states. If the Character is in one of these states and tries to trigger this ability, it won't be permitted. Useful to prevent this ability from being used while Idle or Swimming, for example. More...
 
CharacterStates.CharacterConditions[] BlockingConditionStates
 an array containing all the blocking condition states. If the Character is in one of these states and tries to trigger this ability, it won't be permitted. Useful to prevent this ability from being used while dead, for example. More...
 
Weapon.WeaponStates[] BlockingWeaponStates
 an array containing all the blocking weapon states. If one of the character's weapons is in one of these states and yet the character tries to trigger this ability, it won't be permitted. Useful to prevent this ability from being used while attacking, for example. More...
 

Protected Member Functions

override void Initialization ()
 On start, we store our characterJump component More...
 
override void HandleInput ()
 Every frame, we chack if we're pressing the jump button More...
 
virtual void WalljumpRequest ()
 Performs a walljump if the conditions are met More...
 
void LateUpdate ()
 
override void InitializeAnimatorParameters ()
 Adds required animator parameters to the animator parameters list if they exist More...
 
- Protected Member Functions inherited from MoreMountains.CorgiEngine.CharacterAbility
virtual void Start ()
 On Start(), we call the ability's intialization More...
 
virtual void InternalHandleInput ()
 Internal method to check if an input manager is present or not More...
 
virtual void OnRespawn ()
 Override this to describe what should happen to this ability when the character respawns More...
 
virtual void OnDeath ()
 Override this to describe what should happen to this ability when the character respawns More...
 
virtual void OnHit ()
 Override this to describe what should happen to this ability when the character takes a hit More...
 
virtual void OnEnable ()
 On enable, we bind our respawn delegate More...
 
virtual void OnDisable ()
 On disable, we unbind our respawn delegate More...
 

Protected Attributes

CharacterJump _characterJump
 
CharacterWallClinging _characterWallClinging
 
int _wallJumpingAnimationParameter
 
Vector2 _wallJumpVector
 
float _lastTimeWallClinging = -float.MaxValue
 
bool _hasWallJumped = false
 
bool _hasLeftGround = false
 
- Protected Attributes inherited from MoreMountains.CorgiEngine.CharacterAbility
Character _character
 
Transform _characterTransform
 
Health _health
 
CharacterHorizontalMovement _characterHorizontalMovement
 
CorgiController _controller
 
InputManager _inputManager
 
CameraController _sceneCamera
 
Animator _animator
 
CharacterStates _state
 
SpriteRenderer _spriteRenderer
 
MMStateMachine< CharacterStates.MovementStates_movement
 
MMStateMachine< CharacterStates.CharacterConditions_condition
 
bool _abilityInitialized = false
 
CharacterGravity _characterGravity
 
float _verticalInput
 
float _horizontalInput
 
bool _startFeedbackIsPlaying = false
 
List< CharacterHandleWeapon_handleWeaponList
 

Static Protected Attributes

const string _wallJumpingAnimationParameterName = "WallJumping"
 

Properties

bool WallJumpHappenedThisFrame [get, set]
 returns true if a walljump happened this frame More...
 
- Properties inherited from MoreMountains.CorgiEngine.CharacterAbility
virtual bool AbilityAuthorized [get]
 
virtual bool AbilityInitialized [get]
 true if the ability has already been initialized More...
 

Detailed Description

Add this component to a Character and it'll be able to walljump Animator parameters : WallJumping (bool)

Member Enumeration Documentation

◆ ForceModes

the possible ways to apply force when jumping

Enumerator
AddForce 
SetForce 

Member Function Documentation

◆ EvaluateWallJumpConditions()

virtual bool MoreMountains.CorgiEngine.CharacterWalljump.EvaluateWallJumpConditions ( )
virtual

◆ HandleInput()

override void MoreMountains.CorgiEngine.CharacterWalljump.HandleInput ( )
protectedvirtual

Every frame, we chack if we're pressing the jump button

Reimplemented from MoreMountains.CorgiEngine.CharacterAbility.

◆ HelpBoxText()

override string MoreMountains.CorgiEngine.CharacterWalljump.HelpBoxText ( )
virtual

This method is only used to display a helpbox text at the beginning of the ability's inspector.

Reimplemented from MoreMountains.CorgiEngine.CharacterAbility.

◆ Initialization()

override void MoreMountains.CorgiEngine.CharacterWalljump.Initialization ( )
protectedvirtual

On start, we store our characterJump component

Reimplemented from MoreMountains.CorgiEngine.CharacterAbility.

◆ InitializeAnimatorParameters()

override void MoreMountains.CorgiEngine.CharacterWalljump.InitializeAnimatorParameters ( )
protectedvirtual

Adds required animator parameters to the animator parameters list if they exist

Reimplemented from MoreMountains.CorgiEngine.CharacterAbility.

◆ InWalljumpCoyoteTime()

virtual bool MoreMountains.CorgiEngine.CharacterWalljump.InWalljumpCoyoteTime ( )
virtual

◆ LateUpdate()

void MoreMountains.CorgiEngine.CharacterWalljump.LateUpdate ( )
protected

◆ OnWallJumpDelegate()

delegate void MoreMountains.CorgiEngine.CharacterWalljump.OnWallJumpDelegate ( )

a delegate you can listen to to do something when a walljump happens

◆ ProcessAbility()

override void MoreMountains.CorgiEngine.CharacterWalljump.ProcessAbility ( )
virtual

On ProcessAbility, we reset our number of wall jumps if needed

Reimplemented from MoreMountains.CorgiEngine.CharacterAbility.

◆ ResetAbility()

override void MoreMountains.CorgiEngine.CharacterWalljump.ResetAbility ( )
virtual

On reset ability, we cancel all the changes made

Reimplemented from MoreMountains.CorgiEngine.CharacterAbility.

◆ ResetNumberOfWalljumpsLeft()

virtual void MoreMountains.CorgiEngine.CharacterWalljump.ResetNumberOfWalljumpsLeft ( )
virtual

Resets the amount of walljumps left

◆ UpdateAnimator()

override void MoreMountains.CorgiEngine.CharacterWalljump.UpdateAnimator ( )
virtual

At the end of each cycle, we send our character's animator the current walljumping status

Reimplemented from MoreMountains.CorgiEngine.CharacterAbility.

◆ WalljumpRequest()

virtual void MoreMountains.CorgiEngine.CharacterWalljump.WalljumpRequest ( )
protectedvirtual

Performs a walljump if the conditions are met

Member Data Documentation

◆ _characterJump

CharacterJump MoreMountains.CorgiEngine.CharacterWalljump._characterJump
protected

◆ _characterWallClinging

CharacterWallClinging MoreMountains.CorgiEngine.CharacterWalljump._characterWallClinging
protected

◆ _hasLeftGround

bool MoreMountains.CorgiEngine.CharacterWalljump._hasLeftGround = false
protected

◆ _hasWallJumped

bool MoreMountains.CorgiEngine.CharacterWalljump._hasWallJumped = false
protected

◆ _lastTimeWallClinging

float MoreMountains.CorgiEngine.CharacterWalljump._lastTimeWallClinging = -float.MaxValue
protected

◆ _wallJumpingAnimationParameter

int MoreMountains.CorgiEngine.CharacterWalljump._wallJumpingAnimationParameter
protected

◆ _wallJumpingAnimationParameterName

const string MoreMountains.CorgiEngine.CharacterWalljump._wallJumpingAnimationParameterName = "WallJumping"
staticprotected

◆ _wallJumpVector

Vector2 MoreMountains.CorgiEngine.CharacterWalljump._wallJumpVector
protected

◆ AllowCoyoteTime

bool MoreMountains.CorgiEngine.CharacterWalljump.AllowCoyoteTime = false

whether or not to autorize wall jumps in a buffer duration after the character has exited the wall clinging state

◆ CoyoteTimeDuration

float MoreMountains.CorgiEngine.CharacterWalljump.CoyoteTimeDuration = 0.2f

the duration (in seconds) during which a wall jump should still be allowed after having left the wall clinging state

◆ ForceFlipTowardsDirection

bool MoreMountains.CorgiEngine.CharacterWalljump.ForceFlipTowardsDirection = false

if this is true, the character will be forced to flip towards the jump direction on the jump frame

◆ ForceMode

ForceModes MoreMountains.CorgiEngine.CharacterWalljump.ForceMode = ForceModes.AddForce

the selected force mode

◆ LimitNumberOfWalljumps

bool MoreMountains.CorgiEngine.CharacterWalljump.LimitNumberOfWalljumps = false

if this is true, number of consecutive walljumps will be limited to MaximumNumberOfWalljumps

◆ MaximumNumberOfWalljumps

int MoreMountains.CorgiEngine.CharacterWalljump.MaximumNumberOfWalljumps = 3

the maximum number of walljumps allowed

◆ NumberOfWalljumpsLeft

int MoreMountains.CorgiEngine.CharacterWalljump.NumberOfWalljumpsLeft

the amount of walljumps left at this time

◆ OnWallJump

OnWallJumpDelegate MoreMountains.CorgiEngine.CharacterWalljump.OnWallJump

◆ ShouldReduceNumberOfJumpsLeft

bool MoreMountains.CorgiEngine.CharacterWalljump.ShouldReduceNumberOfJumpsLeft = true

if this is true, walljumps count as regular (non wall) jump to decrease the number of jumps left

◆ WallJumpForce

Vector2 MoreMountains.CorgiEngine.CharacterWalljump.WallJumpForce = new Vector2(10,4)

the force of a walljump

Property Documentation

◆ WallJumpHappenedThisFrame

bool MoreMountains.CorgiEngine.CharacterWalljump.WallJumpHappenedThisFrame
getset

returns true if a walljump happened this frame


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