From ee8ef0433e36bf354a717bd4af679a0a5af2e6be Mon Sep 17 00:00:00 2001 From: chai Date: Thu, 20 Dec 2018 18:34:50 +0800 Subject: =?UTF-8?q?*=E4=BF=AE=E6=94=B9=E6=96=87=E4=BB=B6=E7=BB=93=E6=9E=84?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/lua/common/je_lua_object.cpp | 112 --------------------------------------- 1 file changed, 112 deletions(-) delete mode 100644 src/lua/common/je_lua_object.cpp (limited to 'src/lua/common/je_lua_object.cpp') diff --git a/src/lua/common/je_lua_object.cpp b/src/lua/common/je_lua_object.cpp deleted file mode 100644 index c35356e..0000000 --- a/src/lua/common/je_lua_object.cpp +++ /dev/null @@ -1,112 +0,0 @@ -#include "je_lua_object.h" -#include "je_lua.h" - -namespace JinEngine -{ - namespace Lua - { - - void LuaObject::bind(Shared* obj) - { - if (obj) - { - shared = obj; - shared->retain(); - dependencies = new std::map(); - } - } - - void LuaObject::release() - { - // Delete lua shared table reference and references. - if (dependencies) - { - clearDependencies(); - delete dependencies; - dependencies = nullptr; - } - // Try delete engine side shared. - if (shared) - { - shared->release(); - shared = nullptr; - } - } - - const char* LuaObject::getObjectType() - { - return type; - } - - Shared* LuaObject::getShared() - { - return shared; - } - - void LuaObject::setDependency(uint key, LuaObject* dep) - { - removeDependency(key); - dependencies->insert(std::pair(key, dep)); - luax_addreference(state, this, dep); - } - - void LuaObject::removeDependency(uint key) - { - if (!isDependOn(key)) - return; - DepsMap::iterator it = dependencies->find(key); - LuaObject* dep = it->second; - luax_removereference(state, this, dep); - dependencies->erase(it); - } - - void LuaObject::removeDependency(LuaObject* dependency) - { - for (DepsMap::iterator it = dependencies->begin(); it != dependencies->end();) - { - LuaObject* dep = it->second; - if (dep == dependency) - { - luax_removereference(state, this, dep); - dependencies->erase(it); - } - else - ++it; - } - } - - bool LuaObject::isDependOn(uint key) - { - return dependencies->find(key) != dependencies->end(); - } - - bool LuaObject::isDependOn(LuaObject* shared) - { - for (std::pair dep : (*dependencies)) - { - if (dep.second == shared) - return true; - } - return false; - } - - void LuaObject::clearDependencies() - { - luax_removereference(state, this); - dependencies->clear(); - } - - LuaObject* LuaObject::getDependency(uint key) - { - if (!isDependOn(key)) - return nullptr; - return dependencies->find(key)->second; - } - - int LuaObject::getDependenciesCount() - { - return dependencies->size(); - } - - } -} \ No newline at end of file -- cgit v1.1-26-g67d0