diff options
author | chai <chaifix@163.com> | 2018-12-04 14:10:29 +0800 |
---|---|---|
committer | chai <chaifix@163.com> | 2018-12-04 14:10:29 +0800 |
commit | e1bc01ce6948283930f7f29a640a91a27a29c997 (patch) | |
tree | 10620e2107f5e3df96a61516090347b950c58a74 /src/lua/common/je_lua_object.h | |
parent | f439c73308774d39cc9647ebfeedcf52b2111fed (diff) |
*格式化代码
Diffstat (limited to 'src/lua/common/je_lua_object.h')
-rw-r--r-- | src/lua/common/je_lua_object.h | 49 |
1 files changed, 35 insertions, 14 deletions
diff --git a/src/lua/common/je_lua_object.h b/src/lua/common/je_lua_object.h index bd3ddd6..1d74de9 100644 --- a/src/lua/common/je_lua_object.h +++ b/src/lua/common/je_lua_object.h @@ -1,6 +1,7 @@ -#ifndef __JIN_COMMON_PROXY_H__ -#define __JIN_COMMON_PROXY_H__ +#ifndef __JIN_COMMON_OBJECT_H__ +#define __JIN_COMMON_OBJECT_H__ +#include "libjin/jin.h" #include "je_lua_shared.hpp" struct lua_State; @@ -16,21 +17,18 @@ namespace JinEngine /// /// Set lua_State and object it bind. /// - void bind(SharedBase* s); + void bind(SharedBase* obj); void release(); const char* getObjectType(); + SharedBase* getSharedBase(); + template<class T> Shared<T>& getShared() { - return *(Shared<T>*)shared; - } - - SharedBase* getSharedBase() - { - return shared; + return *(Shared<T>*)object; } /// @@ -43,15 +41,38 @@ namespace JinEngine return shared.getObject(); } + void setDependency(uint key, SharedBase* shared); + + void removeDependency(uint key); + + void removeDependency(SharedBase* dep); + + bool isDependOn(uint key); + + bool isDependOn(SharedBase* shared); + + void clearDependencies(); + + SharedBase* getDependency(uint key); + + int getDependenciesCount(); + + ////////////////////////////////////////////////////////////////////////////////////////////////////// + // + ////////////////////////////////////////////////////////////////////////////////////////////////////// + + lua_State* state; + + SharedBase* object; + + std::map<uint, SharedBase*>* dependencies; + private: - /// - /// - /// - SharedBase* shared; + using DepsMap = std::map<uint, SharedBase*>; }; } // namespace Lua } // namespace JinEngine -#endif // __JIN_COMMON_PROXY_H__
\ No newline at end of file +#endif // __JIN_COMMON_OBJECT_H__
\ No newline at end of file |