move getStateId from MagicCopyable back to MagicObject
parent
3a3b2254be
commit
f3e695eb38
|
@ -4,7 +4,4 @@ public interface MagicCopyable {
|
|||
default MagicCopyable copy(final MagicCopyMap copyMap) {
|
||||
return this;
|
||||
}
|
||||
default long getStateId() {
|
||||
return hashCode();
|
||||
}
|
||||
}
|
||||
|
|
|
@ -13,7 +13,7 @@ public class MagicInteger implements MagicCopyable {
|
|||
}
|
||||
|
||||
@Override
|
||||
public long getStateId() {
|
||||
public int hashCode() {
|
||||
return value;
|
||||
}
|
||||
|
||||
|
|
|
@ -25,5 +25,6 @@ public interface MagicObject extends MagicCopyable {
|
|||
boolean isFriend(final MagicObject other);
|
||||
boolean isEnemy(final MagicObject other);
|
||||
long getId();
|
||||
long getStateId();
|
||||
MagicCardDefinition getCardDefinition();
|
||||
}
|
||||
|
|
|
@ -34,7 +34,7 @@ public class MagicTuple implements MagicCopyable {
|
|||
}
|
||||
|
||||
@Override
|
||||
public long getStateId() {
|
||||
public int hashCode() {
|
||||
final long[] keys = new long[tuple.length];
|
||||
for (int i = 0; i < tuple.length; i++) {
|
||||
keys[i] = MagicObjectImpl.getStateId(tuple[i]);
|
||||
|
|
|
@ -4,7 +4,6 @@ import magic.model.MagicGame;
|
|||
import magic.model.MagicManaType;
|
||||
import magic.model.MagicCopyMap;
|
||||
import magic.model.MagicPlayer;
|
||||
import magic.model.MurmurHash3;
|
||||
import magic.model.event.MagicSourceManaActivation;
|
||||
import magic.model.event.MagicSourceManaActivationResult;
|
||||
|
||||
|
@ -153,19 +152,4 @@ public class MagicBuilderPayManaCostResult implements MagicPayManaCostResult, Co
|
|||
public long getId() {
|
||||
return hashCode;
|
||||
}
|
||||
|
||||
@Override
|
||||
public long getStateId() {
|
||||
final long[] keys = new long[results.length + 4];
|
||||
keys[0] = weight;
|
||||
keys[1] = count;
|
||||
keys[2] = x;
|
||||
keys[3] = hashCode;
|
||||
int idx = 4;
|
||||
for (final MagicSourceManaActivationResult res : results) {
|
||||
keys[idx] = res.getStateId();
|
||||
idx++;
|
||||
}
|
||||
return MurmurHash3.hash(keys);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -66,9 +66,4 @@ public class MagicCardChoiceResult extends ArrayList<MagicCard> implements Magic
|
|||
}
|
||||
return MurmurHash3.hash(keys);
|
||||
}
|
||||
|
||||
@Override
|
||||
public long getStateId() {
|
||||
return getId();
|
||||
}
|
||||
}
|
||||
|
|
|
@ -753,7 +753,6 @@ public class MagicEvent implements MagicCopyable {
|
|||
return "EVENT: " + source + " " + description + " " + (hasChoice() ? choice.getDescription() : "");
|
||||
}
|
||||
|
||||
@Override
|
||||
public long getStateId() {
|
||||
return MurmurHash3.hash(new long[] {
|
||||
//don't call getStateId if source is MagicItemOnStack to avoid infinite loop
|
||||
|
|
|
@ -38,9 +38,4 @@ public class MagicSourceManaActivationResult implements MagicCopyable, MagicMapp
|
|||
public long getId() {
|
||||
return permanent.getId() * 31 + activation.hashCode();
|
||||
}
|
||||
|
||||
@Override
|
||||
public long getStateId() {
|
||||
return permanent.getStateId() ^ activation.hashCode();
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue