First commit of group-ironmen-tracker-master

This commit is contained in:
2025-10-27 08:28:05 +08:00
parent a8467389ef
commit b80f09a4ea
32 changed files with 2249 additions and 2 deletions

View File

@@ -0,0 +1,45 @@
package men.groupiron;
import java.util.Map;
public class DepositedItems {
private ItemContainerState items = null;
private ItemContainerState consumedItems = null;
public DepositedItems() {
}
public synchronized void update(ItemContainerState deposited) {
if (deposited == null) return;
if (items == null || !deposited.whoOwnsThis().equals(items.whoOwnsThis())) {
items = deposited;
} else {
items = items.add(deposited);
}
}
public synchronized void consumeState(Map<String, Object> output) {
if (items != null) {
final String whoOwnsThis = items.whoOwnsThis();
final String whoIsUpdating = (String) output.get("name");
if (whoOwnsThis != null && whoOwnsThis.equals(whoIsUpdating)) output.put("deposited", items.get());
}
consumedItems = items;
items = null;
}
public synchronized void restoreState() {
if (consumedItems == null) return;
if (items != null) {
items = items.add(consumedItems);
} else {
items = consumedItems;
}
consumedItems = null;
}
public synchronized void reset() {
items = null;
consumedItems = null;
}
}