summaryrefslogtreecommitdiffstats
path: root/script/register_script_types.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'script/register_script_types.cpp')
-rw-r--r--script/register_script_types.cpp66
1 files changed, 66 insertions, 0 deletions
diff --git a/script/register_script_types.cpp b/script/register_script_types.cpp
new file mode 100644
index 0000000000..1927cd5c1f
--- /dev/null
+++ b/script/register_script_types.cpp
@@ -0,0 +1,66 @@
+/*************************************************/
+/* register_script_types.cpp */
+/*************************************************/
+/* This file is part of: */
+/* GODOT ENGINE */
+/*************************************************/
+/* Source code within this file is: */
+/* (c) 2007-2010 Juan Linietsky, Ariel Manzur */
+/* All Rights Reserved. */
+/*************************************************/
+
+#include "register_script_types.h"
+
+#include "script/gdscript/gd_script.h"
+#include "script/multiscript/multi_script.h"
+#include "io/resource_loader.h"
+
+
+
+#ifdef GDSCRIPT_ENABLED
+GDScriptLanguage *script_language_gd=NULL;
+ResourceFormatLoaderGDScript *resource_loader_gd=NULL;
+ResourceFormatSaverGDScript *resource_saver_gd=NULL;
+#endif
+
+static MultiScriptLanguage *script_multi_script=NULL;
+
+void register_script_types() {
+
+#ifdef GDSCRIPT_ENABLED
+
+ script_language_gd=memnew( GDScriptLanguage );
+ script_language_gd->init();
+ ScriptServer::register_language(script_language_gd);
+ ObjectTypeDB::register_type<GDScript>();
+ resource_loader_gd=memnew( ResourceFormatLoaderGDScript );
+ ResourceLoader::add_resource_format_loader(resource_loader_gd);
+ resource_saver_gd=memnew( ResourceFormatSaverGDScript );
+ ResourceSaver::add_resource_format_saver(resource_saver_gd);
+#endif
+
+
+ script_multi_script = memnew( MultiScriptLanguage );
+ ScriptServer::register_language(script_multi_script);
+ ObjectTypeDB::register_type<MultiScript>();
+
+
+}
+void unregister_script_types() {
+
+
+
+
+#ifdef GDSCRIPT_ENABLED
+ if (script_language_gd)
+ memdelete( script_language_gd );
+ if (resource_loader_gd)
+ memdelete( resource_loader_gd );
+ if (resource_saver_gd)
+ memdelete( resource_saver_gd );
+
+#endif
+
+ if (script_multi_script);
+ memdelete(script_multi_script);
+}