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

Add this component to a Character and it'll be able to go up and down ladders. Animator parameters : LadderClimbing (bool), LadderClimbingSpeed (float) More...

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

Public Member Functions

override void ProcessAbility ()
 Every frame, we check if we need to do something about ladders More...
 
virtual void AddCollidingLadder (Collider2D newCollider)
 Adds a new ladder to the list of colliding ladders More...
 
virtual void RemoveCollidingLadder (Collider2D newCollider)
 Removes a ladder from the list of colliding ladders More...
 
virtual void GetOffTheLadder ()
 Resets various states so that the Character isn't climbing anymore More...
 
virtual void JumpFromLadder ()
 Called externally when jumping while on a ladder More...
 
override void UpdateAnimator ()
 At the end of each cycle, we update our animator with our various states More...
 
override void ResetAbility ()
 On reset ability, we cancel all the changes made More...
 
- Public Member Functions inherited from MoreMountains.CorgiEngine.CharacterAbility
virtual string HelpBoxText ()
 This method is only used to display a helpbox text at the beginning of the ability's inspector. More...
 
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

float LadderClimbingSpeed = 2f
 the speed of the character when climbing a ladder More...
 
bool ForceRightFacing = false
 force face right when on a ladder (useful for 3D characters) More...
 
bool ForceAnchorToGroundOnExit = false
 forces the character to teleport to the ladder platform when reaching the ladder's top More...
 
float MinimumTimeAfterLadderJump = 0.5f
 the time (in seconds) between jumping from a ladder and being able to climb another one (or the same one) More...
 
bool NoInputClimb = false
 if this is true, the Player won't have to press up to climb a ladder, simply colliding with one will cause the climb More...
 
bool NoInputClimbAirOnly = false
 if this is true, the character will have to be in the air for NoInputClimb to activate More...
 
- 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 initialize our various flags More...
 
virtual void ComputeClosestLadder ()
 Determines the current, highest and lowest ladders if there are any More...
 
virtual void HandleLadderClimbing ()
 Called at ProcessAbility(), checks if we're colliding with a ladder and if we need to do something about it More...
 
virtual void HandleFeedbacks ()
 
virtual void StartClimbing ()
 Puts the character on the ladder More...
 
virtual void StartClimbingDown ()
 Puts the character on the ladder if it's standing on top of it More...
 
virtual void SetClimbingState ()
 Sets the various flags and states More...
 
virtual void Climbing ()
 Handles movement on the ladder More...
 
virtual bool AboveLadderPlatform ()
 Determines if the player is above the ladder's platform (usually positioned near the top) More...
 
override void OnDeath ()
 When the character dies, we make sure it gets off the ladder first More...
 
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 HandleInput ()
 Called at the very start of the ability's cycle, and intended to be overridden, looks for input and calls methods if conditions are met More...
 
virtual void OnRespawn ()
 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

BoxCollider2D _boxCollider
 
List< Collider2D > _colliders
 
CharacterHandleWeapon _characterHandleWeapon
 
int _ladderClimbingUpAnimationParameter
 
int _ladderClimbingSpeedXAnimationParameter
 
int _ladderClimbingSpeedYAnimationParameter
 
float _lastJumpFromLadderAt = -float.MaxValue
 
- 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 _ladderClimbingUpAnimationParameterName = "LadderClimbing"
 
const string _ladderClimbingSpeedXAnimationParameterName = "LadderClimbingSpeedX"
 
const string _ladderClimbingSpeedYpAnimationParameterName = "LadderClimbingSpeedY"
 

Properties

Vector2 CurrentLadderClimbingSpeed [get, set]
 the current ladder climbing speed of the character More...
 
bool LadderColliding [get]
 true if the character is colliding with a ladder More...
 
Ladder CurrentLadder [get, set]
 the ladder the character is currently on More...
 
Ladder HighestLadder [get, set]
 the highest ladder the character is currently colliding with More...
 
Ladder LowestLadder [get, set]
 the lowest ladder the character is currently colliding with 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 go up and down ladders. Animator parameters : LadderClimbing (bool), LadderClimbingSpeed (float)

Member Function Documentation

◆ AboveLadderPlatform()

virtual bool MoreMountains.CorgiEngine.CharacterLadder.AboveLadderPlatform ( )
protectedvirtual

Determines if the player is above the ladder's platform (usually positioned near the top)

Returns
true, if the player is above the ladder's platform, false otherwise.

◆ AddCollidingLadder()

virtual void MoreMountains.CorgiEngine.CharacterLadder.AddCollidingLadder ( Collider2D  newCollider)
virtual

Adds a new ladder to the list of colliding ladders

Parameters
newCollider

◆ Climbing()

virtual void MoreMountains.CorgiEngine.CharacterLadder.Climbing ( )
protectedvirtual

Handles movement on the ladder

◆ ComputeClosestLadder()

virtual void MoreMountains.CorgiEngine.CharacterLadder.ComputeClosestLadder ( )
protectedvirtual

Determines the current, highest and lowest ladders if there are any

◆ GetOffTheLadder()

virtual void MoreMountains.CorgiEngine.CharacterLadder.GetOffTheLadder ( )
virtual

Resets various states so that the Character isn't climbing anymore

◆ HandleFeedbacks()

virtual void MoreMountains.CorgiEngine.CharacterLadder.HandleFeedbacks ( )
protectedvirtual

◆ HandleLadderClimbing()

virtual void MoreMountains.CorgiEngine.CharacterLadder.HandleLadderClimbing ( )
protectedvirtual

Called at ProcessAbility(), checks if we're colliding with a ladder and if we need to do something about it


◆ Initialization()

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

On Start(), we initialize our various flags

Reimplemented from MoreMountains.CorgiEngine.CharacterAbility.

◆ InitializeAnimatorParameters()

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

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

Reimplemented from MoreMountains.CorgiEngine.CharacterAbility.

◆ JumpFromLadder()

virtual void MoreMountains.CorgiEngine.CharacterLadder.JumpFromLadder ( )
virtual

Called externally when jumping while on a ladder

◆ OnDeath()

override void MoreMountains.CorgiEngine.CharacterLadder.OnDeath ( )
protectedvirtual

When the character dies, we make sure it gets off the ladder first

Reimplemented from MoreMountains.CorgiEngine.CharacterAbility.

◆ ProcessAbility()

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

Every frame, we check if we need to do something about ladders

Reimplemented from MoreMountains.CorgiEngine.CharacterAbility.

◆ RemoveCollidingLadder()

virtual void MoreMountains.CorgiEngine.CharacterLadder.RemoveCollidingLadder ( Collider2D  newCollider)
virtual

Removes a ladder from the list of colliding ladders

◆ ResetAbility()

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

On reset ability, we cancel all the changes made

Reimplemented from MoreMountains.CorgiEngine.CharacterAbility.

◆ SetClimbingState()

virtual void MoreMountains.CorgiEngine.CharacterLadder.SetClimbingState ( )
protectedvirtual

Sets the various flags and states

◆ StartClimbing()

virtual void MoreMountains.CorgiEngine.CharacterLadder.StartClimbing ( )
protectedvirtual

Puts the character on the ladder

◆ StartClimbingDown()

virtual void MoreMountains.CorgiEngine.CharacterLadder.StartClimbingDown ( )
protectedvirtual

Puts the character on the ladder if it's standing on top of it

◆ UpdateAnimator()

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

At the end of each cycle, we update our animator with our various states

Reimplemented from MoreMountains.CorgiEngine.CharacterAbility.

Member Data Documentation

◆ _boxCollider

BoxCollider2D MoreMountains.CorgiEngine.CharacterLadder._boxCollider
protected

◆ _characterHandleWeapon

CharacterHandleWeapon MoreMountains.CorgiEngine.CharacterLadder._characterHandleWeapon
protected

◆ _colliders

List<Collider2D> MoreMountains.CorgiEngine.CharacterLadder._colliders
protected

◆ _ladderClimbingSpeedXAnimationParameter

int MoreMountains.CorgiEngine.CharacterLadder._ladderClimbingSpeedXAnimationParameter
protected

◆ _ladderClimbingSpeedXAnimationParameterName

const string MoreMountains.CorgiEngine.CharacterLadder._ladderClimbingSpeedXAnimationParameterName = "LadderClimbingSpeedX"
staticprotected

◆ _ladderClimbingSpeedYAnimationParameter

int MoreMountains.CorgiEngine.CharacterLadder._ladderClimbingSpeedYAnimationParameter
protected

◆ _ladderClimbingSpeedYpAnimationParameterName

const string MoreMountains.CorgiEngine.CharacterLadder._ladderClimbingSpeedYpAnimationParameterName = "LadderClimbingSpeedY"
staticprotected

◆ _ladderClimbingUpAnimationParameter

int MoreMountains.CorgiEngine.CharacterLadder._ladderClimbingUpAnimationParameter
protected

◆ _ladderClimbingUpAnimationParameterName

const string MoreMountains.CorgiEngine.CharacterLadder._ladderClimbingUpAnimationParameterName = "LadderClimbing"
staticprotected

◆ _lastJumpFromLadderAt

float MoreMountains.CorgiEngine.CharacterLadder._lastJumpFromLadderAt = -float.MaxValue
protected

◆ ForceAnchorToGroundOnExit

bool MoreMountains.CorgiEngine.CharacterLadder.ForceAnchorToGroundOnExit = false

forces the character to teleport to the ladder platform when reaching the ladder's top

◆ ForceRightFacing

bool MoreMountains.CorgiEngine.CharacterLadder.ForceRightFacing = false

force face right when on a ladder (useful for 3D characters)

◆ LadderClimbingSpeed

float MoreMountains.CorgiEngine.CharacterLadder.LadderClimbingSpeed = 2f

the speed of the character when climbing a ladder

◆ MinimumTimeAfterLadderJump

float MoreMountains.CorgiEngine.CharacterLadder.MinimumTimeAfterLadderJump = 0.5f

the time (in seconds) between jumping from a ladder and being able to climb another one (or the same one)

◆ NoInputClimb

bool MoreMountains.CorgiEngine.CharacterLadder.NoInputClimb = false

if this is true, the Player won't have to press up to climb a ladder, simply colliding with one will cause the climb

◆ NoInputClimbAirOnly

bool MoreMountains.CorgiEngine.CharacterLadder.NoInputClimbAirOnly = false

if this is true, the character will have to be in the air for NoInputClimb to activate

Property Documentation

◆ CurrentLadder

Ladder MoreMountains.CorgiEngine.CharacterLadder.CurrentLadder
getset

the ladder the character is currently on

◆ CurrentLadderClimbingSpeed

Vector2 MoreMountains.CorgiEngine.CharacterLadder.CurrentLadderClimbingSpeed
getset

the current ladder climbing speed of the character

◆ HighestLadder

Ladder MoreMountains.CorgiEngine.CharacterLadder.HighestLadder
getset

the highest ladder the character is currently colliding with

◆ LadderColliding

bool MoreMountains.CorgiEngine.CharacterLadder.LadderColliding
get

true if the character is colliding with a ladder

◆ LowestLadder

Ladder MoreMountains.CorgiEngine.CharacterLadder.LowestLadder
getset

the lowest ladder the character is currently colliding with


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