This commit is contained in:
MarcinSc
2024-05-27 21:45:09 +07:00
parent 9b7091bcb8
commit f4866cc164
5 changed files with 22 additions and 42 deletions

View File

@@ -1,5 +0,0 @@
package com.gempukku.lotro.game;
public interface ICallback {
void Invoke();
}

View File

@@ -45,7 +45,7 @@ public class LotroCardBlueprintLibrary {
private final File _setDefsPath;
private final File _raritiesFolder;
private final List<ICallback> _refreshCallbacks = new ArrayList<>();
private final Set<Runnable> refreshCallbacks = new HashSet<>();
public LotroCardBlueprintLibrary() {
this(AppConfig.getCardsPath(), AppConfig.getMappingsPath(), AppConfig.getSetDefinitionsPath(), AppConfig.getResourceFile("rarities"));
@@ -67,22 +67,12 @@ public class LotroCardBlueprintLibrary {
collectionReady.release();
}
public boolean SubscribeToRefreshes(ICallback callback) {
if (_refreshCallbacks.contains(callback))
return false;
_refreshCallbacks.add(callback);
return true;
public boolean subscribeToRefreshes(Runnable callback) {
return refreshCallbacks.add(callback);
}
public boolean UnsubscribeFromRefreshes(ICallback callback) {
if (!_refreshCallbacks.contains(callback))
return false;
_refreshCallbacks.remove(callback);
return true;
public boolean unsubscribeFromRefreshes(Runnable callback) {
return refreshCallbacks.remove(callback);
}
public Map<String, SetDefinition> getSetDefinitions() {
@@ -104,8 +94,8 @@ public class LotroCardBlueprintLibrary {
errataMappings = null;
getErrata();
for (var callback : _refreshCallbacks) {
callback.Invoke();
for (var callback : refreshCallbacks) {
callback.run();
}
}

View File

@@ -8,7 +8,10 @@ import com.gempukku.lotro.packs.ProductLibrary;
import java.io.IOException;
import java.sql.SQLException;
import java.util.*;
import java.util.HashMap;
import java.util.LinkedList;
import java.util.List;
import java.util.Map;
import java.util.concurrent.locks.ReentrantReadWriteLock;
public class CollectionsManager {
@@ -38,12 +41,7 @@ public class CollectionsManager {
replacement.removeItem("1_1", 1);
_overwriteCollection = replacement;
_cardLibrary.SubscribeToRefreshes(new ICallback() {
@Override
public void Invoke() {
_defaultCollection = new CompleteCardCollection(_cardLibrary);
}
});
_cardLibrary.subscribeToRefreshes(() -> _defaultCollection = new CompleteCardCollection(_cardLibrary));
}
public CardCollection getCompleteCardCollection() {

View File

@@ -1,9 +1,11 @@
package com.gempukku.lotro.game;
package com.gempukku.lotro.library;
import com.gempukku.lotro.cards.build.InvalidCardDefinitionException;
import com.gempukku.lotro.cards.build.LotroCardBlueprintBuilder;
import com.gempukku.lotro.common.AppConfig;
import com.gempukku.lotro.common.JSONDefs;
import com.gempukku.lotro.game.CardNotFoundException;
import com.gempukku.lotro.game.LotroCardBlueprint;
import com.gempukku.lotro.game.packs.DefaultSetDefinition;
import com.gempukku.lotro.game.packs.SetDefinition;
import com.gempukku.lotro.logic.GameUtils;
@@ -49,7 +51,7 @@ public class LotroCardBlueprintLibrary2 {
private final File _setDefsPath;
private final File _raritiesFolder;
private final List<ICallback> _refreshCallbacks = new ArrayList<>();
private final List<Runnable> _refreshCallbacks = new ArrayList<>();
public LotroCardBlueprintLibrary2() {
this(AppConfig.getCardsPath(), AppConfig.getMappingsPath(), AppConfig.getSetDefinitionsPath(), AppConfig.getResourceFile("rarities"));
@@ -72,16 +74,11 @@ public class LotroCardBlueprintLibrary2 {
collectionReady.release();
}
public boolean SubscribeToRefreshes(ICallback callback) {
if(_refreshCallbacks.contains(callback))
return false;
_refreshCallbacks.add(callback);
return true;
public boolean SubscribeToRefreshes(Runnable callback) {
return _refreshCallbacks.add(callback);
}
public boolean UnsubscribeFromRefreshes(ICallback callback) {
public boolean UnsubscribeFromRefreshes(Runnable callback) {
if(!_refreshCallbacks.contains(callback))
return false;
@@ -110,7 +107,7 @@ public class LotroCardBlueprintLibrary2 {
getErrata();
for(var callback : _refreshCallbacks) {
callback.Invoke();
callback.run();
}
}

View File

@@ -4,7 +4,6 @@ import com.gempukku.lotro.at.AbstractAtTest;
import com.gempukku.lotro.common.CardType;
import com.gempukku.lotro.game.CardNotFoundException;
import com.gempukku.lotro.game.LotroCardBlueprint;
import com.gempukku.lotro.game.LotroCardBlueprintLibrary2;
import com.gempukku.lotro.logic.GameUtils;
import org.junit.Test;
@@ -13,7 +12,8 @@ import java.util.HashSet;
import java.util.Map;
import java.util.Set;
import static org.junit.Assert.*;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertTrue;
public class LotroCardBlueprintLibraryTests extends AbstractAtTest {
@Test