refactor PlayerController

This commit is contained in:
MihailRis
2024-12-19 00:38:41 +03:00
parent 8eda26f171
commit 8a4f1e16f3
3 changed files with 91 additions and 88 deletions
+9 -11
View File
@@ -18,7 +18,7 @@ struct CameraSettings;
struct EngineSettings;
class CameraControl {
Player* player;
Player& player;
std::shared_ptr<Camera> camera;
const CameraSettings& settings;
glm::vec3 offset;
@@ -39,21 +39,19 @@ class CameraControl {
/// @brief Switch active player camera
void switchCamera();
public:
CameraControl(
Player* player, const CameraSettings& settings
);
CameraControl(Player& player, const CameraSettings& settings);
void updateMouse(PlayerInput& input);
void update(PlayerInput input, float delta, Chunks* chunks);
void update(PlayerInput input, float delta, Chunks& chunks);
void refresh();
};
class PlayerController {
const EngineSettings& settings;
Level* level;
Player* player;
Level& level;
Player& player;
PlayerInput input {};
CameraControl camControl;
BlocksController* blocksController;
BlocksController& blocksController;
float interactionTimer = 0.0f;
void updateKeyboard();
@@ -71,9 +69,9 @@ class PlayerController {
public:
PlayerController(
const EngineSettings& settings,
Level* level,
Player* player,
BlocksController* blocksController
Level& level,
Player& player,
BlocksController& blocksController
);
/// @brief Called after blocks update if not paused