Archived
1
Fork 0
This repository has been archived on 2025-04-12. You can view files and clone it, but cannot push or open issues or pull requests.
graphite/engine/core/include/gameinstance.hpp

45 lines
679 B
C++
Raw Normal View History

2024-01-03 16:05:02 -05:00
#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;
};