diff --git a/src/object/client/MessageHandlers.cpp b/src/object/client/MessageHandlers.cpp index 71bb508..ef353e2 100644 --- a/src/object/client/MessageHandlers.cpp +++ b/src/object/client/MessageHandlers.cpp @@ -159,61 +159,6 @@ void SetupObjectStorage(OBJECT_TYPE_ID typeID, CGObject_C* object, WOWGUID guid) } } -void InitObject(CGObject_C* object, uint32_t time, CClientObjCreate& objCreate) { - switch (object->m_typeID) { - case ID_ITEM: { - new (object) CGItem_C(time, objCreate); - - break; - } - - case ID_CONTAINER: { - new (object) CGContainer_C(time, objCreate); - - break; - } - - case ID_UNIT: { - new (object) CGUnit_C(time, objCreate); - object->AddWorldObject(); - - break; - } - - case ID_PLAYER: { - new (object) CGPlayer_C(time, objCreate); - object->AddWorldObject(); - - break; - } - - case ID_GAMEOBJECT: { - new (object) CGGameObject_C(time, objCreate); - object->AddWorldObject(); - - break; - } - - case ID_DYNAMICOBJECT: { - new (object) CGDynamicObject_C(time, objCreate); - object->AddWorldObject(); - - break; - } - - case ID_CORPSE: { - new (object) CGCorpse_C(time, objCreate); - object->AddWorldObject(); - - break; - } - - default: { - break; - } - } -} - int32_t CreateObject(CDataStore* msg, uint32_t time) { SmartGUID guid; *msg >> guid; diff --git a/src/object/client/Util.cpp b/src/object/client/Util.cpp index 743346d..4690487 100644 --- a/src/object/client/Util.cpp +++ b/src/object/client/Util.cpp @@ -1,4 +1,13 @@ #include "object/client/Util.hpp" +#include "object/client/CClientObjCreate.hpp" +#include "object/client/CGContainer_C.hpp" +#include "object/client/CGCorpse_C.hpp" +#include "object/client/CGDynamicObject_C.hpp" +#include "object/client/CGGameObject_C.hpp" +#include "object/client/CGItem_C.hpp" +#include "object/client/CGObject_C.hpp" +#include "object/client/CGPlayer_C.hpp" +#include "object/client/CGUnit_C.hpp" #include "object/client/ObjMgr.hpp" CGObject_C* FindActiveObject(WOWGUID guid) { @@ -19,3 +28,58 @@ CGObject_C* GetUpdateObject(WOWGUID guid, int32_t* reenabled) { // TODO handle reenabling object return nullptr; } + +void InitObject(CGObject_C* object, uint32_t time, CClientObjCreate& objCreate) { + switch (object->m_typeID) { + case ID_ITEM: { + new (object) CGItem_C(time, objCreate); + + break; + } + + case ID_CONTAINER: { + new (object) CGContainer_C(time, objCreate); + + break; + } + + case ID_UNIT: { + new (object) CGUnit_C(time, objCreate); + object->AddWorldObject(); + + break; + } + + case ID_PLAYER: { + new (object) CGPlayer_C(time, objCreate); + object->AddWorldObject(); + + break; + } + + case ID_GAMEOBJECT: { + new (object) CGGameObject_C(time, objCreate); + object->AddWorldObject(); + + break; + } + + case ID_DYNAMICOBJECT: { + new (object) CGDynamicObject_C(time, objCreate); + object->AddWorldObject(); + + break; + } + + case ID_CORPSE: { + new (object) CGCorpse_C(time, objCreate); + object->AddWorldObject(); + + break; + } + + default: { + break; + } + } +} diff --git a/src/object/client/Util.hpp b/src/object/client/Util.hpp index 7cb677a..08cc115 100644 --- a/src/object/client/Util.hpp +++ b/src/object/client/Util.hpp @@ -4,10 +4,13 @@ #include "util/GUID.hpp" #include +class CClientObjCreate; class CGObject_C; CGObject_C* FindActiveObject(WOWGUID guid); CGObject_C* GetUpdateObject(WOWGUID guid, int32_t* reenabled); +void InitObject(CGObject_C* object, uint32_t time, CClientObjCreate& objCreate); + #endif