mirror of
https://github.com/whoahq/whoa.git
synced 2026-02-02 00:32:45 +03:00
feat(object): add ClntObjMgrLinkInNewObject
This commit is contained in:
parent
2fc113d5b0
commit
4dd9921a4f
@ -1,7 +1,12 @@
|
|||||||
#include "object/client/CGObject_C.hpp"
|
#include "object/client/CGObject_C.hpp"
|
||||||
|
#include "object/client/ObjMgr.hpp"
|
||||||
|
|
||||||
CGObject_C::CGObject_C(uint32_t time, CClientObjCreate& objCreate) {
|
CGObject_C::CGObject_C(uint32_t time, CClientObjCreate& objCreate) {
|
||||||
// TODO
|
// TODO
|
||||||
|
|
||||||
|
ClntObjMgrLinkInNewObject(this);
|
||||||
|
|
||||||
|
// TODO
|
||||||
}
|
}
|
||||||
|
|
||||||
void CGObject_C::AddWorldObject() {
|
void CGObject_C::AddWorldObject() {
|
||||||
|
|||||||
@ -10,6 +10,7 @@
|
|||||||
class CGObject_C : public CGObject, public TSHashObject<CGObject_C, CHashKeyGUID> {
|
class CGObject_C : public CGObject, public TSHashObject<CGObject_C, CHashKeyGUID> {
|
||||||
public:
|
public:
|
||||||
// Public member functions
|
// Public member functions
|
||||||
|
CGObject_C() = default;
|
||||||
CGObject_C(uint32_t time, CClientObjCreate& objCreate);
|
CGObject_C(uint32_t time, CClientObjCreate& objCreate);
|
||||||
void AddWorldObject();
|
void AddWorldObject();
|
||||||
void SetBlock(uint32_t block, uint32_t value);
|
void SetBlock(uint32_t block, uint32_t value);
|
||||||
|
|||||||
@ -1,6 +1,8 @@
|
|||||||
#ifndef OBJECT_CLIENT_CLNT_OBJ_MGR_HPP
|
#ifndef OBJECT_CLIENT_CLNT_OBJ_MGR_HPP
|
||||||
#define OBJECT_CLIENT_CLNT_OBJ_MGR_HPP
|
#define OBJECT_CLIENT_CLNT_OBJ_MGR_HPP
|
||||||
|
|
||||||
|
#include "object/client/CGObject_C.hpp"
|
||||||
|
#include <storm/Hash.hpp>
|
||||||
#include <cstdint>
|
#include <cstdint>
|
||||||
|
|
||||||
class ClientConnection;
|
class ClientConnection;
|
||||||
@ -8,6 +10,8 @@ class ClientConnection;
|
|||||||
class ClntObjMgr {
|
class ClntObjMgr {
|
||||||
public:
|
public:
|
||||||
// Member variables
|
// Member variables
|
||||||
|
TSHashTable<CGObject_C, CHashKeyGUID> m_objects;
|
||||||
|
// TODO
|
||||||
WOWGUID m_activePlayer = 0;
|
WOWGUID m_activePlayer = 0;
|
||||||
uint32_t m_mapID = 0;
|
uint32_t m_mapID = 0;
|
||||||
ClientConnection* m_net = nullptr;
|
ClientConnection* m_net = nullptr;
|
||||||
|
|||||||
@ -138,6 +138,11 @@ void ClntObjMgrInitializeStd(uint32_t mapID) {
|
|||||||
mgr->m_mapID = mapID;
|
mgr->m_mapID = mapID;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void ClntObjMgrLinkInNewObject(CGObject_C* object) {
|
||||||
|
CHashKeyGUID key(object->m_obj->m_guid);
|
||||||
|
s_curMgr->m_objects.Insert(object, object->m_obj->m_guid, key);
|
||||||
|
}
|
||||||
|
|
||||||
void ClntObjMgrPop() {
|
void ClntObjMgrPop() {
|
||||||
if (!s_savMgr) {
|
if (!s_savMgr) {
|
||||||
return;
|
return;
|
||||||
|
|||||||
@ -18,6 +18,8 @@ void ClntObjMgrInitializeShared();
|
|||||||
|
|
||||||
void ClntObjMgrInitializeStd(uint32_t mapID);
|
void ClntObjMgrInitializeStd(uint32_t mapID);
|
||||||
|
|
||||||
|
void ClntObjMgrLinkInNewObject(CGObject_C* object);
|
||||||
|
|
||||||
void ClntObjMgrPop();
|
void ClntObjMgrPop();
|
||||||
|
|
||||||
void ClntObjMgrPush(ClntObjMgr* mgr);
|
void ClntObjMgrPush(ClntObjMgr* mgr);
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user