25 #ifndef ENGINES_WITCHER_CAMPAIGN_H 26 #define ENGINES_WITCHER_CAMPAIGN_H 38 class SeekableReadStream;
148 void unload(
bool completeUnload =
true);
177 #endif // ENGINES_WITCHER_CAMPAIGN_H void load(const Common::UString &campaign)
Load a campaign.
void changeCampaign(const Common::UString &campaign, bool standalone)
Schedule a change to a new campaign.
Aurora::LocString _name
The name of the currently loaded campaign.
Common::UString _startModule
The module the current campaign starts in.
::Engines::Console * _console
A class holding an UTF-8 string.
const Aurora::LocString & getName() const
Return the name of the current campaign.
bool _exit
Should we exit the campaign?
bool isLoaded() const
Is a campaign currently loaded and ready to run?
void exit()
Exit the currently running campaign.
void addEvent(const Events::Event &event)
Add a single event for consideration into the event queue.
void processEventQueue()
Process the current event queue.
void clear()
Clear the whole context.
A simple scoped smart pointer template.
void loadCampaign(const Common::UString &campaign, bool standalone)
Load a new campaign.
const Aurora::LocString & getDescription() const
Return the description of the current campaign.
void loadCampaignFile(const Common::UString &campaign)
Load the actual campaign resources.
Module & getModule()
Return the currently running module.
bool _running
Are we currently running a campaign?
void refreshLocalized()
Refresh all localized strings.
Common::ScopedPtr< Module > _module
The current module of the current campaign.
void enter()
Enter the loaded campaign, starting it.
void setupStandaloneModule(const Common::UString &module)
Set up the loading of a singular, stand-alone module.
static Common::SeekableReadStream * openMMD(const Common::UString &campaign)
Open the MMD campaign file for this campaign.
Common::ScopedPtr< Creature > _pc
The player character we use.
bool _newCampaignStandalone
Is the campaign to change to a stand-alone module?
A scoped plain pointer, allowing pointer-y access and normal deletion.
Aurora::LocString _description
The description of the currently loaded campaign.
Handling BioWare's localized strings.
void unload(bool completeUnload=true)
Unload the whole shebang.
static Common::UString getDirectory(const Common::UString &campaign)
Return the actual real directory for this campaign.
void replaceCampaign()
Actually replace the currently running campaign.
Campaign(::Engines::Console &console)
void usePC(const Common::UString &utc)
Use this character as the player character.
bool _hasCampaign
Do we have a campaign?
std::list< Events::Event > EventQueue
Common::UString _newCampaign
The campaign we should change to.
std::list< Common::UString > _modules
All modules used by the current campaign.
bool isRunning() const
Is a campaign currently running?
void leave()
Leave the running campaign, quitting it.
Interface for a seekable & readable data stream.
void loadModule(const Common::UString &module)
Load a stand-alone module as a campaign.