25 #ifndef ENGINES_DRAGONAGE_CAMPAIGNS_H 26 #define ENGINES_DRAGONAGE_CAMPAIGNS_H 143 void unload(
bool completeUnload);
169 #endif // ENGINES_DRAGONAGE_CAMPAIGNS_H
void changeCampaign(const Campaign &campaign)
Schedule a change to a new campaign.
bool _exit
Should we exit the campaign?
A class holding an UTF-8 string.
void addCampaign(Campaign *campaign)
bool isLoaded() const
Is a campaign currently loaded and ready to run?
Common::PtrVector< Campaign > PlayableCampaigns
const PlayableCampaigns & getCampaigns() const
Return all playable campaigns.
void leave()
Leave the running campaign, quitting it.
Campaigns(::Engines::Console &console, Game &game)
Common::PtrVector< Campaign > AddinContent
std::list< Events::Event > EventQueue
const Campaign * findAddin(const Common::UString &uid) const
Find a specific add-in by UID and return it, or 0 if not found.
A simple scoped smart pointer template.
void unload()
Completely unload the currently loaded campaign.
Campaign * readCampaign(const Common::UString &cifPath="", const Common::UString &manifestPath="", const Common::UString &addinBase="")
bool _running
Are we currently running a campaign?
const AddinContent & getAddins() const
Return all add-in content for other campaigns.
void exit()
Exit the currently running campaign.
void addEvent(const Events::Event &event)
Add a single event for consideration into the event queue.
void load(const Campaign &campaign)
Load a campaign.
Common::UString _newCampaign
The UID of the campaign we should change to.
Campaign * getCampaign(const Common::UString &uid)
Creature * getPC() const
Return the currently playing PC.
Common::ScopedPtr< Creature > _pc
The player character we use.
void usePC(Creature *pc)
Use this character as the player character.
void refreshLocalized()
Refresh all localized strings.
A vector storing pointer to objects, with automatic deletion.
A scoped plain pointer, allowing pointer-y access and normal deletion.
void enter()
Enter the loaded campaign, starting it.
void replaceCampaign()
Actually replace the currently running campaign.
Campaign * getAddin(const Common::UString &uid)
Campaign * getCurrentCampaign() const
Return the currently running campaign.
PlayableCampaigns _campaigns
All campaigns we know about.
bool _hasCampaign
Do we have a campaign?
void loadCampaign(const Campaign &campaign)
Load a new campaign.
AddinContent _addins
All add-in content we know about.
Campaign * _currentCampaign
The currently loaded campaign.
void processEventQueue()
Process the current event queue.
const Campaign * findCampaign(const Common::UString &uid) const
Find a specific campaign by UID and return it, or 0 if not found.
::Engines::Console * _console
bool isRunning() const
Is a campaign currently running?