Skip to content

Commit

Permalink
refactor CircleManager
Browse files Browse the repository at this point in the history
  • Loading branch information
UrAvgCode committed Feb 24, 2025
1 parent 82a1916 commit 44a2d9c
Showing 1 changed file with 7 additions and 18 deletions.
25 changes: 7 additions & 18 deletions app/src/main/java/com/uravgcode/chooser/utilities/CircleManager.kt
Original file line number Diff line number Diff line change
Expand Up @@ -32,30 +32,19 @@ class CircleManager : MutableMap<Int, Circle> {
override val values: MutableCollection<Circle> get() = activeCircles.values
override fun get(key: Int): Circle? = activeCircles[key]
override fun isEmpty(): Boolean = activeCircles.isEmpty()
override fun containsValue(value: Circle): Boolean = activeCircles.containsValue(value)
override fun containsKey(key: Int): Boolean = activeCircles.containsKey(key)

override fun putAll(from: Map<out Int, Circle>) {
activeCircles.putAll(from)
}

override fun put(key: Int, value: Circle): Circle? {
val previousValue = activeCircles[key]
activeCircles[key] = value
return previousValue
}
override fun containsValue(value: Circle): Boolean = activeCircles.containsValue(value)
override fun put(key: Int, value: Circle): Circle? = activeCircles.put(key, value)
override fun putAll(from: Map<out Int, Circle>) = activeCircles.putAll(from)
override fun clear() = activeCircles.clear()

override fun remove(key: Int): Circle? {
return activeCircles.remove(key)?.apply {
removeFinger()
deadCircles += this
return activeCircles.remove(key)?.also {
it.removeFinger()
deadCircles += it
}
}

override fun clear() {
activeCircles.clear()
}

fun update(deltaTime: Int) {
activeCircles.forEach { (_, circle) -> circle.update(deltaTime) }
deadCircles.forEach { it.update(deltaTime) }
Expand Down

0 comments on commit 44a2d9c

Please sign in to comment.