aboutsummaryrefslogtreecommitdiff
path: root/src/lua/common/je_lua_object.h
diff options
context:
space:
mode:
authorchai <chaifix@163.com>2018-12-04 14:10:29 +0800
committerchai <chaifix@163.com>2018-12-04 14:10:29 +0800
commite1bc01ce6948283930f7f29a640a91a27a29c997 (patch)
tree10620e2107f5e3df96a61516090347b950c58a74 /src/lua/common/je_lua_object.h
parentf439c73308774d39cc9647ebfeedcf52b2111fed (diff)
*格式化代码
Diffstat (limited to 'src/lua/common/je_lua_object.h')
-rw-r--r--src/lua/common/je_lua_object.h49
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