Class Controller2D
A physics controller used to add custom physics logic to any object.
This physics controller adds the ability to invoke events when colliding on per direction basis by
using the CollisionController
Inheritance
System.Object
Controller2D
Assembly: cs.temp.dll.dll
Syntax
public class Controller2D : MonoBehaviour, IForceReciever
Fields
_boxCollider
Declaration
protected BoxCollider2D _boxCollider
Field Value
| Type |
Description |
| BoxCollider2D |
|
_calculatedVelocity
The overall velocity to be added this frame.
Declaration
protected Vector2 _calculatedVelocity
Field Value
_externalVelocity
Velocity adding through external physics forces such as gravity and interactable objects.
Declaration
protected Vector2 _externalVelocity
Field Value
_rigidbody2D
Declaration
protected Rigidbody2D _rigidbody2D
Field Value
| Type |
Description |
| Rigidbody2D |
|
Bounds
Declaration
[NonSerialized]
public Bounds Bounds
Field Value
CharacterState
Declaration
public CharacterState CharacterState
Field Value
CollisionController
Declaration
public CollisionController CollisionController
Field Value
| Type |
Description |
| CollisionController |
|
CollisionInfo
Declaration
public CollisionInfo CollisionInfo
Field Value
| Type |
Description |
| CollisionInfo |
|
CurrentPhysics
Declaration
public MovementProperties CurrentPhysics
Field Value
| Type |
Description |
| MovementProperties |
|
DefaultPhysics
Declaration
public MovementProperties DefaultPhysics
Field Value
| Type |
Description |
| MovementProperties |
|
OnDirectionChanged
Declaration
public EventHandler<Vector2> OnDirectionChanged
Field Value
| Type |
Description |
| System.EventHandler<Vector2> |
|
Declaration
public ContactFilter2D PlatformFilter
Field Value
| Type |
Description |
| ContactFilter2D |
|
Properties
Direction
Declaration
public Vector2 Direction { get; set; }
Property Value
Methods
AddHorizontalVelocity(Single)
Declaration
public virtual void AddHorizontalVelocity(float horizontalVelocity)
Parameters
| Type |
Name |
Description |
| System.Single |
horizontalVelocity |
|
AddVelocity(Vector2)
Declaration
public virtual void AddVelocity(Vector2 velocity)
Parameters
| Type |
Name |
Description |
| Vector2 |
velocity |
|
AddVerticalVelocity(Single)
Declaration
public virtual void AddVerticalVelocity(float verticalVelocity)
Parameters
| Type |
Name |
Description |
| System.Single |
verticalVelocity |
|
CalculateHorizontal()
Declaration
protected virtual void CalculateHorizontal()
CalculateMovementState()
Declaration
protected virtual void CalculateMovementState()
CalculateVertical()
Declaration
protected virtual void CalculateVertical()
CeilingChecks()
Declaration
protected virtual void CeilingChecks()
ChangeDirection()
Declaration
public void ChangeDirection()
CheckOnCollisionActions()
Checks to see what sides might have a new collision that was started the current frame. If a new collision is detected on the side invoke the action related to that sides collisions.
Declaration
protected virtual void CheckOnCollisionActions()
ColisionChecks()
Declaration
protected virtual void ColisionChecks()
GroundChecks()
Declaration
protected virtual void GroundChecks()
Init()
This runs before OnAwake code to make sure things needing Initialized are
ready before it is called and needed. This can be called externally if
the Controller ever needs reset. Think spawning a character.
Declaration
Move()
Declaration
protected virtual void Move()
OnAwake()
Declaration
protected virtual void OnAwake()
OnInit()
Declaration
protected virtual void OnInit()
OnLateUpdate()
Declaration
protected virtual void OnLateUpdate()
OnPreFixedUpdate()
Declaration
protected virtual void OnPreFixedUpdate()
OnStart()
Declaration
protected virtual void OnStart()
Declaration
public bool RaycastMultiple(Vector2 origin, Vector2 end, Vector2 direction, float distance, ContactFilter2D contactFilter2D, int numberOfRays = 4)
Parameters
| Type |
Name |
Description |
| Vector2 |
origin |
|
| Vector2 |
end |
|
| Vector2 |
direction |
|
| System.Single |
distance |
|
| ContactFilter2D |
contactFilter2D |
|
| System.Int32 |
numberOfRays |
|
Returns
| Type |
Description |
| System.Boolean |
|
RaycastMultiple(Vector2, Vector2, Vector2, Single, LayerMask, Int32)
Declaration
public bool RaycastMultiple(Vector2 origin, Vector2 end, Vector2 direction, float distance, LayerMask layerMask, int numberOfRays = 4)
Parameters
| Type |
Name |
Description |
| Vector2 |
origin |
|
| Vector2 |
end |
|
| Vector2 |
direction |
|
| System.Single |
distance |
|
| LayerMask |
layerMask |
|
| System.Int32 |
numberOfRays |
|
Returns
| Type |
Description |
| System.Boolean |
|
Reset()
Declaration
public virtual void Reset()
SetExternalVelocity(Vector2)
Declaration
public void SetExternalVelocity(Vector2 force)
Parameters
| Type |
Name |
Description |
| Vector2 |
force |
|
SetHorizontalVelocity(Single)
Declaration
public virtual void SetHorizontalVelocity(float horizontalVelocity)
Parameters
| Type |
Name |
Description |
| System.Single |
horizontalVelocity |
|
SetVerticalVelocity(Single)
Declaration
public virtual void SetVerticalVelocity(float verticalVelocity)
Parameters
| Type |
Name |
Description |
| System.Single |
verticalVelocity |
|
SideCollisionChecks()
Declaration
protected virtual void SideCollisionChecks()
Implements