mirror of
https://github.com/whoahq/whoa.git
synced 2026-02-01 00:02:45 +03:00
chore(object): move InitObject to util
This commit is contained in:
parent
d18a479bfb
commit
ae911d94ad
@ -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;
|
||||
|
||||
@ -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;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@ -4,10 +4,13 @@
|
||||
#include "util/GUID.hpp"
|
||||
#include <cstdint>
|
||||
|
||||
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
|
||||
|
||||
Loading…
Reference in New Issue
Block a user