mirror of
https://github.com/TombEngine/TombEngine.git
synced 2025-05-06 19:01:06 +03:00

Remove a lot of members which were unused and which represented level properties already accounted for in GameScriptLevel. Make TITLE_TYPE an enum class and relabel its values. Add TitleScreenImagePath and SetTitleScreenImagePath, which replaces GameScriptLevel's Background member. Register GameScriptColor in GameFlowScript since we will be using it for the fog and sky layer properties of levels.
58 lines
No EOL
1.7 KiB
C++
58 lines
No EOL
1.7 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{};
|
|
|
|
// 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);
|
|
}; |