aboutsummaryrefslogtreecommitdiff
path: root/src/main/kotlin/moe/nea/firmament/features/world/NpcWaypointGui.kt
diff options
context:
space:
mode:
authorLinnea Gräf <nea@nea.moe>2024-08-28 19:04:24 +0200
committerLinnea Gräf <nea@nea.moe>2024-08-28 19:04:24 +0200
commitd2f240ff0ca0d27f417f837e706c781a98c31311 (patch)
tree0db7aff6cc14deaf36eed83889d59fd6b3a6f599 /src/main/kotlin/moe/nea/firmament/features/world/NpcWaypointGui.kt
parenta6906308163aa3b2d18fa1dc1aa71ac9bbcc83ab (diff)
downloadfirmament-d2f240ff0ca0d27f417f837e706c781a98c31311.tar.gz
firmament-d2f240ff0ca0d27f417f837e706c781a98c31311.tar.bz2
firmament-d2f240ff0ca0d27f417f837e706c781a98c31311.zip
Refactor source layout
Introduce compat source sets and move all kotlin sources to the main directory [no changelog]
Diffstat (limited to 'src/main/kotlin/moe/nea/firmament/features/world/NpcWaypointGui.kt')
-rw-r--r--src/main/kotlin/moe/nea/firmament/features/world/NpcWaypointGui.kt68
1 files changed, 0 insertions, 68 deletions
diff --git a/src/main/kotlin/moe/nea/firmament/features/world/NpcWaypointGui.kt b/src/main/kotlin/moe/nea/firmament/features/world/NpcWaypointGui.kt
deleted file mode 100644
index 6146e50..0000000
--- a/src/main/kotlin/moe/nea/firmament/features/world/NpcWaypointGui.kt
+++ /dev/null
@@ -1,68 +0,0 @@
-package moe.nea.firmament.features.world
-
-import io.github.notenoughupdates.moulconfig.observer.ObservableList
-import io.github.notenoughupdates.moulconfig.xml.Bind
-import moe.nea.firmament.features.events.anniversity.AnniversaryFeatures.atOnce
-import moe.nea.firmament.keybindings.SavedKeyBinding
-
-class NpcWaypointGui(
- val allWaypoints: List<NavigableWaypoint>,
-) {
-
- data class NavigableWaypointW(val waypoint: NavigableWaypoint) {
- @Bind
- fun name() = waypoint.name
-
- @Bind
- fun isSelected() = NavigationHelper.targetWaypoint == waypoint
-
- @Bind
- fun click() {
- if (SavedKeyBinding.isShiftDown()) {
- NavigationHelper.targetWaypoint = waypoint
- NavigationHelper.tryWarpNear()
- } else if (isSelected()) {
- NavigationHelper.targetWaypoint = null
- } else {
- NavigationHelper.targetWaypoint = waypoint
- }
- }
- }
-
- @JvmField
- @field:Bind
- var search: String = ""
- var lastSearch: String? = null
-
- @Bind("results")
- fun results(): ObservableList<NavigableWaypointW> {
- return results
- }
-
- @Bind
- fun tick() {
- if (search != lastSearch) {
- updateSearch()
- lastSearch = search
- }
- }
-
- val results: ObservableList<NavigableWaypointW> = ObservableList(mutableListOf())
-
- fun updateSearch() {
- val split = search.split(" +".toRegex())
- results.atOnce {
- results.clear()
- allWaypoints.filter { waypoint ->
- if (search.isBlank()) {
- true
- } else {
- split.all { waypoint.name.contains(it, ignoreCase = true) }
- }
- }.mapTo(results) {
- NavigableWaypointW(it)
- }
- }
- }
-
-}