From a16ce94158c9cf22a19c0e73dfe2e992a8302af1 Mon Sep 17 00:00:00 2001 From: chai Date: Sat, 8 Dec 2018 22:05:31 +0800 Subject: =?UTF-8?q?*=E5=8E=BB=E9=99=A4shared=20template?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/lua/common/je_lua_object.h | 28 +++++++++------------------- 1 file changed, 9 insertions(+), 19 deletions(-) (limited to 'src/lua/common/je_lua_object.h') diff --git a/src/lua/common/je_lua_object.h b/src/lua/common/je_lua_object.h index 296ee03..a81f57c 100644 --- a/src/lua/common/je_lua_object.h +++ b/src/lua/common/je_lua_object.h @@ -17,43 +17,33 @@ namespace JinEngine /// /// Set lua_State and object it bind. /// - void bind(SharedBase* obj); + void bind(Shared* obj); void release(); const char* getObjectType(); - SharedBase* getShared(); + Shared* getShared(); - template - Shared& getShared() - { - return *(Shared*)object; - } - - /// - /// For convenience. - /// template T* getObject() { - Shared& shared = getShared(); - return shared.getObject(); + return shared->getObject(); } - void setDependency(uint key, SharedBase* shared); + void setDependency(uint key, Shared* shared); void removeDependency(uint key); - void removeDependency(SharedBase* dep); + void removeDependency(Shared* dep); bool isDependOn(uint key); - bool isDependOn(SharedBase* shared); + bool isDependOn(Shared* shared); void clearDependencies(); - SharedBase* getDependency(uint key); + Shared* getDependency(uint key); int getDependenciesCount(); @@ -61,11 +51,11 @@ namespace JinEngine // Lua state object. ////////////////////////////////////////////////////////////////////////////////////////////////////// - using DepsMap = std::map; + using DepsMap = std::map; lua_State* state; - SharedBase* object; + Shared* shared; DepsMap* dependencies; -- cgit v1.1-26-g67d0