#ifndef OPENMW_OBJECTLIST_HPP #define OPENMW_OBJECTLIST_HPP #include #include "../mwgui/itemmodel.hpp" #include "../mwworld/worldimp.hpp" #include namespace mwmp { class Networking; class ObjectList : public BaseObjectList { public: ObjectList(); virtual ~ObjectList(); void reset(); void addBaseObject(BaseObject baseObject); mwmp::BaseObject getBaseObjectFromPtr(const MWWorld::Ptr& ptr); void addContainerItem(mwmp::BaseObject& baseObject, const MWWorld::Ptr& itemPtr, int itemCount, int actionCount); void addContainerItem(mwmp::BaseObject& baseObject, const MWGui::ItemStack& itemStack, int itemCount, int actionCount); void addContainerItem(mwmp::BaseObject& baseObject, const std::string itemId, int itemCount, int actionCount); void addEntireContainer(const MWWorld::Ptr& ptr); void editContainers(MWWorld::CellStore* cellStore); void activateObjects(MWWorld::CellStore* cellStore); void placeObjects(MWWorld::CellStore* cellStore); void spawnObjects(MWWorld::CellStore* cellStore); void deleteObjects(MWWorld::CellStore* cellStore); void lockObjects(MWWorld::CellStore* cellStore); void triggerTrapObjects(MWWorld::CellStore* cellStore); void scaleObjects(MWWorld::CellStore* cellStore); void setObjectStates(MWWorld::CellStore* cellStore); void moveObjects(MWWorld::CellStore* cellStore); void restockObjects(MWWorld::CellStore* cellStore); void rotateObjects(MWWorld::CellStore* cellStore); void animateObjects(MWWorld::CellStore* cellStore); void playObjectSounds(MWWorld::CellStore* cellStore); void setGoldPoolsForObjects(MWWorld::CellStore* cellStore); void activateDoors(MWWorld::CellStore* cellStore); void setDoorDestinations(MWWorld::CellStore* cellStore); void runConsoleCommands(MWWorld::CellStore* cellStore); void makeDialogueChoices(MWWorld::CellStore* cellStore); void setClientLocals(MWWorld::CellStore* cellStore); void setMemberShorts(); void playMusic(); void playVideo(); void addAllContainers(MWWorld::CellStore* cellStore); void addRequestedContainers(MWWorld::CellStore* cellStore, const std::vector& requestObjects); void addObjectGeneric(const MWWorld::Ptr& ptr); void addObjectActivate(const MWWorld::Ptr& ptr, const MWWorld::Ptr& activatingActor); void addObjectHit(const MWWorld::Ptr& ptr, const MWWorld::Ptr& hittingActor); void addObjectHit(const MWWorld::Ptr& ptr, const MWWorld::Ptr& hittingActor, const Attack hitAttack); void addObjectPlace(const MWWorld::Ptr& ptr, bool droppedByPlayer = false); void addObjectSpawn(const MWWorld::Ptr& ptr); void addObjectSpawn(const MWWorld::Ptr& ptr, const MWWorld::Ptr& master, std::string spellId, int effectId, float duration); void addObjectLock(const MWWorld::Ptr& ptr, int lockLevel); void addObjectDialogueChoice(const MWWorld::Ptr& ptr, std::string dialogueChoice); void addObjectMiscellaneous(const MWWorld::Ptr& ptr, unsigned int goldPool, float lastGoldRestockHour, int lastGoldRestockDay); void addObjectTrap(const MWWorld::Ptr& ptr, const ESM::Position& pos, bool isDisarmed); void addObjectScale(const MWWorld::Ptr& ptr, float scale); void addObjectSound(const MWWorld::Ptr& ptr, std::string soundId, float volume, float pitch); void addObjectState(const MWWorld::Ptr& ptr, bool objectState); void addObjectAnimPlay(const MWWorld::Ptr& ptr, std::string group, int mode); void addDoorState(const MWWorld::Ptr& ptr, MWWorld::DoorState state); void addMusicPlay(std::string filename); void addVideoPlay(std::string filename, bool allowSkipping); void addClientScriptLocal(const MWWorld::Ptr& ptr, int internalIndex, int value, mwmp::VARIABLE_TYPE variableType); void addClientScriptLocal(const MWWorld::Ptr& ptr, int internalIndex, float value); void addScriptMemberShort(std::string refId, int index, int shortVal); void sendObjectActivate(); void sendObjectHit(); void sendObjectPlace(); void sendObjectSpawn(); void sendObjectDelete(); void sendObjectLock(); void sendObjectDialogueChoice(); void sendObjectMiscellaneous(); void sendObjectRestock(); void sendObjectTrap(); void sendObjectScale(); void sendObjectSound(); void sendObjectState(); void sendObjectAnimPlay(); void sendDoorState(); void sendMusicPlay(); void sendVideoPlay(); void sendClientScriptLocal(); void sendScriptMemberShort(); void sendContainer(); void sendConsoleCommand(); private: Networking *getNetworking(); }; } #endif //OPENMW_OBJECTLIST_HPP