mirror of
https://github.com/whoahq/whoa.git
synced 2026-03-18 05:31:07 +03:00
feat(object): implement ClntObjMgrFreeObject
Some checks are pending
Push / ${{ matrix.build.system_name }} / ${{ matrix.build.build_type }} / ${{ matrix.build.compiler_name }} (map[build_type:Release cc:cl compiler_name:MSVC cxx:cl os:windows-latest system_name:Windows test_path:WhoaTest]) (push) Waiting to run
Push / ${{ matrix.build.system_name }} / ${{ matrix.build.build_type }} / ${{ matrix.build.compiler_name }} (map[build_type:Release cc:clang compiler_name:Clang cxx:clang++ os:macos-latest system_name:macOS test_path:WhoaTest]) (push) Waiting to run
Push / ${{ matrix.build.system_name }} / ${{ matrix.build.build_type }} / ${{ matrix.build.compiler_name }} (map[build_type:Release cc:gcc compiler_name:GCC cxx:g++ os:ubuntu-latest system_name:Linux test_path:WhoaTest]) (push) Waiting to run
Some checks are pending
Push / ${{ matrix.build.system_name }} / ${{ matrix.build.build_type }} / ${{ matrix.build.compiler_name }} (map[build_type:Release cc:cl compiler_name:MSVC cxx:cl os:windows-latest system_name:Windows test_path:WhoaTest]) (push) Waiting to run
Push / ${{ matrix.build.system_name }} / ${{ matrix.build.build_type }} / ${{ matrix.build.compiler_name }} (map[build_type:Release cc:clang compiler_name:Clang cxx:clang++ os:macos-latest system_name:macOS test_path:WhoaTest]) (push) Waiting to run
Push / ${{ matrix.build.system_name }} / ${{ matrix.build.build_type }} / ${{ matrix.build.compiler_name }} (map[build_type:Release cc:gcc compiler_name:GCC cxx:g++ os:ubuntu-latest system_name:Linux test_path:WhoaTest]) (push) Waiting to run
This commit is contained in:
parent
305849b164
commit
5a8fb5e2d3
@ -92,7 +92,33 @@ CGObject_C* ClntObjMgrAllocObject(OBJECT_TYPE_ID typeID, WOWGUID guid) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
void ClntObjMgrFreeObject(CGObject_C* object) {
|
void ClntObjMgrFreeObject(CGObject_C* object) {
|
||||||
// TODO
|
auto playerGUID = ClntObjMgrGetActivePlayer();
|
||||||
|
auto isActivePlayer = object->m_obj->m_guid == playerGUID;
|
||||||
|
|
||||||
|
switch (object->m_obj->m_type) {
|
||||||
|
case TYPE_OBJECT:
|
||||||
|
case HIER_TYPE_ITEM:
|
||||||
|
case HIER_TYPE_CONTAINER:
|
||||||
|
case HIER_TYPE_UNIT:
|
||||||
|
case HIER_TYPE_PLAYER:
|
||||||
|
case HIER_TYPE_GAMEOBJECT:
|
||||||
|
case HIER_TYPE_DYNAMICOBJECT:
|
||||||
|
case HIER_TYPE_CORPSE: {
|
||||||
|
object->~CGObject_C();
|
||||||
|
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
|
default: {
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if (isActivePlayer) {
|
||||||
|
STORM_FREE(object);
|
||||||
|
} else {
|
||||||
|
ObjectFree(s_objHeapId[object->m_typeID], object->m_memHandle);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
WOWGUID ClntObjMgrGetActivePlayer() {
|
WOWGUID ClntObjMgrGetActivePlayer() {
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user