aboutsummaryrefslogtreecommitdiff
path: root/src/lua/common/je_lua_object.h
diff options
context:
space:
mode:
authorchai <chaifix@163.com>2018-12-08 22:05:31 +0800
committerchai <chaifix@163.com>2018-12-08 22:05:31 +0800
commita16ce94158c9cf22a19c0e73dfe2e992a8302af1 (patch)
tree52d80d950cd410ba82af909e18f77e3b11cd6eda /src/lua/common/je_lua_object.h
parentd34e5c9d7c6135e805f2cc231411cdcc9910190c (diff)
*去除shared template
Diffstat (limited to 'src/lua/common/je_lua_object.h')
-rw-r--r--src/lua/common/je_lua_object.h28
1 files changed, 9 insertions, 19 deletions
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<class T>
- Shared<T>& getShared()
- {
- return *(Shared<T>*)object;
- }
-
- ///
- /// For convenience.
- ///
- template<class T>
T* getObject()
{
- Shared<T>& shared = getShared<T>();
- return shared.getObject();
+ return shared->getObject<T>();
}
- 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<uint, SharedBase*>;
+ using DepsMap = std::map<uint, Shared*>;
lua_State* state;
- SharedBase* object;
+ Shared* shared;
DepsMap* dependencies;