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