summaryrefslogtreecommitdiff
path: root/src/main/kotlin/io/dico/parcels2/defaultimpl/GlobalAddedDataManagerImpl.kt
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/kotlin/io/dico/parcels2/defaultimpl/GlobalAddedDataManagerImpl.kt')
-rw-r--r--src/main/kotlin/io/dico/parcels2/defaultimpl/GlobalAddedDataManagerImpl.kt15
1 files changed, 7 insertions, 8 deletions
diff --git a/src/main/kotlin/io/dico/parcels2/defaultimpl/GlobalAddedDataManagerImpl.kt b/src/main/kotlin/io/dico/parcels2/defaultimpl/GlobalAddedDataManagerImpl.kt
index 1ac053f..ba54375 100644
--- a/src/main/kotlin/io/dico/parcels2/defaultimpl/GlobalAddedDataManagerImpl.kt
+++ b/src/main/kotlin/io/dico/parcels2/defaultimpl/GlobalAddedDataManagerImpl.kt
@@ -3,33 +3,32 @@
package io.dico.parcels2.defaultimpl
import io.dico.parcels2.*
+import io.dico.parcels2.util.alsoIfTrue
import java.util.Collections
-import java.util.UUID
class GlobalAddedDataManagerImpl(val plugin: ParcelsPlugin) : GlobalAddedDataManager {
- private val map = mutableMapOf<ParcelOwner, GlobalAddedData>()
+ private val map = mutableMapOf<PlayerProfile, GlobalAddedData>()
- override fun get(owner: ParcelOwner): GlobalAddedData {
+ override fun get(owner: PlayerProfile): GlobalAddedData {
return map[owner] ?: GlobalAddedDataImpl(owner).also { map[owner] = it }
}
- private inner class GlobalAddedDataImpl(override val owner: ParcelOwner,
+ private inner class GlobalAddedDataImpl(override val owner: PlayerProfile,
data: MutableAddedDataMap = emptyData)
: AddedDataHolder(data), GlobalAddedData {
private inline var data get() = addedMap; set(value) = run { addedMap = value }
private inline val isEmpty get() = data === emptyData
- override fun setAddedStatus(uuid: UUID, status: AddedStatus): Boolean {
+ override fun setAddedStatus(key: StatusKey, status: AddedStatus): Boolean {
if (isEmpty) {
if (status == AddedStatus.DEFAULT) return false
data = mutableMapOf()
}
- return super.setAddedStatus(uuid, status).also {
- if (it) plugin.storage.setGlobalAddedStatus(owner, uuid, status)
+ return super.setAddedStatus(key, status).alsoIfTrue {
+ plugin.storage.setGlobalAddedStatus(owner, key, status)
}
}
-
}
private companion object {