spawning objects
This commit is contained in:
@@ -6,7 +6,7 @@
|
||||
#include "ChunksController.h"
|
||||
|
||||
#include "scripting/scripting.h"
|
||||
#include "../objects/Object.h"
|
||||
#include "../interfaces/Object.h"
|
||||
|
||||
LevelController::LevelController(EngineSettings& settings, Level* level)
|
||||
: settings(settings), level(level) {
|
||||
@@ -26,11 +26,11 @@ void LevelController::update(float delta, bool input, bool pause) {
|
||||
chunks->update(settings.chunks.loadSpeed);
|
||||
|
||||
// erease null pointers
|
||||
level->objects.remove_if([](Object* obj) { return obj == nullptr; });
|
||||
|
||||
level->objects.remove_if([](auto obj) { return obj == nullptr; });
|
||||
|
||||
if (!pause) {
|
||||
// update all objects that needed
|
||||
for(Object *obj : level->objects)
|
||||
for(auto obj : level->objects)
|
||||
{
|
||||
if(obj) {
|
||||
if(obj->shouldUpdate) {
|
||||
|
||||
@@ -31,7 +31,7 @@ const float C_ZOOM = 0.1f;
|
||||
const float CROUCH_SHIFT_Y = -0.2f;
|
||||
|
||||
|
||||
CameraControl::CameraControl(Player* player, const CameraSettings& settings)
|
||||
CameraControl::CameraControl(std::shared_ptr<Player> player, const CameraSettings& settings)
|
||||
: player(player),
|
||||
camera(player->camera),
|
||||
currentViewCamera(player->currentCamera),
|
||||
@@ -208,7 +208,7 @@ void PlayerController::updateControls(float delta){
|
||||
void PlayerController::updateInteraction(){
|
||||
auto indices = level->content->getIndices();
|
||||
Chunks* chunks = level->chunks;
|
||||
Player* player = level->player;
|
||||
Player* player = level->player.get();
|
||||
Lighting* lighting = level->lighting;
|
||||
Camera* camera = player->camera.get();
|
||||
glm::vec3 end;
|
||||
|
||||
@@ -12,7 +12,7 @@ class Level;
|
||||
class BlocksController;
|
||||
|
||||
class CameraControl {
|
||||
Player* player;
|
||||
std::shared_ptr<Player> player;
|
||||
std::shared_ptr<Camera> camera, currentViewCamera;
|
||||
const CameraSettings& settings;
|
||||
glm::vec3 offset;
|
||||
@@ -20,7 +20,7 @@ class CameraControl {
|
||||
float shakeTimer = 0.0f;
|
||||
glm::vec3 interpVel {0.0f};
|
||||
public:
|
||||
CameraControl(Player* player, const CameraSettings& settings);
|
||||
CameraControl(std::shared_ptr<Player> player, const CameraSettings& settings);
|
||||
void updateMouse(PlayerInput& input);
|
||||
void update(PlayerInput& input, float delta, Chunks* chunks);
|
||||
void refresh();
|
||||
@@ -28,7 +28,7 @@ public:
|
||||
|
||||
class PlayerController {
|
||||
Level* level;
|
||||
Player* player;
|
||||
std::shared_ptr<Player> player;
|
||||
PlayerInput input;
|
||||
CameraControl camControl;
|
||||
BlocksController* blocksController;
|
||||
|
||||
@@ -191,7 +191,7 @@ int l_player_get_inv(lua_State* L) {
|
||||
int playerid = lua_tointeger(L, 1);
|
||||
if (playerid != 1)
|
||||
return 0;
|
||||
Player* player = scripting::level->player;
|
||||
auto player = scripting::level->player;
|
||||
lua_pushinteger(L, player->getInventory()->getId());
|
||||
lua_pushinteger(L, player->getChosenSlot());
|
||||
return 2;
|
||||
|
||||
Reference in New Issue
Block a user