mirror of
https://github.com/Card-Forge/forge.git
synced 2025-11-20 04:38:00 +00:00
fix rerun when POI placement failed
- update RewardActor image
This commit is contained in:
@@ -424,7 +424,7 @@ public class RewardScene extends UIScene {
|
||||
if (lastRowCount != 0)
|
||||
lastRowXAdjust = ((numberOfColumns * cardWidth) - (lastRowCount * cardWidth)) / 2;
|
||||
}
|
||||
RewardActor actor = new RewardActor(reward, type == Type.Loot);
|
||||
RewardActor actor = new RewardActor(reward, type == Type.Loot, type);
|
||||
actor.setBounds(lastRowXAdjust + xOff + cardWidth * (i % numberOfColumns) + spacing, yOff + cardHeight * currentRow + spacing, cardWidth - spacing * 2, cardHeight - spacing * 2);
|
||||
|
||||
if (type == Type.Shop) {
|
||||
|
||||
@@ -387,7 +387,7 @@ public class SpellSmithScene extends UIScene {
|
||||
if (Current.player().getGold() < currentPrice) pullUsingGold.setDisabled(true);
|
||||
if (Current.player().getShards() < currentShardPrice) pullUsingShards.setDisabled(true);
|
||||
if (rewardActor != null) rewardActor.remove();
|
||||
rewardActor = new RewardActor(R, true);
|
||||
rewardActor = new RewardActor(R, true, null);
|
||||
rewardActor.flip(); //Make it flip so it draws visual attention, why not.
|
||||
rewardActor.setBounds(rewardDummy.getX(), rewardDummy.getY(), rewardDummy.getWidth(), rewardDummy.getHeight());
|
||||
stage.addActor(rewardActor);
|
||||
|
||||
@@ -165,7 +165,7 @@ public class RewardActor extends Actor implements Disposable, ImageFetcher.Callb
|
||||
Gdx.graphics.requestRendering();
|
||||
}
|
||||
|
||||
public RewardActor(Reward reward, boolean flippable) {
|
||||
public RewardActor(Reward reward, boolean flippable, RewardScene.Type type) {
|
||||
this.flipOnClick = flippable;
|
||||
this.reward = reward;
|
||||
if (backTexture == null) {
|
||||
@@ -284,7 +284,8 @@ public class RewardActor extends Actor implements Disposable, ImageFetcher.Callb
|
||||
}
|
||||
Sprite item = reward.getItem().sprite();
|
||||
setItemTooltips(item, backSprite);
|
||||
processSprite(backSprite, item, null, 0, 0);
|
||||
boolean isQuestItemLoot = RewardScene.Type.Loot.equals(type) && reward.getItem().questItem;
|
||||
processSprite(backSprite, item, isQuestItemLoot ? Controls.newTextraLabel("[%]" + reward.getItem().name) : null, 0, -10);
|
||||
needsToBeDisposed = true;
|
||||
break;
|
||||
}
|
||||
@@ -295,8 +296,9 @@ public class RewardActor extends Actor implements Disposable, ImageFetcher.Callb
|
||||
Sprite backSprite = atlas.createSprite("CardBack");
|
||||
Sprite item = atlas.createSprite(reward.type.toString());
|
||||
setItemTooltips(item, backSprite);
|
||||
processSprite(backSprite, item,
|
||||
Controls.newTextraLabel("[%200]" + reward.getCount()), 0, -10);
|
||||
boolean isShop = RewardScene.Type.Shop.equals(type);
|
||||
processSprite(backSprite, item, isShop ? null :
|
||||
Controls.newTextraLabel("[%]" + reward.getCount() + " " + reward.type), 0, isShop ? 0 : -10);
|
||||
needsToBeDisposed = true;
|
||||
break;
|
||||
}
|
||||
@@ -551,8 +553,10 @@ public class RewardActor extends Actor implements Disposable, ImageFetcher.Callb
|
||||
description = item.getDescription();
|
||||
layout.reset();
|
||||
} else {
|
||||
description = "Adds " + String.valueOf(getReward().getCount()) + " " + getReward().type;
|
||||
description = "Adds " + getReward().getCount() + " " + getReward().type;
|
||||
}
|
||||
if (description.isEmpty() && item.questItem)
|
||||
description = "Quest Item";
|
||||
getGraphics().end();
|
||||
getGraphics().endClip();
|
||||
Pixmap pixmap = Pixmap.createFromFrameBuffer(0, 0, preview_w, preview_h);
|
||||
|
||||
@@ -444,6 +444,7 @@ public class World implements Disposable, SaveFileContent {
|
||||
clearTerrain((int) (data.width * data.playerStartPosX), (int) (data.height * data.playerStartPosY), 10);
|
||||
//otherPoints.add(new Rectangle(((float) data.width * data.playerStartPosX * (float) data.tileSize) - data.tileSize * 3, ((float) data.height * data.playerStartPosY * data.tileSize) - data.tileSize * 3, data.tileSize * 6, data.tileSize * 6));
|
||||
boolean running = true;
|
||||
here:
|
||||
while (running) {
|
||||
mapPoiIds = new PointOfInterestMap(getChunkSize(), data.tileSize, data.width / getChunkSize(), data.height / getChunkSize());
|
||||
int biomeIndex2 = -1;
|
||||
@@ -505,6 +506,11 @@ public class World implements Disposable, SaveFileContent {
|
||||
if (counter == 499) {
|
||||
System.err.print("Can not place POI " + poi.name + "...Rerunning..\n");
|
||||
running = true;
|
||||
towns.clear();
|
||||
notTowns.clear();
|
||||
otherPoints.clear();
|
||||
clearTerrain((int) (data.width * data.playerStartPosX), (int) (data.height * data.playerStartPosY), 10);
|
||||
continue here;
|
||||
}
|
||||
continue;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user