Skip to content

Commit f36080e

Browse files
committed
Upload all token overlay (state/bar) assets whenever adding a state or bar
1 parent c5ca218 commit f36080e

5 files changed

Lines changed: 21 additions & 0 deletions

File tree

src/main/java/net/rptools/maptool/client/MapToolUtil.java

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@
1616

1717
import java.awt.Color;
1818
import java.security.SecureRandom;
19+
import java.util.Collection;
1920
import java.util.HashMap;
2021
import java.util.Map;
2122
import java.util.Random;
@@ -24,6 +25,7 @@
2425
import java.util.concurrent.atomic.AtomicInteger;
2526
import java.util.regex.Matcher;
2627
import java.util.regex.Pattern;
28+
import net.rptools.lib.MD5Key;
2729
import net.rptools.lib.StringUtil;
2830
import net.rptools.maptool.client.utilities.RandomSuffixFactory;
2931
import net.rptools.maptool.language.I18N;
@@ -265,6 +267,15 @@ public static Set<String> getColorNames() {
265267
return COLOR_MAP.keySet();
266268
}
267269

270+
public static void uploadAssetIds(Collection<MD5Key> assetIds) {
271+
for (var assetId : assetIds) {
272+
var asset = AssetManager.getAsset(assetId);
273+
if (asset != null) {
274+
uploadAsset(asset);
275+
}
276+
}
277+
}
278+
268279
public static void uploadTexture(DrawablePaint paint) {
269280
if (paint == null) {
270281
return;

src/main/java/net/rptools/maptool/client/macro/impl/AddTokenStateMacro.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -118,7 +118,9 @@ public void execute(MacroContext context, String aMacro, MapToolMacroContext exe
118118
MapTool.addLocalMessage(e.getMessage());
119119
return;
120120
}
121+
MapToolUtil.uploadAssetIds(tokenOverlay.getAssetIds());
121122
MapTool.getCampaign().getTokenStatesMap().put(tokenOverlay.getName(), tokenOverlay);
123+
122124
MapTool.addLocalMessage(I18N.getText("addtokenstate.added", tokenOverlay.getName()));
123125
}
124126

src/main/java/net/rptools/maptool/client/macro/impl/LoadTokenStatesMacro.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,7 @@
2323
import javax.swing.JFileChooser;
2424
import net.rptools.maptool.client.MapTool;
2525
import net.rptools.maptool.client.MapToolMacroContext;
26+
import net.rptools.maptool.client.MapToolUtil;
2627
import net.rptools.maptool.client.macro.Macro;
2728
import net.rptools.maptool.client.macro.MacroContext;
2829
import net.rptools.maptool.client.macro.MacroDefinition;
@@ -72,6 +73,7 @@ public void execute(MacroContext context, String macro, MapToolMacroContext exec
7273
List<BooleanTokenOverlay> overlays = (List<BooleanTokenOverlay>) decoder.readObject();
7374
decoder.close();
7475
for (BooleanTokenOverlay overlay : overlays) {
76+
MapToolUtil.uploadAssetIds(overlay.getAssetIds());
7577
MapTool.getCampaign().getTokenStatesMap().put(overlay.getName(), overlay);
7678
} // endfor
7779
MapTool.addLocalMessage(I18N.getText("loadtokenstates.loaded", overlays.size()));

src/main/java/net/rptools/maptool/client/ui/campaignproperties/TokenBarController.java

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -42,6 +42,7 @@
4242
import net.rptools.lib.MD5Key;
4343
import net.rptools.maptool.client.AppConstants;
4444
import net.rptools.maptool.client.AppPreferences;
45+
import net.rptools.maptool.client.MapToolUtil;
4546
import net.rptools.maptool.client.swing.AbeillePanel;
4647
import net.rptools.maptool.client.swing.ColorWell;
4748
import net.rptools.maptool.client.ui.PreviewPanelFileChooser;
@@ -731,6 +732,8 @@ public void copyUIToCampaign(Campaign campaign) {
731732
BarTokenOverlay overlay = model.getElementAt(i);
732733
overlay.setOrder(i);
733734
states.put(overlay.getName(), overlay);
735+
736+
MapToolUtil.uploadAssetIds(overlay.getAssetIds());
734737
}
735738
campaign.getTokenBarsMap().clear();
736739
campaign.getTokenBarsMap().putAll(states);

src/main/java/net/rptools/maptool/client/ui/campaignproperties/TokenStatesController.java

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,7 @@
3131
import net.rptools.lib.StringUtil;
3232
import net.rptools.maptool.client.AppConstants;
3333
import net.rptools.maptool.client.AppPreferences;
34+
import net.rptools.maptool.client.MapToolUtil;
3435
import net.rptools.maptool.client.swing.AbeillePanel;
3536
import net.rptools.maptool.client.swing.ColorWell;
3637
import net.rptools.maptool.client.ui.PreviewPanelFileChooser;
@@ -679,6 +680,8 @@ public void copyUIToCampaign(Campaign campaign) {
679680
BooleanTokenOverlay overlay = (BooleanTokenOverlay) model.getElementAt(i);
680681
overlay.setOrder(i);
681682
states.put(overlay.getName(), overlay);
683+
684+
MapToolUtil.uploadAssetIds(overlay.getAssetIds());
682685
}
683686
campaign.getTokenStatesMap().clear();
684687
campaign.getTokenStatesMap().putAll(states);

0 commit comments

Comments
 (0)