#ifndef OPENMW_BASEEVENT_HPP #define OPENMW_BASEEVENT_HPP #include #include #include namespace mwmp { struct WorldObject { std::string refId; int refNumIndex; int charge; int count; int goldValue; ESM::Position pos; int state; int lockLevel; float scale; std::string filename; bool allowSkipping; std::string animGroup; int animMode; int index; int shortVal; float floatVal; std::string varName; }; struct ContainerItem { std::string refId; int count; int health; inline bool operator==(const ContainerItem& rhs) { return refId == rhs.refId && count == rhs.count && health == rhs.health; } }; struct ObjectChanges { std::vector objects; unsigned int count; }; struct ContainerChanges { std::vector items; unsigned int count; enum CONTAINER_ACTION { SET = 0, ADD = 1, REMOVE = 2 }; int action; // 0 - Clear and set in entirety, 1 - Add item, 2 - Remove item }; class BaseEvent { public: BaseEvent(RakNet::RakNetGUID guid) : guid(guid) { } BaseEvent() { } RakNet::RakNetGUID guid; ObjectChanges objectChanges; ContainerChanges containerChanges; ESM::Cell cell; }; } #endif //OPENMW_BASEEVENT_HPP