mirror of
https://github.com/MihailRis/voxelcore.git
synced 2026-10-07 20:11:50 +00:00
refactor PlayerController
This commit is contained in:
parent
8eda26f171
commit
8a4f1e16f3
3 changed files with 91 additions and 88 deletions
|
|
@ -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
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue