summaryrefslogtreecommitdiff
path: root/hello_signals/src/main/java
diff options
context:
space:
mode:
Diffstat (limited to 'hello_signals/src/main/java')
-rw-r--r--hello_signals/src/main/java/fhuyakou/godot/plugin/android/hellosignals/HelloSignalsPlugin.kt59
1 files changed, 0 insertions, 59 deletions
diff --git a/hello_signals/src/main/java/fhuyakou/godot/plugin/android/hellosignals/HelloSignalsPlugin.kt b/hello_signals/src/main/java/fhuyakou/godot/plugin/android/hellosignals/HelloSignalsPlugin.kt
deleted file mode 100644
index d6df7ef..0000000
--- a/hello_signals/src/main/java/fhuyakou/godot/plugin/android/hellosignals/HelloSignalsPlugin.kt
+++ /dev/null
@@ -1,59 +0,0 @@
-package fhuyakou.godot.plugin.android.hellosignals
-
-import android.util.Log
-import org.godotengine.godot.Godot
-import org.godotengine.godot.plugin.GodotPlugin
-import org.godotengine.godot.plugin.SignalInfo
-import org.godotengine.godot.plugin.UsedByGodot
-import java.util.concurrent.Executors
-import java.util.concurrent.ScheduledFuture
-import java.util.concurrent.TimeUnit
-
-/**
- * Exposes a [onButtonPressed] method to the game logic. Invoking the method starts a timer which
- * fires a `TikTok` signal every second. Invoking the method a second time stops the timer.
- */
-class HelloSignalsPlugin(godot: Godot) : GodotPlugin(godot) {
-
- companion object {
- val TAG = HelloSignalsPlugin::class.java.simpleName
- }
-
- private val tikTokSignalInfo = SignalInfo("TikTok")
- private var tikTokTask : ScheduledFuture<*>? = null
-
- override fun getPluginName() = "HelloSignals"
-
- override fun getPluginSignals(): Set<SignalInfo> {
- Log.i(TAG, "Registering $tikTokSignalInfo")
- return setOf(tikTokSignalInfo)
- }
-
- private fun startTikTok(): Boolean {
- if (tikTokTask == null || tikTokTask!!.isDone) {
- Log.i(TAG, "Starting tiktok...")
- tikTokTask = Executors.newSingleThreadScheduledExecutor()
- .scheduleAtFixedRate({ emitSignal(tikTokSignalInfo.name) }, 0, 1, TimeUnit.SECONDS)
- return true
- }
- return false
- }
-
- private fun stopTikTok() {
- if (tikTokTask != null) {
- if (!tikTokTask!!.isDone) {
- Log.i(TAG, "Stopping tiktok...")
- tikTokTask!!.cancel(true)
- }
- tikTokTask = null
- }
- }
-
- @UsedByGodot
- private fun onButtonPressed() {
- Log.i(TAG, "OnButtonPressed from Kotlin")
- if (!startTikTok()) {
- stopTikTok()
- }
- }
-}