summaryrefslogtreecommitdiff
path: root/plugins/hello_world/demo/addons
diff options
context:
space:
mode:
authorFredia Huya-Kouadio <fhuya@meta.com>2023-11-26 21:30:48 -0800
committerGitHub <noreply@github.com>2023-11-26 21:30:48 -0800
commitc8ef744880f82855cff68d941980fb399c4b2212 (patch)
treee26fca3a65bf4ce1b2ed76e6814b3c7419388868 /plugins/hello_world/demo/addons
parent09386ad9c0070fcaa47262ea6a73542cf8fa2d57 (diff)
parentf32f5b0022629454e135e3dae3c88d5f2a022466 (diff)
downloadgodot-android-samples-c8ef744880f82855cff68d941980fb399c4b2212.tar.gz
godot-android-samples-c8ef744880f82855cff68d941980fb399c4b2212.tar.bz2
godot-android-samples-c8ef744880f82855cff68d941980fb399c4b2212.zip
Merge pull request #5 from m4gr3d/fix_export_scripts_packaging
Update the logic to package the plugins
Diffstat (limited to 'plugins/hello_world/demo/addons')
-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"