Clutter Engine 0.0.1
Loading...
Searching...
No Matches
clt::PlayerController Class Reference

PlayerController component for handling player movement and collision events. More...

#include <PlayerController.h>

Inheritance diagram for clt::PlayerController:
clt::Component clt::ICollisionListener BowlingController DoomController clt::CameraController clt::EditorController clt::FPSController clt::PlayerController2D

Public Member Functions

 PlayerController (float pSpeed=2)
 Constructs a PlayerController with an optional movement speed.
 
 ~PlayerController ()=default
 Default destructor.
 
virtual void OnCollisionEnter (ColliderComponent *collider, const hitResult &result) override
 Called when a collision begins.
 
virtual void OnCollisionStay (ColliderComponent *collider, const hitResult &result) override
 Called while a collision persists.
 
virtual void OnCollisionExit (ColliderComponent *collider, const hitResult &result) override
 Called when a collision ends.
 
virtual void OnTriggerEnter (ColliderComponent *collider, const hitResult &result) override
 Called when a trigger is entered.
 
virtual void OnTriggerStay (ColliderComponent *collider, const hitResult &result) override
 Called while inside a trigger.
 
virtual void OnTriggerExit (ColliderComponent *collider, const hitResult &result) override
 Called when exiting a trigger.
 
- Public Member Functions inherited from clt::Component
 Component (int pUpdateOrder=0)
 Constructor for Component.
 
virtual ~Component ()=default
 Virtual destructor for Component.
 
virtual void Start ()
 Called when the component is started.
 
virtual void Update ()
 Called every frame to update the component.
 
virtual void Destroy ()
 Called to destroy the component.
 
void SetActive (bool pActive)
 Enables or disables the component.
 
void OnDestroy ()
 Called when the component is destroyed.
 
bool IsActive () const
 Checks if the component is enabled.
 
int GetUpdateOrder () const
 Gets the update order of the component.
 
void SetRelativeLocation (const Vector3 &loc)
 Sets the relative location of the component.
 
void SetRelativeLocation (const Vector2 &loc)
 Sets the relative location of the component.
 
void SetWorldLocation (const Vector3 &loc)
 Sets the world location of the component.
 
void SetRelativeScale (const Vector3 &scale)
 Sets the relative scale of the component.
 
void SetRelativeScale (const Vector2 &scale)
 Sets the relative scale of the component.
 
void SetRelativeRotation (Quaternion rot)
 Sets the relative rotation of the component.
 
void SetRelativeRotation (Vector3 rot)
 Sets the relative rotation of the component.
 
void SetWorldRotation (const Quaternion &rot)
 Sets the world rotation of the component.
 
void SetWorldRotation (const Vector3 &rot)
 Sets the world rotation of the component.
 
void AddRelativeRotation (Vector3 rot)
 Adds a rotation to the current relative rotation.
 
void SetRelativeRotation (float rot)
 Sets the relative rotation of the component.
 
void SetRelativeTransform (Transform &transform)
 Sets the relative transform of the component.
 
Vector3 GetRelativeLocation () const
 Gets the relative location of the component.
 
Vector3 GetRelativeScale () const
 Gets the relative scale of the component.
 
Quaternion GetRelativeRotation () const
 Gets the relative rotation of the component.
 
Vector3 GetRelativeRotationEuler () const
 Gets the relative rotation of the component as Euler angles.
 
Transform GetRelativeTransform () const
 Gets the relative transform of the component.
 
Vector3 GetWorldLocation () const
 Gets the world location of the component.
 
Vector3 GetWorldScale () const
 Gets the world scale of the component.
 
Quaternion GetWorldRotation () const
 Gets the world rotation of the component.
 
virtual Transform GetWorldTransform () const
 Gets the world transform of the component.
 
ActorGetOwner () const
 Gets the owner actor of this component.
 
- Public Member Functions inherited from clt::ICollisionListener
virtual ~ICollisionListener ()=default
 Virtual destructor for safe polymorphic destruction.
 

Public Attributes

MovementMode mMovement
 Current movement mode of the player.
 
bool mIsJumping
 True if the player is currently jumping.
 
bool mIsMoving
 True if the player is currently moving.
 
bool mIsSprinting
 True if the player is currently sprinting.
 
bool mIsCrouched
 True if the player is currently crouched.
 
float mJumpHeight
 The height the player can jump.
 
int mJumpAmount
 The number of jumps the player can perform.
 
float mMaxWalkSpeed
 The maximum walking speed.
 
float mMaxSprintSpeed
 The maximum sprinting speed.
 
float mMaxAcceleration
 The maximum acceleration of the player.
 
float mAirControl
 The amount of control the player has while in the air.
 
Vector2 mMouseSpeed
 The speed of the mouse input.
 
- Public Attributes inherited from clt::Component
friend Actor
 

Additional Inherited Members

- Protected Member Functions inherited from clt::Component
virtual void SetOwner (Actor *pOwner)
 Sets the owner of this component and calls Start().
 
bool LineTrace (Vector3 start, Vector3 direction, float maxDistance, raycastHit &hit, bool debugPersistant=false)
 Performs a line trace (raycast) using the owning actor.
 
- Protected Attributes inherited from clt::Component
bool mIsActive = true
 Indicates if the component is active.
 
int mUpdateOrder = 0
 The order in which the component is updated.
 
ActormOwner
 The actor that owns this component.
 
Transform mRelativeTransform
 The relative transform of the component to its owner.
 

Detailed Description

PlayerController component for handling player movement and collision events.

Inherits from Component and ICollisionListener to provide movement logic and collision callbacks.

Constructor & Destructor Documentation

◆ PlayerController()

PlayerController::PlayerController ( float pSpeed = 2)

Constructs a PlayerController with an optional movement speed.

Parameters
pSpeedThe base movement speed (default is 2).

Member Function Documentation

◆ OnCollisionEnter()

virtual void clt::PlayerController::OnCollisionEnter ( ColliderComponent * collider,
const hitResult & result )
inlineoverridevirtual

Called when a collision begins.

Parameters
colliderThe collider component involved.
resultThe hit result information.

Reimplemented from clt::ICollisionListener.

Reimplemented in clt::CameraController, clt::EditorController, clt::FPSController, and clt::PlayerController2D.

◆ OnCollisionExit()

virtual void clt::PlayerController::OnCollisionExit ( ColliderComponent * collider,
const hitResult & result )
inlineoverridevirtual

Called when a collision ends.

Parameters
colliderThe collider component involved.
resultThe hit result information.

Reimplemented from clt::ICollisionListener.

Reimplemented in clt::CameraController, clt::EditorController, clt::FPSController, and clt::PlayerController2D.

◆ OnCollisionStay()

virtual void clt::PlayerController::OnCollisionStay ( ColliderComponent * collider,
const hitResult & result )
inlineoverridevirtual

Called while a collision persists.

Parameters
colliderThe collider component involved.
resultThe hit result information.

Reimplemented from clt::ICollisionListener.

Reimplemented in clt::CameraController, clt::EditorController, clt::FPSController, and clt::PlayerController2D.

◆ OnTriggerEnter()

virtual void clt::PlayerController::OnTriggerEnter ( ColliderComponent * collider,
const hitResult & result )
inlineoverridevirtual

Called when a trigger is entered.

Parameters
colliderThe collider component involved.
resultThe hit result information.

Reimplemented from clt::ICollisionListener.

Reimplemented in clt::CameraController, clt::EditorController, and clt::FPSController.

◆ OnTriggerExit()

virtual void clt::PlayerController::OnTriggerExit ( ColliderComponent * collider,
const hitResult & result )
inlineoverridevirtual

Called when exiting a trigger.

Parameters
colliderThe collider component involved.
resultThe hit result information.

Reimplemented from clt::ICollisionListener.

Reimplemented in clt::CameraController, clt::EditorController, and clt::FPSController.

◆ OnTriggerStay()

virtual void clt::PlayerController::OnTriggerStay ( ColliderComponent * collider,
const hitResult & result )
inlineoverridevirtual

Called while inside a trigger.

Parameters
colliderThe collider component involved.
resultThe hit result information.

Reimplemented from clt::ICollisionListener.

Reimplemented in clt::CameraController, clt::EditorController, and clt::FPSController.


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