TombEngine/TR5Main/Scripting/GameFlowScript.h
hispidence 813b8bb42a Add documentation comments in GameFlowScript.cpp.
Move windowTitle from GameScriptSettings to GameFlowScript and rename it to SetWindowTitleKey.
2021-08-15 23:04:56 +01:00

60 lines
No EOL
1.8 KiB
C++

#pragma once
#include "LanguageScript.h"
#include "LuaHandler.h"
#include "GameScriptColor.h"
#include "GameScriptLevel.h"
#include "GameScriptSettings.h"
#include "GameScriptAudioTrack.h"
enum class TITLE_TYPE
{
FLYBY,
BACKGROUND
};
class GameFlow : public LuaHandler
{
private:
GameScriptSettings m_settings;
std::unordered_map < std::string, std::vector<std::string > > m_translationsMap;
std::vector<std::string> m_languageNames;
std::map<short, short> m_itemsMap;
public:
int FogInDistance{ 0 };
int FogOutDistance{ 0 };
int SelectedLevelForNewGame{ 0 };
int SelectedSaveGame{ 0 };
bool EnableLoadSave{ true };
bool PlayAnyLevel{ true };
bool FlyCheat{ true };
bool DebugMode{ false };
int LevelFarView{ 0 };
TITLE_TYPE TitleType{ TITLE_TYPE::FLYBY };
std::string IntroImagePath{};
std::string TitleScreenImagePath{};
std::string WindowTitleKey{};
// Selected language set
std::vector<GameScriptLevel*> Levels;
GameFlow(sol::state* lua);
~GameFlow();
void AddLevel(GameScriptLevel const& level);
void SetAudioTracks(sol::as_table_t<std::vector<GameScriptAudioTrack>>&& src);
void LoadGameFlowScript();
char const * GetString(const char* id);
void SetStrings(sol::nested<std::unordered_map<std::string, std::vector<std::string>>> && src);
void SetLanguageNames(sol::as_table_t<std::vector<std::string>> && src);
void SetSettings(GameScriptSettings const & src);
GameScriptSettings* GetSettings();
GameScriptLevel* GetLevel(int id);
int GetNumLevels();
bool DoGameflow();
void SetIntroImagePath(std::string const& path);
void SetTitleScreenImagePath(std::string const& path);
void SetWindowTitleKey(std::string const& key);
};