mirror of
https://github.com/Card-Forge/forge.git
synced 2025-11-20 12:48:00 +00:00
- Fixed addChangedCardKeywords overwriting entries with same timestamp.
This commit is contained in:
@@ -4204,6 +4204,19 @@ public class Card extends GameEntity implements Comparable<Card> {
|
|||||||
public final void addChangedCardKeywords(final ArrayList<String> keywords, final ArrayList<String> removeKeywords,
|
public final void addChangedCardKeywords(final ArrayList<String> keywords, final ArrayList<String> removeKeywords,
|
||||||
final boolean removeAllKeywords, final long timestamp) {
|
final boolean removeAllKeywords, final long timestamp) {
|
||||||
|
|
||||||
|
// if the key already exists - merge entries
|
||||||
|
if (changedCardKeywords.containsKey(timestamp)) {
|
||||||
|
ArrayList<String> kws = keywords;
|
||||||
|
ArrayList<String> rkws = removeKeywords;
|
||||||
|
boolean remAll = removeAllKeywords;
|
||||||
|
CardKeywords cks = changedCardKeywords.get(timestamp);
|
||||||
|
kws.addAll(cks.getKeywords());
|
||||||
|
rkws.addAll(cks.getRemoveKeywords());
|
||||||
|
remAll |= cks.isRemoveAllKeywords();
|
||||||
|
this.changedCardKeywords.put(timestamp, new CardKeywords(kws, rkws, remAll));
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
this.changedCardKeywords.put(timestamp, new CardKeywords(keywords, removeKeywords, removeAllKeywords));
|
this.changedCardKeywords.put(timestamp, new CardKeywords(keywords, removeKeywords, removeAllKeywords));
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -4221,8 +4234,8 @@ public class Card extends GameEntity implements Comparable<Card> {
|
|||||||
*/
|
*/
|
||||||
public final void addChangedCardKeywords(final String[] keywords, final String[] removeKeywords,
|
public final void addChangedCardKeywords(final String[] keywords, final String[] removeKeywords,
|
||||||
final boolean removeAllKeywords, final long timestamp) {
|
final boolean removeAllKeywords, final long timestamp) {
|
||||||
ArrayList<String> keywordsList = null;
|
ArrayList<String> keywordsList = new ArrayList<String>();
|
||||||
ArrayList<String> removeKeywordsList = null;
|
ArrayList<String> removeKeywordsList = new ArrayList<String>();
|
||||||
if (keywords != null) {
|
if (keywords != null) {
|
||||||
keywordsList = new ArrayList<String>(Arrays.asList(keywords));
|
keywordsList = new ArrayList<String>(Arrays.asList(keywords));
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user