#pragma once #include #include "HeightMap.h" #include "Player.h" #include "Enemy.h" #include "LevelObject.h" #include "Interface.h" #include "Crystal.h" class Entity; class World { private: std::vector>> objecttemplates; Player* player; HeightMap* heightmap; Interface* interface; int music_id; std::vector entities; std::vector enemies; std::vector crystals; public: World(const std::string &fileName); ~World(); void draw(); void update(float elapsedTime); bool isPlayerPositionValid(); float getHeight(float x, float y); void addLevelObject(LevelObject* obj); std::pair getObjectFromValue(int i); };