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

A raycast collider wrapping a standard 2D raycast in a way that ensures no per frame allocation. That also changes the length of the raycast based on the characters y speed. The default feet collider. More...

Inheritance diagram for PlatformerPro.NoAllocationSmartFeetcast:
PlatformerPro.NoAllocationRaycast PlatformerPro.IRaycastColliderWithIMob PlatformerPro.BasicRaycast PlatformerPro.NoAllocationSmartHeadcast

Public Member Functions

override RaycastHit2D[] GetRaycastHits ()
 Get all raycast hits. More...
 
- Public Member Functions inherited from PlatformerPro.BasicRaycast
virtual RaycastHit2D GetRaycastHit ()
 Get the first raycast hit. More...
 
virtual Vector2 GetDirection ()
 Gets the direction for the raycast. More...
 

Protected Attributes

IMob character
 The character reference. More...
 
- Protected Attributes inherited from PlatformerPro.NoAllocationRaycast
RaycastHit2D[] hits
 Cached array of hits. More...
 
- Protected Attributes inherited from PlatformerPro.BasicRaycast
Transform transform
 Stores the transform from which the ray position is relative to. Most collider will use the characters transform which is set on Init(). More...
 
float length
 The length of the ray. More...
 
RaycastType raycastType
 The type of raycast. More...
 
float lookAhead
 The additional length to add to the ray to "look ahead" for special conditions. More...
 
Vector2 extent
 The position the ray is cast from (relative to transform). More...
 
int layerMask
 The layer mask. More...
 

Static Protected Attributes

const float minFeetLength = 0.3f
 We need some minimum length to avoid issues at zero velocity (for example on ladders). More...
 

Properties

IMob Mob [get, set]
 Reference to the chracter More...
 
override float Length [get, set]
 Calculate length based on characters velocity More...
 
- Properties inherited from PlatformerPro.NoAllocationRaycast
override int LayerMask [get, set]
 Gets or sets the layer mask for the collision. More...
 
- Properties inherited from PlatformerPro.BasicRaycast
virtual bool Disabled [get, set]
 Enables or disables the collider. More...
 
virtual Transform Transform [get, set]
 Stores the transform from which the ray position is relative to. Usually the position of the character or one of the characters limbs. More...
 
virtual float Length [get, set]
 The length of the ray. More...
 
float RawLength [get]
 Gets the raw value of the length parameter. Required because smart colliders often change Length. More...
 
virtual float LookAhead [get, set]
 The additional length to add to the ray to "look ahead" for special conditions. More...
 
virtual RaycastType RaycastType [get, set]
 The type of raycast. More...
 
virtual Vector2 WorldPosition [get]
 The position the ray is cast from (relative to transform). More...
 
virtual int LayerMask [get, set]
 Gets or sets the layer mask for the collision. More...
 
virtual Vector2 Extent [get, set]
 Gets the extent of this collider relative to character position and rotation. For feet colliders the extent would be the offset to add to the character to find the bottom of the foot. More...
 
virtual Vector2 WorldExtent [get]
 Gets the extent of this collider in world space (i.e. with character transform applied). More...
 
- Properties inherited from PlatformerPro.IRaycastColliderWithIMob
IMob Mob [get, set]
 

Additional Inherited Members

- Static Public Attributes inherited from PlatformerPro.NoAllocationRaycast
const int MAX_HITS = 4
 The maximum number of raycasts to fire. More...
 
const int MAX_LAYER = 16
 The maximum layer to check. More...
 
static RaycastHit2D EmptyRaycastHit = new RaycastHit2D()
 Store an empty raycast hit. More...
 
- Protected Member Functions inherited from PlatformerPro.NoAllocationRaycast
override void Init ()
 Set up the raycasts. More...
 
virtual int CountBits (int layerMask)
 Counts the bits that are set to 1 in the LayerMask More...
 

Detailed Description

A raycast collider wrapping a standard 2D raycast in a way that ensures no per frame allocation. That also changes the length of the raycast based on the characters y speed. The default feet collider.

Member Function Documentation

◆ GetRaycastHits()

override RaycastHit2D [] PlatformerPro.NoAllocationSmartFeetcast.GetRaycastHits ( )
virtual

Get all raycast hits.

Reimplemented from PlatformerPro.NoAllocationRaycast.

Member Data Documentation

◆ character

IMob PlatformerPro.NoAllocationSmartFeetcast.character
protected

The character reference.

◆ minFeetLength

const float PlatformerPro.NoAllocationSmartFeetcast.minFeetLength = 0.3f
staticprotected

We need some minimum length to avoid issues at zero velocity (for example on ladders).

Property Documentation

◆ Length

override float PlatformerPro.NoAllocationSmartFeetcast.Length
getset

Calculate length based on characters velocity

The length.

◆ Mob

IMob PlatformerPro.NoAllocationSmartFeetcast.Mob
getset

Reference to the chracter

The character.


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