diff options
| author | chai <chaifix@163.com> | 2020-11-15 09:59:22 +0800 |
|---|---|---|
| committer | chai <chaifix@163.com> | 2020-11-15 09:59:22 +0800 |
| commit | 64f89347883d519b202711a11d2ea175bd80be37 (patch) | |
| tree | 1a4a53561f49e40bc57eddb5063a4bdb8c083f44 /Runtime/Scripting/luax_ref.cpp | |
| parent | 3bc1b7854d5a9e6bbe0d3409dac95e1b08e20a23 (diff) | |
+lua binding
Diffstat (limited to 'Runtime/Scripting/luax_ref.cpp')
| -rw-r--r-- | Runtime/Scripting/luax_ref.cpp | 72 |
1 files changed, 0 insertions, 72 deletions
diff --git a/Runtime/Scripting/luax_ref.cpp b/Runtime/Scripting/luax_ref.cpp deleted file mode 100644 index d4be775..0000000 --- a/Runtime/Scripting/luax_ref.cpp +++ /dev/null @@ -1,72 +0,0 @@ -#include "luax_vm.h" -#include "luax_ref.h" - -namespace Luax -{ - - LuaxRef::LuaxRef(int mode) - : mRefID(LUA_NOREF) - , mMode(mode) - { - } - - LuaxRef::~LuaxRef() - { - } - - LuaxRef::operator bool() - { - return (mRefID != LUA_NOREF); - } - - bool LuaxRef::PushRef(LuaxState& state) - { - assert(mRefID != LUA_NOREF); - - LuaxVM* vm = state.GetVM(); - if (!vm) return false; - if (mMode == STRONG_REF) - { - LuaxRefTable& table = vm->GetStrongRefTable(); - table.PushRef(state, mRefID); - } - else if (mMode == WEAK_REF) - { - LuaxRefTable& table = vm->GetWeakRefTable(); - table.PushRef(state, mRefID); - } - else - { - state.PushNil(); - return false; - } - return true; - } - - void LuaxRef::SetRef(LuaxState& state, int idx) - { - LuaxVM* vm = state.GetVM(); - if (!vm) return; - if (mMode == STRONG_REF) - { - LuaxRefTable& table = vm->GetStrongRefTable(); - mRefID = table.Ref(state, idx); - } - else if (mMode == WEAK_REF) - { - LuaxRefTable& table = vm->GetWeakRefTable(); - mRefID = table.Ref(state, idx); - } - } - - LuaxStrongRef::LuaxStrongRef() - : LuaxRef(STRONG_REF) - { - } - - LuaxWeakRef::LuaxWeakRef() - : LuaxRef(WEAK_REF) - { - } - -} |
