diff options
author | chai <chaifix@163.com> | 2021-10-24 13:24:13 +0800 |
---|---|---|
committer | chai <chaifix@163.com> | 2021-10-24 13:24:13 +0800 |
commit | 3239ba18797b1aa098056aa0c2a70e250a27a06c (patch) | |
tree | cb42710213cd188dd5f7c7841693c9ebe1b1915a /Runtime/Lua | |
parent | 7bf672fd0c6211909d94078b448032b1bd0916ef (diff) |
* port shader
Diffstat (limited to 'Runtime/Lua')
-rw-r--r-- | Runtime/Lua/LuaBind/LuaBindRef.cpp | 16 | ||||
-rw-r--r-- | Runtime/Lua/LuaBind/LuaBindRef.h | 10 | ||||
-rw-r--r-- | Runtime/Lua/LuaBind/LuaBindState.h | 6 | ||||
-rw-r--r-- | Runtime/Lua/LuaBind/LuaBindUtility.h | 8 | ||||
-rw-r--r-- | Runtime/Lua/LuaBind/LuaBindVM.cpp | 5 | ||||
-rw-r--r-- | Runtime/Lua/LuaHelper.cpp | 8 | ||||
-rw-r--r-- | Runtime/Lua/LuaHelper.h | 2 |
7 files changed, 29 insertions, 26 deletions
diff --git a/Runtime/Lua/LuaBind/LuaBindRef.cpp b/Runtime/Lua/LuaBind/LuaBindRef.cpp index b2f8e1c..d0f2766 100644 --- a/Runtime/Lua/LuaBind/LuaBindRef.cpp +++ b/Runtime/Lua/LuaBind/LuaBindRef.cpp @@ -4,24 +4,24 @@ namespace LuaBind { - Ref::Ref(LuaBind::VM* vm, RefMode mode) + UniversalRef::UniversalRef(LuaBind::VM* vm, RefMode mode) : mRefID(LUA_NOREF) , mMode(mode) , mOwner(vm) { } - Ref::~Ref() + UniversalRef::~UniversalRef() { // �Զ��ͷ����� } - Ref::operator bool() + UniversalRef::operator bool() { return (mRefID != LUA_NOREF); } - void Ref::UnRef() + void UniversalRef::UnRef() { if (mRefID == LUA_NOREF) return; @@ -41,7 +41,7 @@ namespace LuaBind } } - void Ref::SetRef(LuaBind::State& state, int idx) + void UniversalRef::SetRef(LuaBind::State& state, int idx) { assert(state.GetVM() == mOwner); @@ -59,7 +59,7 @@ namespace LuaBind } } - bool Ref::PushRef(LuaBind::State& state) + bool UniversalRef::PushRef(LuaBind::State& state) { assert(mRefID != LUA_NOREF); @@ -84,12 +84,12 @@ namespace LuaBind } StrongRef::StrongRef(LuaBind::VM* vm) - : Ref(vm, STRONG_REF) + : UniversalRef(vm, STRONG_REF) { } WeakRef::WeakRef(LuaBind::VM* vm) - : Ref(vm, WEAK_REF) + : UniversalRef(vm, WEAK_REF) { } diff --git a/Runtime/Lua/LuaBind/LuaBindRef.h b/Runtime/Lua/LuaBind/LuaBindRef.h index c7b7ab3..793559e 100644 --- a/Runtime/Lua/LuaBind/LuaBindRef.h +++ b/Runtime/Lua/LuaBind/LuaBindRef.h @@ -9,7 +9,7 @@ namespace LuaBind // ȫ�����ã�������LUA_REGISTRYINDEX���������������������ֶ����� // ���Ҫ�þֲ����ã���MemberRef���ᱣ����UserData��RefTable��������ں�UserDataһ�� - class Ref + class UniversalRef { public: enum RefMode @@ -18,8 +18,8 @@ namespace LuaBind WEAK_REF }; - Ref(LuaBind::VM* vm, RefMode mode = STRONG_REF); - virtual ~Ref(); + UniversalRef(LuaBind::VM* vm, RefMode mode = STRONG_REF); + virtual ~UniversalRef(); operator bool(); @@ -43,7 +43,7 @@ namespace LuaBind }; // ǿ���ã���LUA_REGISTRYINDEX["GAMELAB_UNIVERSAL_STRONG_REFERENCE_TABLE"]���֤lua object���ᱻ���� - class StrongRef: public Ref + class StrongRef: public UniversalRef { public: StrongRef(LuaBind::VM* vm); @@ -51,7 +51,7 @@ namespace LuaBind }; // �����ã���LUA_REGISTRYINDEX["GAMELAB_UNIVERSAL_WEAK_REFERENCE_TABLE"]���Ӱ��lua object�Ļ��գ�ֻ����Ϊһ������ȡlua object��ӳ�� - class WeakRef : public Ref + class WeakRef : public UniversalRef { public: WeakRef(LuaBind::VM* vm); diff --git a/Runtime/Lua/LuaBind/LuaBindState.h b/Runtime/Lua/LuaBind/LuaBindState.h index 60e05be..c81ba8c 100644 --- a/Runtime/Lua/LuaBind/LuaBindState.h +++ b/Runtime/Lua/LuaBind/LuaBindState.h @@ -227,9 +227,8 @@ namespace LuaBind //--------------------------------------------------------------------------------// - // ȷ������ȫ��lua�����ܹ��ڵ���֮�ص����stack״̬�� - class ScopedState - : public State + // RAII, ȷ������ȫ��lua�����ܹ��ڵ���֮�ص����stack״̬�� + class ScopedState : public State { public: ScopedState(lua_State* state) @@ -253,7 +252,6 @@ namespace LuaBind private: void* operator new(size_t); int mRestoreTop; - }; // ע�Ṥ����ע��class table����type nameΪ�����������ƿռ��ϡ���ע��β�������Ԫ�����ȵ�New�������õ�ʱ��Żᡣ diff --git a/Runtime/Lua/LuaBind/LuaBindUtility.h b/Runtime/Lua/LuaBind/LuaBindUtility.h index 94f2e9c..7e6eb77 100644 --- a/Runtime/Lua/LuaBind/LuaBindUtility.h +++ b/Runtime/Lua/LuaBind/LuaBindUtility.h @@ -6,10 +6,10 @@ // RegisterClass ע����ķ����ͳ�Ա������ö�١������ȵ�class table GetNativeClassName ��ù����������� // ͬʱ��������ע��ʱ����ע��Ϊ��singleton��ͨ������ʱ�������� #define LUA_BIND_DECL_CLASS(type, ...) \ - friend class ::State; \ - friend class ::NativeClass<type,##__VA_ARGS__>; \ - static void RegisterClass(::State&); \ - static void RegisterPostprocess(::State&); \ + friend class LuaBind::State; \ + friend class LuaBind::NativeClass<type,##__VA_ARGS__>; \ + static void RegisterClass(LuaBind::State&); \ + static void RegisterPostprocess(LuaBind::State&); \ static const char* GetNativeClassName() { return #type; };\ static const char* GetClassName() { return #type; }; diff --git a/Runtime/Lua/LuaBind/LuaBindVM.cpp b/Runtime/Lua/LuaBind/LuaBindVM.cpp index e454929..7a56013 100644 --- a/Runtime/Lua/LuaBind/LuaBindVM.cpp +++ b/Runtime/Lua/LuaBind/LuaBindVM.cpp @@ -62,7 +62,10 @@ namespace LuaBind void VM::SetCurThread(lua_State* cur) { - mCurThread = cur; + if (this) + { + mCurThread = cur; + } } lua_State* VM::GetCurThread() diff --git a/Runtime/Lua/LuaHelper.cpp b/Runtime/Lua/LuaHelper.cpp index 53bea3f..e458e28 100644 --- a/Runtime/Lua/LuaHelper.cpp +++ b/Runtime/Lua/LuaHelper.cpp @@ -3,9 +3,9 @@ using namespace LuaBind;
template <> -Rectf State::GetValue < Rectf >(int idx, const Rectf value)
+Rect State::GetValue < Rect >(int idx, const Rect value)
{
- Rectf rect;
+ Rect rect;
rect.x = GetField<float>(idx, 1, 0); rect.y = GetField<float>(idx, 2, 0); rect.width = GetField<float>(idx, 3, 0); @@ -14,9 +14,9 @@ Rectf State::GetValue < Rectf >(int idx, const Rectf value) }
template <> -Vector2f State::GetValue < Vector2f >(int idx, const Vector2f value)
+Vector2 State::GetValue < Vector2 >(int idx, const Vector2 value)
{
- Vector2f v2; + Vector2 v2; v2.x = GetField<float>(idx, 1, 0); v2.y = GetField<float>(idx, 2, 0); return v2;
diff --git a/Runtime/Lua/LuaHelper.h b/Runtime/Lua/LuaHelper.h index 4ab0d6a..10d9421 100644 --- a/Runtime/Lua/LuaHelper.h +++ b/Runtime/Lua/LuaHelper.h @@ -3,6 +3,8 @@ #include "Runtime/Math/Vector2.h"
#include "./LuaBind/LuaBind.h"
+// lua 5.1 doc: https://www.lua.org/manual/5.1/
+
class LuaHelper
{
public:
|