aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/kr/syeyoung/dungeonsguide/dungeon/actions/tree
diff options
context:
space:
mode:
authorsyeyoung <42869671+cyoung06@users.noreply.github.com>2020-12-15 01:23:36 +0900
committersyeyoung <42869671+cyoung06@users.noreply.github.com>2020-12-15 01:23:36 +0900
commitc4448fea149d2638f126813deba6406a7a15d67d (patch)
tree7701c48f47dc95644acfae4756596b6b9a089dff /src/main/java/kr/syeyoung/dungeonsguide/dungeon/actions/tree
parent496efb764360cd26fa40982532048aa18ae4c6be (diff)
downloadSkyblock-Dungeons-Guide-c4448fea149d2638f126813deba6406a7a15d67d.tar.gz
Skyblock-Dungeons-Guide-c4448fea149d2638f126813deba6406a7a15d67d.tar.bz2
Skyblock-Dungeons-Guide-c4448fea149d2638f126813deba6406a7a15d67d.zip
predicate equals and more edits
Diffstat (limited to 'src/main/java/kr/syeyoung/dungeonsguide/dungeon/actions/tree')
-rw-r--r--src/main/java/kr/syeyoung/dungeonsguide/dungeon/actions/tree/ActionTree.java6
1 files changed, 6 insertions, 0 deletions
diff --git a/src/main/java/kr/syeyoung/dungeonsguide/dungeon/actions/tree/ActionTree.java b/src/main/java/kr/syeyoung/dungeonsguide/dungeon/actions/tree/ActionTree.java
index 1db6767c..334f7c2b 100644
--- a/src/main/java/kr/syeyoung/dungeonsguide/dungeon/actions/tree/ActionTree.java
+++ b/src/main/java/kr/syeyoung/dungeonsguide/dungeon/actions/tree/ActionTree.java
@@ -4,6 +4,7 @@ import kr.syeyoung.dungeonsguide.dungeon.actions.Action;
import kr.syeyoung.dungeonsguide.dungeon.actions.ActionRoot;
import kr.syeyoung.dungeonsguide.dungeon.roomfinder.DungeonRoom;
import lombok.Data;
+import lombok.EqualsAndHashCode;
import java.util.HashMap;
import java.util.HashSet;
@@ -12,10 +13,14 @@ import java.util.Set;
@Data
public class ActionTree {
+ @EqualsAndHashCode.Exclude
private ActionTree parent;
private Action current;
private Set<ActionTree> children;
+ @Override
+ public int hashCode() { return current == null ? 0 : current.hashCode(); }
+
public static ActionTree buildActionTree(Set<Action> actions, DungeonRoom dungeonRoom) {
ActionRoot root = new ActionRoot();
@@ -31,6 +36,7 @@ public class ActionTree {
return tree;
}
+
private static ActionTree buildActionTree(ActionTree parent, Action action, DungeonRoom dungeonRoom, Map<Action, ActionTree> alreadyBuilt) {
if (action == null) return null;
if (alreadyBuilt.containsKey(action)) return alreadyBuilt.get(action);