diff options
Diffstat (limited to 'hello_signals/src/main/java')
-rw-r--r-- | hello_signals/src/main/java/fhuyakou/godot/plugin/android/hellosignals/HelloSignalsPlugin.kt | 59 |
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() - } - } -} |