diff options
author | Dico <dico.karssiens@gmail.com> | 2018-09-24 08:38:25 +0100 |
---|---|---|
committer | Dico <dico.karssiens@gmail.com> | 2018-09-24 08:38:25 +0100 |
commit | 68a0bb0539bd0fde46bdeeaa4c6a9fe49ec1958a (patch) | |
tree | e82a2beea1e7e337d502c8c2a48e33dec083b135 /src/main/kotlin/io/dico/parcels2/defaultimpl/GlobalPrivilegesManagerImpl.kt | |
parent | a61e1d69b201434f3a4e83c877a041393a340001 (diff) |
Cleanup of privilege and listeners
Diffstat (limited to 'src/main/kotlin/io/dico/parcels2/defaultimpl/GlobalPrivilegesManagerImpl.kt')
-rw-r--r-- | src/main/kotlin/io/dico/parcels2/defaultimpl/GlobalPrivilegesManagerImpl.kt | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/src/main/kotlin/io/dico/parcels2/defaultimpl/GlobalPrivilegesManagerImpl.kt b/src/main/kotlin/io/dico/parcels2/defaultimpl/GlobalPrivilegesManagerImpl.kt index de9476b..5f8c4be 100644 --- a/src/main/kotlin/io/dico/parcels2/defaultimpl/GlobalPrivilegesManagerImpl.kt +++ b/src/main/kotlin/io/dico/parcels2/defaultimpl/GlobalPrivilegesManagerImpl.kt @@ -9,25 +9,25 @@ import java.util.Collections class GlobalPrivilegesManagerImpl(val plugin: ParcelsPlugin) : GlobalPrivilegesManager { private val map = mutableMapOf<PlayerProfile, GlobalPrivileges>() - override fun get(owner: PlayerProfile): GlobalPrivileges { + override fun get(owner: PlayerProfile.Real): GlobalPrivileges { return map[owner] ?: GlobalPrivilegesImpl(owner).also { map[owner] = it } } private inner class GlobalPrivilegesImpl( - override val owner: PlayerProfile, + override val keyOfOwner: PlayerProfile.Real, data: MutablePrivilegeMap = emptyData ) : PrivilegesHolder(data), GlobalPrivileges { private inline var data get() = map; set(value) = run { map = value } private inline val isEmpty get() = data === emptyData - override fun setPrivilege(key: PrivilegeKey, privilege: Privilege): Boolean { + override fun setStoredPrivilege(key: PrivilegeKey, privilege: Privilege): Boolean { if (isEmpty) { if (privilege == Privilege.DEFAULT) return false data = mutableMapOf() } - return super<PrivilegesHolder>.setPrivilege(key, privilege).alsoIfTrue { - plugin.storage.setGlobalPrivilege(owner, key, privilege) + return super.setStoredPrivilege(key, privilege).alsoIfTrue { + plugin.storage.setGlobalPrivilege(keyOfOwner, key, privilege) } } } |