mirror of
https://github.com/thunderbrewhq/thunderbrew
synced 2026-02-05 01:29:07 +00:00
39 lines
1 KiB
C++
39 lines
1 KiB
C++
|
|
#ifndef UI_C_SCRIPT_OBJECT_HPP
|
||
|
|
#define UI_C_SCRIPT_OBJECT_HPP
|
||
|
|
|
||
|
|
#include "ui/FrameScript_Object.hpp"
|
||
|
|
#include <cstdint>
|
||
|
|
#include <common/String.hpp>
|
||
|
|
|
||
|
|
class CStatus;
|
||
|
|
class XMLNode;
|
||
|
|
|
||
|
|
class CScriptObject : public FrameScript_Object {
|
||
|
|
public:
|
||
|
|
// Static variables
|
||
|
|
static int32_t s_objectType;
|
||
|
|
static const char* s_objectTypeName;
|
||
|
|
|
||
|
|
// Static functions
|
||
|
|
static void RegisterScriptMethods(lua_State*);
|
||
|
|
static CScriptObject* GetScriptObjectByName(const char*, int32_t);
|
||
|
|
|
||
|
|
// Member variables
|
||
|
|
RCString m_name;
|
||
|
|
|
||
|
|
// Virtual member functions
|
||
|
|
virtual ~CScriptObject(void);
|
||
|
|
virtual char* GetName(void);
|
||
|
|
virtual bool IsA(int32_t);
|
||
|
|
virtual CScriptObject* GetScriptObjectParent(void) = 0;
|
||
|
|
virtual bool IsA(const char*);
|
||
|
|
virtual const char* GetObjectTypeName(void);
|
||
|
|
|
||
|
|
// Member functions
|
||
|
|
void CreateName(const char*, char*, uint32_t);
|
||
|
|
void PreLoadXML(XMLNode*, CStatus*);
|
||
|
|
void SetName(const char*);
|
||
|
|
};
|
||
|
|
|
||
|
|
#endif
|