summaryrefslogtreecommitdiff
path: root/Runtime/Scripting/LuaBindRef.cpp
diff options
context:
space:
mode:
authorchai <chaifix@163.com>2021-10-17 23:05:01 +0800
committerchai <chaifix@163.com>2021-10-17 23:05:01 +0800
commit7c8c68d79343d04be382334c15a73d079450857c (patch)
tree9aaacc042f0b7eeb4123c07dcc5f49c14fd8026c /Runtime/Scripting/LuaBindRef.cpp
parent6e73ca6ada8a41692809dae5db89c8db0675ce1e (diff)
*misc
Diffstat (limited to 'Runtime/Scripting/LuaBindRef.cpp')
-rw-r--r--Runtime/Scripting/LuaBindRef.cpp72
1 files changed, 0 insertions, 72 deletions
diff --git a/Runtime/Scripting/LuaBindRef.cpp b/Runtime/Scripting/LuaBindRef.cpp
deleted file mode 100644
index 00a65d0..0000000
--- a/Runtime/Scripting/LuaBindRef.cpp
+++ /dev/null
@@ -1,72 +0,0 @@
-#include "LuaBindVM.h"
-#include "LuaBindRef.h"
-
-namespace LuaBind
-{
-
- Ref::Ref(int mode)
- : mRefID(LUA_NOREF)
- , mMode(mode)
- {
- }
-
- Ref::~Ref()
- {
- }
-
- Ref::operator bool()
- {
- return (mRefID != LUA_NOREF);
- }
-
- bool Ref::PushRef(State& state)
- {
- assert(mRefID != LUA_NOREF);
-
- VM* vm = state.GetVM();
- if (!vm) return false;
- if (mMode == STRONG_REF)
- {
- RefTable& table = vm->GetStrongRefTable();
- table.PushRef(state, mRefID);
- }
- else if (mMode == WEAK_REF)
- {
- RefTable& table = vm->GetWeakRefTable();
- table.PushRef(state, mRefID);
- }
- else
- {
- state.PushNil();
- return false;
- }
- return true;
- }
-
- void Ref::SetRef(State& state, int idx)
- {
- VM* vm = state.GetVM();
- if (!vm) return;
- if (mMode == STRONG_REF)
- {
- RefTable& table = vm->GetStrongRefTable();
- mRefID = table.Ref(state, idx);
- }
- else if (mMode == WEAK_REF)
- {
- RefTable& table = vm->GetWeakRefTable();
- mRefID = table.Ref(state, idx);
- }
- }
-
- StrongRef::StrongRef()
- : Ref(STRONG_REF)
- {
- }
-
- WeakRef::WeakRef()
- : Ref(WEAK_REF)
- {
- }
-
-}