Jazz2::IRootController class

Base interface of a root controller.

Public types

enum class Flags { None = 0x00, IsInitialized = 0x01, IsVerified = 0x02, IsPlayable = 0x04 }
State flags of root controller, supports a bitwise combination of its member values.

Constructors, destructors, conversion operators

IRootController()
~IRootController() virtual
IRootController(const IRootController&) deleted

Public functions

auto operator=(const IRootController&) -> IRootController& deleted
void InvokeAsync(Function<void()>&& callback, const char* sourceFunc = nullptr) pure virtual
Invokes the specified callback asynchronously, usually at the end of current frame.
void GoToMainMenu(bool afterIntro) pure virtual
Sets current state handler to main menu.
void ChangeLevel(LevelInitialization&& levelInit) pure virtual
Sets current state handler to level described by LevelInitialization.
auto HasResumableState() const -> bool pure virtual
Returns true if any resumable state exists.
void ResumeSavedState() pure virtual
Resumes saved resumable state.
auto SaveCurrentStateIfAny() -> bool pure virtual
Saves current state if it's resumable.
auto GetFlags() const -> Flags pure virtual
Returns current state flags.
auto GetNewestVersion() const -> StringView pure virtual
Returns version of the latest update.
void RefreshCacheLevels() pure virtual
Recreates level cache from Source directory.