summaryrefslogtreecommitdiff
path: root/plugins/hello_world/demo
diff options
context:
space:
mode:
Diffstat (limited to 'plugins/hello_world/demo')
-rw-r--r--plugins/hello_world/demo/addons/.gitignore2
-rw-r--r--plugins/hello_world/demo/addons/hello_world_plugin/hello_world_export_plugin.gd33
-rw-r--r--plugins/hello_world/demo/addons/hello_world_plugin/hello_world_plugin_interface.gd18
-rw-r--r--plugins/hello_world/demo/addons/hello_world_plugin/plugin.cfg7
4 files changed, 59 insertions, 1 deletions
diff --git a/plugins/hello_world/demo/addons/.gitignore b/plugins/hello_world/demo/addons/.gitignore
index d6b7ef3..f448769 100644
--- a/plugins/hello_world/demo/addons/.gitignore
+++ b/plugins/hello_world/demo/addons/.gitignore
@@ -1,2 +1,2 @@
-*
+bin
!.gitignore
diff --git a/plugins/hello_world/demo/addons/hello_world_plugin/hello_world_export_plugin.gd b/plugins/hello_world/demo/addons/hello_world_plugin/hello_world_export_plugin.gd
new file mode 100644
index 0000000..7158c03
--- /dev/null
+++ b/plugins/hello_world/demo/addons/hello_world_plugin/hello_world_export_plugin.gd
@@ -0,0 +1,33 @@
+@tool
+extends EditorPlugin
+
+# A class member to hold the export plugin during its lifecycle.
+var export_plugin : AndroidExportPlugin
+
+func _enter_tree():
+ # Initialization of the plugin goes here.
+ export_plugin = AndroidExportPlugin.new()
+ add_export_plugin(export_plugin)
+
+
+func _exit_tree():
+ # Clean-up of the plugin goes here.
+ remove_export_plugin(export_plugin)
+ export_plugin = null
+
+
+class AndroidExportPlugin extends EditorExportPlugin:
+
+ func _supports_platform(platform):
+ if platform is EditorExportPlatformAndroid:
+ return true
+ return false
+
+ func _get_android_libraries(platform, debug):
+ if debug:
+ return PackedStringArray(["hello_world_plugin/bin/debug/HelloWorld.debug.aar"])
+ else:
+ return PackedStringArray(["hello_world_plugin/bin/release/HelloWorld.release.aar"])
+
+ func _get_name():
+ return "HelloWorldPlugin"
diff --git a/plugins/hello_world/demo/addons/hello_world_plugin/hello_world_plugin_interface.gd b/plugins/hello_world/demo/addons/hello_world_plugin/hello_world_plugin_interface.gd
new file mode 100644
index 0000000..ed84ef3
--- /dev/null
+++ b/plugins/hello_world/demo/addons/hello_world_plugin/hello_world_plugin_interface.gd
@@ -0,0 +1,18 @@
+class_name HelloWorldPlugin extends Object
+
+## Interface used to access the functionality provided by this plugin
+
+var _hello_world_singleton
+
+func _init():
+ if Engine.has_singleton("HelloWorld"):
+ _hello_world_singleton = Engine.get_singleton("HelloWorld")
+ else:
+ printerr("Initialization error: unable to access the java logic")
+
+## Toggle between showing and hiding the hello world text
+func helloWorld():
+ if _hello_world_singleton:
+ _hello_world_singleton.helloWorld()
+ else:
+ printerr("Initialization error")
diff --git a/plugins/hello_world/demo/addons/hello_world_plugin/plugin.cfg b/plugins/hello_world/demo/addons/hello_world_plugin/plugin.cfg
new file mode 100644
index 0000000..f83f716
--- /dev/null
+++ b/plugins/hello_world/demo/addons/hello_world_plugin/plugin.cfg
@@ -0,0 +1,7 @@
+[plugin]
+
+name="HelloWorldPlugin"
+description="Sample to showcase how to package a Godot Android plugin "
+author="Fredia Huya-Kouadio (m4gr3d)"
+version=""
+script="hello_world_export_plugin.gd"