summaryrefslogtreecommitdiff
path: root/Source/3rdParty/Luax/luax_class.hpp
diff options
context:
space:
mode:
Diffstat (limited to 'Source/3rdParty/Luax/luax_class.hpp')
-rw-r--r--Source/3rdParty/Luax/luax_class.hpp31
1 files changed, 21 insertions, 10 deletions
diff --git a/Source/3rdParty/Luax/luax_class.hpp b/Source/3rdParty/Luax/luax_class.hpp
index 539093c..6557c0b 100644
--- a/Source/3rdParty/Luax/luax_class.hpp
+++ b/Source/3rdParty/Luax/luax_class.hpp
@@ -14,12 +14,10 @@ namespace Luax
///
/// RegisterLuaxClass עķͳԱö١ȵclass table
- /// LuaxRegisterInterface עӿڷinterface table
/// LuaxGetFactoryName ùͬʱעʱעΪsingletonͨʱ
///
#define LUAX_DECL_FACTORY(type) \
static void RegisterLuaxClass(Luax::LuaxState&);\
- static void RegisterLuaxInterface(Luax::LuaxState&);\
static void RegisterLuaxPostprocess(Luax::LuaxState&); \
static const char* GetLuaxFactoryName() { return #type; };\
static const char* GetLuaxClassName() { return #type; };\
@@ -37,7 +35,7 @@ namespace Luax
static bool IsLuaxClassSingleton() { return true; };
///
- /// Ҫ¶luaclassҪ̳дࡣͨluaʵҪȷüȷԣڶ߳Ҫȷͷš
+ /// Ҫ¶luanative classҪ̳дࡣͨluaʵҪȷüȷԣڶ߳Ҫȷͷš
///
template<class T>
class LuaxClass
@@ -81,12 +79,8 @@ namespace Luax
static void RegisterLuaxFactoryClass(LuaxState& state);
static void RegisterLuaxSingletonClass(LuaxState& state);
- static void RegisterLuaxInterface(LuaxState& state);
-
- static void SetLuaxInterfaceTableRef(LuaxState& state, int idx);
static void SetLuaxClassTableRef(LuaxState& state, int idx);
- static void PushLuaxInterfaceTable(LuaxState& state);
static void PushLuaxClassTable(LuaxState& state);
///
@@ -106,7 +100,6 @@ namespace Luax
/// LuaxClass<T>͵ʵ
///
static LuaxStrongRef mClassTable; // class table͵
- static LuaxStrongRef mInterfaceTable; // ǹinterface tableʵĶĹз
static LuaxStrongRef mSingletonRefTable; // ǵsingletonijԱԱ֤ᱻͨ
// ref tableijԱȫڵģֱ_LUAX_STRONGREF_TABLE
@@ -114,7 +107,7 @@ namespace Luax
/// ͨuserdataõ:
/// 1: ref table
/// 2: member table
- /// 3: interface table
+ /// 3: class table
///
LuaxWeakRef mUserdata;
@@ -132,7 +125,6 @@ namespace Luax
LUAX_DECL_METHOD( l___gc );
LUAX_DECL_METHOD( l_ExtendFactory );
LUAX_DECL_METHOD( l_GetClass );
- LUAX_DECL_METHOD( l_GetInterfaceTable );
LUAX_DECL_METHOD( l_GetRefTable );
//------------------------------------------------------------------------------------------------------------
@@ -142,6 +134,25 @@ namespace Luax
};
+ //--------------------------------------------------------------------------------------------------------------
+
+ ///
+ /// lua
+ ///
+ class LuaxPlainClass
+ {
+ public:
+
+ ///
+ /// עںͨregistry()עࡣ
+ ///
+ static int registry(lua_State* L);
+
+ LUAX_DECL_METHOD( l_Extend );
+ LUAX_DECL_METHOD( l_New );
+
+ };
+
}
#endif \ No newline at end of file