From 2f782d7825d79a17b6a705dbeafd9d8956f72594 Mon Sep 17 00:00:00 2001 From: DBotThePony Date: Wed, 22 May 2024 18:59:13 +0700 Subject: [PATCH] NetworkedMap.markIndexDirty --- .../dbotthepony/kstarbound/network/syncher/NetworkedMap.kt | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/src/main/kotlin/ru/dbotthepony/kstarbound/network/syncher/NetworkedMap.kt b/src/main/kotlin/ru/dbotthepony/kstarbound/network/syncher/NetworkedMap.kt index 45e3ed90..504e98e2 100644 --- a/src/main/kotlin/ru/dbotthepony/kstarbound/network/syncher/NetworkedMap.kt +++ b/src/main/kotlin/ru/dbotthepony/kstarbound/network/syncher/NetworkedMap.kt @@ -77,6 +77,13 @@ class NetworkedMap( }) } + // forces re-network of specified index + fun markIndexDirty(index: K) { + if (index in this) { + backlog.add(currentVersion() to Entry(Action.ADD, KOptional(nativeKey.copy(index)), KOptional(nativeValue.copy(this[index] as V)))) // not null!! assert because V might be nullable + } + } + private val listeners = CopyOnWriteArrayList() private inner class Listener(val listener: ListenableMap.MapListener) : Listenable.L {