diff options
author | chai <chaifix@163.com> | 2019-08-14 22:50:43 +0800 |
---|---|---|
committer | chai <chaifix@163.com> | 2019-08-14 22:50:43 +0800 |
commit | 15740faf9fe9fe4be08965098bbf2947e096aeeb (patch) | |
tree | a730ec236656cc8cab5b13f088adfaed6bb218fb /Runtime/Mono/MonoScriptManager.h |
Diffstat (limited to 'Runtime/Mono/MonoScriptManager.h')
-rw-r--r-- | Runtime/Mono/MonoScriptManager.h | 40 |
1 files changed, 40 insertions, 0 deletions
diff --git a/Runtime/Mono/MonoScriptManager.h b/Runtime/Mono/MonoScriptManager.h new file mode 100644 index 0000000..fc05127 --- /dev/null +++ b/Runtime/Mono/MonoScriptManager.h @@ -0,0 +1,40 @@ +#ifndef _MONOSCRIPTMANAGER_H_ +#define _MONOSCRIPTMANAGER_H_ + +class MonoScript; +class MonoManager; + +class MonoScriptManager +{ +public: + void RegisterRuntimeScript (MonoScript& script); + void RegisterEditorScript (MonoScript& script); + + typedef UNITY_SET(kMemScriptManager, MonoScript*) AllScripts; + typedef UNITY_SET(kMemScriptManager, PPtr<MonoScript>) Scripts; + + MonoScript* FindRuntimeScript (const std::string& className); + MonoScript* FindRuntimeScript (const std::string& className, std::string const& nameSpace, std::string const& assembly); + MonoScript* FindRuntimeScript (ScriptingClassPtr klass); + AllScripts GetAllRuntimeScripts (); + +#if UNITY_EDITOR + AllScripts GetAllRuntimeAndEditorScripts (); + MonoScript* FindEditorScript (MonoClass* klass); + MonoScript* FindEditorScript (const std::string& className); +#else + MonoScript* FindEditorScript (ScriptingClassPtr klass) { return NULL; } +#endif + + +private: + + Scripts m_RuntimeScripts; +#if UNITY_EDITOR + Scripts m_EditorScripts; +#endif + + friend class MonoManager; +}; + +#endif |