HPC_Voxel_Engine 0.2.0
High-Performance C++ Voxel Engine
Loading...
Searching...
No Matches
Player.h
Go to the documentation of this file.
1#pragma once
2
3#include "../core/camera.h"
4#include "../physics/PhysicsSystem.h"
5
6// Forward Declaration
7class ChunkManager;
8
10
16class Player {
17public:
18 Player(const Core::Vec3& objStartPos);
19
20 void Update(float fDeltaTime, const ChunkManager& objChunkManager, bool bFlyMode = false);
21
22 void ProcessKeyboard(MovementDirection iDir, float fDeltaTime);
23 void ProcessMouseMovement(float fXOffset, float fYOffset, bool bConstraintPitch = true);
24
25 // Getters & Setters
28 void SetMovementSpeed(float fMoveSpeed) { m_fMoveSpeed = fMoveSpeed; }
29
30private:
33
34 float m_fMoveSpeed = 5.0f;
35 float m_fJumpSpeed = 8.0f;
36 bool m_bIsGrounded = false;
37
38 // Tracks if we are flying for physics calculations
39 bool m_bFlyMode = false;
40};
MovementDirection
Definition Player.h:9
@ DOWNSIDE
Definition Player.h:9
@ LEFTSIDE
Definition Player.h:9
@ RIGHTSIDE
Definition Player.h:9
@ UPSIDE
Definition Player.h:9
@ FORWARD
Definition Player.h:9
@ BACKWARD
Definition Player.h:9
Orchestrates infinite world generation, active chunk tracking, and multi-threaded data loading.
Definition ChunkManager.h:33
Processes input and calculates the View Matrix for OpenGL rendering.
Definition camera.h:21
Represents the user-controlled entity. Handles Camera synchronization and Input-to-Physics logic.
Definition Player.h:16
Core::Camera & GetCamera()
Definition Player.h:26
float m_fJumpSpeed
Definition Player.h:35
RigidBody m_objRigidBody
Definition Player.h:32
Core::Vec3 GetPosition() const
Definition Player.h:27
bool m_bFlyMode
Definition Player.h:39
void Update(float fDeltaTime, const ChunkManager &objChunkManager, bool bFlyMode=false)
Definition Player.cpp:12
Core::Camera m_objCamera
Definition Player.h:31
bool m_bIsGrounded
Definition Player.h:36
void ProcessMouseMovement(float fXOffset, float fYOffset, bool bConstraintPitch=true)
Definition Player.cpp:82
void SetMovementSpeed(float fMoveSpeed)
Definition Player.h:28
void ProcessKeyboard(MovementDirection iDir, float fDeltaTime)
Definition Player.cpp:38
float m_fMoveSpeed
Definition Player.h:34
A 3-component vector structure (x, y, z) with standard math operations.
Definition MathUtils.h:11
Represents a physical object subject to gravity and collision in the voxel world.
Definition PhysicsSystem.h:20
Core::Vec3 m_ObjPos
Definition PhysicsSystem.h:21