45 lines
679 B
C++
45 lines
679 B
C++
|
#pragma once
|
||
|
|
||
|
#include <string>
|
||
|
|
||
|
class Engine;
|
||
|
class World;
|
||
|
|
||
|
class GameInstance
|
||
|
{
|
||
|
public:
|
||
|
GameInstance(Engine* engine);
|
||
|
~GameInstance();
|
||
|
|
||
|
void Update();
|
||
|
|
||
|
void SaveOptions();
|
||
|
void LoadOptions();
|
||
|
|
||
|
void CreateEmptyWorld();
|
||
|
void CleanupWorld();
|
||
|
|
||
|
World* DuplicateWorld();
|
||
|
|
||
|
void LoadMap(const std::string& path, bool doNotCreateActors = false);
|
||
|
void LoadWorld(World* world);
|
||
|
|
||
|
void CreateActors();
|
||
|
|
||
|
World* GetWorld() const
|
||
|
{
|
||
|
return m_world;
|
||
|
}
|
||
|
|
||
|
struct
|
||
|
{
|
||
|
bool fullscreen;
|
||
|
bool vsync;
|
||
|
} options;
|
||
|
|
||
|
private:
|
||
|
Engine* m_engine;
|
||
|
World* m_world = nullptr;
|
||
|
|
||
|
bool m_mouselookEnabled = true;
|
||
|
};
|