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.kt38
1 files changed, 0 insertions, 38 deletions
diff --git a/src/main/kotlin/io/dico/parcels2/defaultimpl/GlobalAddedDataManagerImpl.kt b/src/main/kotlin/io/dico/parcels2/defaultimpl/GlobalAddedDataManagerImpl.kt
deleted file mode 100644
index ad7048c..0000000
--- a/src/main/kotlin/io/dico/parcels2/defaultimpl/GlobalAddedDataManagerImpl.kt
+++ /dev/null
@@ -1,38 +0,0 @@
-@file:Suppress("UNCHECKED_CAST")
-
-package io.dico.parcels2.defaultimpl
-
-import io.dico.parcels2.*
-import io.dico.parcels2.util.ext.alsoIfTrue
-import java.util.Collections
-
-class GlobalAddedDataManagerImpl(val plugin: ParcelsPlugin) : GlobalAddedDataManager {
- private val map = mutableMapOf<PlayerProfile, GlobalAddedData>()
-
- override fun get(owner: PlayerProfile): GlobalAddedData {
- return map[owner] ?: GlobalAddedDataImpl(owner).also { map[owner] = it }
- }
-
- 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 setStatus(key: StatusKey, status: AddedStatus): Boolean {
- if (isEmpty) {
- if (status == AddedStatus.DEFAULT) return false
- data = mutableMapOf()
- }
- return super.setStatus(key, status).alsoIfTrue {
- plugin.storage.setGlobalAddedStatus(owner, key, status)
- }
- }
- }
-
- private companion object {
- val emptyData = Collections.emptyMap<Any, Any>() as MutableAddedDataMap
- }
-
-} \ No newline at end of file