whoa/src/object/client/CGObject.hpp
2026-02-05 14:53:58 -06:00

48 lines
1.2 KiB
C++

#ifndef OBJECT_CLIENT_CG_OBJECT_HPP
#define OBJECT_CLIENT_CG_OBJECT_HPP
#include "object/Types.hpp"
#include "util/GUID.hpp"
#include <cstdint>
struct CGObjectData {
WOWGUID m_guid;
OBJECT_TYPE m_type;
int32_t m_entryID;
float m_scale;
uint32_t pad;
};
class CGObject {
public:
// Public static functions
static uint32_t GetBaseOffset();
static uint32_t GetBaseOffsetSaved();
static uint32_t GetDataSize();
static uint32_t GetDataSizeSaved();
static uint32_t TotalFields();
static uint32_t TotalFieldsSaved();
// Public member variables
uint32_t uint0; // TODO what is this?
uint32_t m_memHandle;
// Public member functions
WOWGUID GetGUID() const;
OBJECT_TYPE GetType() const;
OBJECT_TYPE_ID GetTypeID() const;
int32_t IsA(OBJECT_TYPE type) const;
int32_t IsExactlyA(OBJECT_TYPE_ID typeID) const;
protected:
// Protected member variables
CGObjectData* m_obj;
uint32_t* m_objSaved;
OBJECT_TYPE_ID m_typeID;
// Protected member functions
CGObjectData* Obj() const;
};
#endif