25 #ifndef ENGINES_NWN2_MODULE_H 26 #define ENGINES_NWN2_MODULE_H 93 void movePC(
float x,
float y,
float z);
97 void movePC(
Area *area,
float x,
float y,
float z);
221 #endif // ENGINES_NWN2_MODULE_H
Creature * _pc
The player character we use.
void unloadHAKs()
Unload the HAKs required by the module.
Module(::Engines::Console &console)
std::list< Events::Event > EventQueue
bool isLoaded() const
Is a module currently loaded and ready to run?
A map storing pointer to objects, with automatic deletion.
A class holding an UTF-8 string.
void leave()
Leave the running module, quitting it.
An area in Neverwinter Nights 2, holding all objects, room tiles and terrain within, as well as general area properties like the current background music and ambient sounds.
bool _ranPCSpawn
Did we run the PC spawn script?
void delayScript(const Common::UString &script, const Aurora::NWScript::ScriptState &state, Aurora::NWScript::Object *owner, Aurora::NWScript::Object *triggerer, uint32 delay)
void addEvent(const Events::Event &event)
Add a single event for consideration into the event queue.
void loadAreas()
Load the areas.
void processEventQueue()
Process the current event queue.
void unloadModule()
Unload the module.
std::vector< Common::ChangeID > _resHAKs
Resources added by the HAKs of the module.
An object within a NWN2 area.
Aurora::NWScript::ObjectReference triggerer
void load(const Common::UString &module)
Load a module.
void loadModule(const Common::UString &module)
Load the actual module.
Area * _currentArea
The current area.
bool operator<(const Action &s) const
const Common::UString & getName() const
Return the module's name.
std::multiset< Action > ActionQueue
Aurora::NWScript::ScriptState state
A container of Neverwinter Nights 2 objects.
Loader for the module.ifo file.
Helper class to represent an undoable change.
An IFO (module information) file, describing global module properties in many Aurora games...
void loadHAKs()
Load the HAKs required by the module.
void unload()
Unload the whole shebang.
bool _exit
Should we exit the module?
void exit()
Exit the currently running module.
Common::UString _newArea
The new area to enter.
void unloadTLK()
Unload the TLK used by the module.
Common::UString _newModule
The module we should change to.
void movePC(const Common::UString &area)
Move the player character to this area.
virtual void enter()
The cursor entered the object.
void replaceModule()
Actually replace the currently running module.
void clear()
Clear the whole context.
Common::PtrMap< Common::UString, Area > AreaMap
Common::ChangeID _resTLK
Resources added for the custom TLK.
Reference to an NWScript object.
void loadTLK()
Load the TLK used by the module.
Aurora::IFOFile _ifo
The module's IFO.
void unloadPC()
Unload the PC.
A class representing an undoable change.
AreaMap _areas
The areas in the current module.
Area * getCurrentArea()
Return the area the PC is currently in.
void unloadAreas()
Unload the areas.
An object in a Neverwinter Nights 2 area.
bool _running
Are we currently running a module?
bool isRunning() const
Is a module currently running?
::Engines::Console * _console
ActionQueue _delayedActions
bool _hasModule
Do we have a module?
Creature * getPC()
Return the currently playing PC.
void checkHAKs()
Do we have all HAKs needed for the module?
const Aurora::IFOFile & getIFO() const
Return the IFO of the currently loaded module.
Common::ChangeID _resModule
Resources added by the module.
Aurora::NWScript::ObjectReference owner
void checkXPs()
Do we have all expansions needed for the module?
void changeModule(const Common::UString &module)
Schedule a change to a new module.
const Common::UString & getDescription() const
Return the module's description.
void movedPC()
Notify the module that the PC was moved.
void enterArea()
Enter a new area.