mirror of
https://github.com/Card-Forge/forge.git
synced 2025-11-19 20:28:00 +00:00
update GameHUD, RewardActor, MapDialog
- prevent double Music - add flip icon indicator to RewardCard - fadein upon completion of voice dialog
This commit is contained in:
@@ -153,12 +153,7 @@ public class GuiMobile implements IGuiBase {
|
|||||||
@Override
|
@Override
|
||||||
public void showImageDialog(final ISkinImage image, final String message, final String title) {
|
public void showImageDialog(final ISkinImage image, final String message, final String title) {
|
||||||
if (Forge.isMobileAdventureMode) {
|
if (Forge.isMobileAdventureMode) {
|
||||||
FThreads.invokeInEdtNowOrLater(new Runnable() {
|
FThreads.invokeInEdtNowOrLater(() -> MapStage.getInstance().showImageDialog("Achievement Earned\n"+message, (FBufferedImage)image));
|
||||||
@Override
|
|
||||||
public void run() {
|
|
||||||
MapStage.getInstance().showImageDialog("Achievement Earned\n"+message, (FBufferedImage)image);
|
|
||||||
}
|
|
||||||
});
|
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
new WaitCallback<Integer>() {
|
new WaitCallback<Integer>() {
|
||||||
|
|||||||
@@ -347,8 +347,8 @@ public class GameHUD extends Stage {
|
|||||||
restorePlayerCollision();
|
restorePlayerCollision();
|
||||||
if (openMapActor != null) {
|
if (openMapActor != null) {
|
||||||
String val = "[%80]" + Forge.getLocalizer().getMessageorUseDefault("lblZoom", "Zoom");
|
String val = "[%80]" + Forge.getLocalizer().getMessageorUseDefault("lblZoom", "Zoom");
|
||||||
for (AdventureQuestData adq: Current.player().getQuests()) {
|
for (AdventureQuestData adq : Current.player().getQuests()) {
|
||||||
if (adq.getTargetPOI() !=null) {
|
if (adq.getTargetPOI() != null) {
|
||||||
val = "[%80][+GPS] " + Forge.getLocalizer().getMessageorUseDefault("lblZoom", "Zoom");
|
val = "[%80][+GPS] " + Forge.getLocalizer().getMessageorUseDefault("lblZoom", "Zoom");
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
@@ -357,12 +357,14 @@ public class GameHUD extends Stage {
|
|||||||
openMapActor.layout();
|
openMapActor.layout();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void clearAbility() {
|
void clearAbility() {
|
||||||
for (TextraButton button : abilityButtonMap) {
|
for (TextraButton button : abilityButtonMap) {
|
||||||
button.remove();
|
button.remove();
|
||||||
}
|
}
|
||||||
abilityButtonMap.clear();
|
abilityButtonMap.clear();
|
||||||
}
|
}
|
||||||
|
|
||||||
void updateAbility() {
|
void updateAbility() {
|
||||||
clearAbility();
|
clearAbility();
|
||||||
setAbilityButton(AdventurePlayer.current().getEquippedAbility1());
|
setAbilityButton(AdventurePlayer.current().getEquippedAbility1());
|
||||||
@@ -406,6 +408,7 @@ public class GameHUD extends Stage {
|
|||||||
playAudio();
|
playAudio();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public void playAudio() {
|
public void playAudio() {
|
||||||
switch (GameScene.instance().getAdventurePlayerLocation(false, false)) {
|
switch (GameScene.instance().getAdventurePlayerLocation(false, false)) {
|
||||||
case "capital":
|
case "capital":
|
||||||
@@ -435,6 +438,12 @@ public class GameHUD extends Stage {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public boolean audioIsPlaying() {
|
||||||
|
if (audio == null)
|
||||||
|
return false;
|
||||||
|
return audio.getRight().isPlaying();
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void act(float delta) {
|
public void act(float delta) {
|
||||||
super.act(delta);
|
super.act(delta);
|
||||||
@@ -610,6 +619,7 @@ public class GameHUD extends Stage {
|
|||||||
}
|
}
|
||||||
opacity = visible ? 1f : 0.4f;
|
opacity = visible ? 1f : 0.4f;
|
||||||
}
|
}
|
||||||
|
|
||||||
void toggleConsole() {
|
void toggleConsole() {
|
||||||
console.toggle();
|
console.toggle();
|
||||||
if (console.isVisible()) {
|
if (console.isVisible()) {
|
||||||
@@ -679,6 +689,7 @@ public class GameHUD extends Stage {
|
|||||||
public void setDebug(boolean b) {
|
public void setDebug(boolean b) {
|
||||||
debugMap = b;
|
debugMap = b;
|
||||||
}
|
}
|
||||||
|
|
||||||
public void playerIdle() {
|
public void playerIdle() {
|
||||||
if (MapStage.getInstance().isInMap()) {
|
if (MapStage.getInstance().isInMap()) {
|
||||||
MapStage.getInstance().startPause(1f);
|
MapStage.getInstance().startPause(1f);
|
||||||
@@ -688,6 +699,7 @@ public class GameHUD extends Stage {
|
|||||||
WorldStage.getInstance().getPlayerSprite().stop();
|
WorldStage.getInstance().getPlayerSprite().stop();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private void showDialog() {
|
private void showDialog() {
|
||||||
playerIdle();
|
playerIdle();
|
||||||
dialogButtonMap.clear();
|
dialogButtonMap.clear();
|
||||||
@@ -789,10 +801,11 @@ public class GameHUD extends Stage {
|
|||||||
}
|
}
|
||||||
|
|
||||||
void changeBGM(MusicPlaylist playlist) {
|
void changeBGM(MusicPlaylist playlist) {
|
||||||
if (!playlist.equals(SoundSystem.instance.getCurrentPlaylist())) {
|
if (!audioIsPlaying() && !playlist.equals(SoundSystem.instance.getCurrentPlaylist())) {
|
||||||
SoundSystem.instance.setBackgroundMusic(playlist);
|
SoundSystem.instance.setBackgroundMusic(playlist);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void flicker(CharacterSprite sprite) {
|
void flicker(CharacterSprite sprite) {
|
||||||
if (sprite.getCollisionHeight() == 0f) {
|
if (sprite.getCollisionHeight() == 0f) {
|
||||||
SequenceAction flicker = new SequenceAction(Actions.fadeOut(0.25f), Actions.fadeIn(0.25f), Actions.fadeOut(0.25f), Actions.fadeIn(0.25f), new Action() {
|
SequenceAction flicker = new SequenceAction(Actions.fadeOut(0.25f), Actions.fadeIn(0.25f), Actions.fadeOut(0.25f), Actions.fadeIn(0.25f), new Action() {
|
||||||
@@ -810,6 +823,7 @@ public class GameHUD extends Stage {
|
|||||||
sprite.addAction(flicker);
|
sprite.addAction(flicker);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void restorePlayerCollision() {
|
void restorePlayerCollision() {
|
||||||
flicker(MapStage.getInstance().getPlayerSprite());
|
flicker(MapStage.getInstance().getPlayerSprite());
|
||||||
flicker(WorldStage.getInstance().getPlayerSprite());
|
flicker(WorldStage.getInstance().getPlayerSprite());
|
||||||
|
|||||||
@@ -166,6 +166,7 @@ public class MapDialog {
|
|||||||
int vol = FModel.getPreferences().getPrefInt(ForgePreferences.FPref.UI_VOL_MUSIC);
|
int vol = FModel.getPreferences().getPrefInt(ForgePreferences.FPref.UI_VOL_MUSIC);
|
||||||
if (vol > 0) {
|
if (vol > 0) {
|
||||||
fadeOut();
|
fadeOut();
|
||||||
|
audio.getRight().setOnCompletionListener(music -> fadeIn());
|
||||||
audio.getRight().play();
|
audio.getRight().play();
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
|
|||||||
@@ -33,6 +33,7 @@ import forge.adventure.scene.RewardScene;
|
|||||||
import forge.adventure.scene.Scene;
|
import forge.adventure.scene.Scene;
|
||||||
import forge.adventure.scene.UIScene;
|
import forge.adventure.scene.UIScene;
|
||||||
import forge.assets.FSkin;
|
import forge.assets.FSkin;
|
||||||
|
import forge.assets.FSkinImage;
|
||||||
import forge.assets.ImageCache;
|
import forge.assets.ImageCache;
|
||||||
import forge.card.CardImageRenderer;
|
import forge.card.CardImageRenderer;
|
||||||
import forge.card.CardRenderer;
|
import forge.card.CardRenderer;
|
||||||
@@ -73,7 +74,7 @@ public class RewardActor extends Actor implements Disposable, ImageFetcher.Callb
|
|||||||
boolean clicked = false;
|
boolean clicked = false;
|
||||||
boolean sold = false;
|
boolean sold = false;
|
||||||
boolean flipOnClick;
|
boolean flipOnClick;
|
||||||
private boolean hover;
|
private boolean hover, hasbackface;
|
||||||
boolean loaded = true;
|
boolean loaded = true;
|
||||||
boolean alternate = false, shown = false;
|
boolean alternate = false, shown = false;
|
||||||
|
|
||||||
@@ -176,6 +177,7 @@ public class RewardActor extends Actor implements Disposable, ImageFetcher.Callb
|
|||||||
}
|
}
|
||||||
switch (reward.type) {
|
switch (reward.type) {
|
||||||
case Card: {
|
case Card: {
|
||||||
|
hasbackface = reward.getCard().hasBackFace();
|
||||||
if (ImageCache.imageKeyFileExists(reward.getCard().getImageKey(false)) && !Forge.enableUIMask.equals("Art")) {
|
if (ImageCache.imageKeyFileExists(reward.getCard().getImageKey(false)) && !Forge.enableUIMask.equals("Art")) {
|
||||||
int count = 0;
|
int count = 0;
|
||||||
PaperCard card = ImageUtil.getPaperCardFromImageKey(reward.getCard().getImageKey(false));
|
PaperCard card = ImageUtil.getPaperCardFromImageKey(reward.getCard().getImageKey(false));
|
||||||
@@ -203,7 +205,7 @@ public class RewardActor extends Actor implements Disposable, ImageFetcher.Callb
|
|||||||
}
|
}
|
||||||
ImageCache.updateSynqCount(frontFace, count);
|
ImageCache.updateSynqCount(frontFace, count);
|
||||||
//preload card back for performance
|
//preload card back for performance
|
||||||
if (reward.getCard().hasBackFace() && ImageCache.imageKeyFileExists(reward.getCard().getImageKey(true))) {
|
if (hasbackface && ImageCache.imageKeyFileExists(reward.getCard().getImageKey(true))) {
|
||||||
PaperCard cardBack = ImageUtil.getPaperCardFromImageKey(reward.getCard().getImageKey(true));
|
PaperCard cardBack = ImageUtil.getPaperCardFromImageKey(reward.getCard().getImageKey(true));
|
||||||
File backFace = ImageKeys.getImageFile(cardBack.getCardAltImageKey());
|
File backFace = ImageKeys.getImageFile(cardBack.getCardAltImageKey());
|
||||||
if (backFace != null) {
|
if (backFace != null) {
|
||||||
@@ -276,14 +278,15 @@ public class RewardActor extends Actor implements Disposable, ImageFetcher.Callb
|
|||||||
}
|
}
|
||||||
ImageCache.updateSynqCount(file, 1);
|
ImageCache.updateSynqCount(file, 1);
|
||||||
}
|
}
|
||||||
} catch (Exception e) {}
|
} catch (Exception e) {
|
||||||
|
}
|
||||||
}
|
}
|
||||||
T = renderPlaceholder(new Graphics(), reward.getCard(), false); //Now we can render the card.
|
T = renderPlaceholder(new Graphics(), reward.getCard(), false); //Now we can render the card.
|
||||||
setCardImage(T);
|
setCardImage(T);
|
||||||
loaded = false;
|
loaded = false;
|
||||||
if (!ImageCache.imageKeyFileExists(reward.getCard().getImageKey(false)))
|
if (!ImageCache.imageKeyFileExists(reward.getCard().getImageKey(false)))
|
||||||
fetcher.fetchImage(reward.getCard().getImageKey(false), this);
|
fetcher.fetchImage(reward.getCard().getImageKey(false), this);
|
||||||
if (reward.getCard().hasBackFace()) {
|
if (hasbackface) {
|
||||||
if (!ImageCache.imageKeyFileExists(reward.getCard().getImageKey(true))) {
|
if (!ImageCache.imageKeyFileExists(reward.getCard().getImageKey(true))) {
|
||||||
fetcher.fetchImage(reward.getCard().getImageKey(true), null);
|
fetcher.fetchImage(reward.getCard().getImageKey(true), null);
|
||||||
}
|
}
|
||||||
@@ -317,7 +320,6 @@ public class RewardActor extends Actor implements Disposable, ImageFetcher.Callb
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
String imageKey = "";
|
String imageKey = "";
|
||||||
String editionCode = "";
|
String editionCode = "";
|
||||||
try {
|
try {
|
||||||
@@ -330,8 +332,7 @@ public class RewardActor extends Actor implements Disposable, ImageFetcher.Callb
|
|||||||
artIndex = Aggregates.randomInt(1, 2);//MyRandom.getRandom().nextInt(maxIdx) + 1;
|
artIndex = Aggregates.randomInt(1, 2);//MyRandom.getRandom().nextInt(maxIdx) + 1;
|
||||||
imageKey = ImageKeys.BOOSTER_PREFIX + editionCode + ((1 >= maxIdx) ? "" : ("_" + artIndex));
|
imageKey = ImageKeys.BOOSTER_PREFIX + editionCode + ((1 >= maxIdx) ? "" : ("_" + artIndex));
|
||||||
}
|
}
|
||||||
}
|
} catch (Exception e) {
|
||||||
catch (Exception e){
|
|
||||||
//Comment did not contain the edition code, this is not a basic booster pack
|
//Comment did not contain the edition code, this is not a basic booster pack
|
||||||
}
|
}
|
||||||
boolean isBooster = false;
|
boolean isBooster = false;
|
||||||
@@ -345,7 +346,7 @@ public class RewardActor extends Actor implements Disposable, ImageFetcher.Callb
|
|||||||
}
|
}
|
||||||
|
|
||||||
setItemTooltips(item, backSprite, isBooster);
|
setItemTooltips(item, backSprite, isBooster);
|
||||||
processSprite(backSprite, item, Controls.newTextraLabel("[%200]" + editionCode + " Booster"), 0, -10, isBooster);
|
processSprite(backSprite, item, Controls.newTextraLabel("[%200]" + editionCode + " Booster"), 0, -10, isBooster);
|
||||||
needsToBeDisposed = true;
|
needsToBeDisposed = true;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
@@ -471,8 +472,8 @@ public class RewardActor extends Actor implements Disposable, ImageFetcher.Callb
|
|||||||
} else if (realY > y) {
|
} else if (realY > y) {
|
||||||
y *= 1.1f;
|
y *= 1.1f;
|
||||||
}
|
}
|
||||||
float fW = x > y ? x : y;
|
float fW = Math.max(x, y);
|
||||||
float fH = x > y ? y : x;
|
float fH = Math.min(x, y);
|
||||||
float mul = fW / fH < AR ? AR / (fW / fH) : (fW / fH) / AR;
|
float mul = fW / fH < AR ? AR / (fW / fH) : (fW / fH) / AR;
|
||||||
Float custom = Forge.isLandscapeMode() ? Config.instance().getSettingData().cardTooltipAdjLandscape : Config.instance().getSettingData().cardTooltipAdj;
|
Float custom = Forge.isLandscapeMode() ? Config.instance().getSettingData().cardTooltipAdjLandscape : Config.instance().getSettingData().cardTooltipAdj;
|
||||||
if (custom != null && custom != 1f) {
|
if (custom != null && custom != 1f) {
|
||||||
@@ -555,7 +556,8 @@ public class RewardActor extends Actor implements Disposable, ImageFetcher.Callb
|
|||||||
}
|
}
|
||||||
|
|
||||||
private void processSprite(Sprite sprite, Sprite item, TextraLabel itemText, int modX, int modY, boolean isBooster) {
|
private void processSprite(Sprite sprite, Sprite item, TextraLabel itemText, int modX, int modY, boolean isBooster) {
|
||||||
int pw = 192; int ph = 256;
|
int pw = 192;
|
||||||
|
int ph = 256;
|
||||||
FrameBuffer frameBuffer = new FrameBuffer(Pixmap.Format.RGB888, pw, ph, false);
|
FrameBuffer frameBuffer = new FrameBuffer(Pixmap.Format.RGB888, pw, ph, false);
|
||||||
SpriteBatch batch = new SpriteBatch();
|
SpriteBatch batch = new SpriteBatch();
|
||||||
|
|
||||||
@@ -574,9 +576,9 @@ public class RewardActor extends Actor implements Disposable, ImageFetcher.Callb
|
|||||||
if (!isBooster) {
|
if (!isBooster) {
|
||||||
float iw = item.getWidth() * 4;
|
float iw = item.getWidth() * 4;
|
||||||
float ih = item.getHeight() * 4;
|
float ih = item.getHeight() * 4;
|
||||||
batch.draw(item, pw / 2 - iw / 2, (ph / 2 - ih / 2), iw, ih);
|
batch.draw(item, pw / 2f - iw / 2f, (ph / 2f - ih / 2f), iw, ih);
|
||||||
} else
|
} else
|
||||||
batch.draw(item, pw / 4, ph / 4, pw / 2, ph / 2);
|
batch.draw(item, pw / 4f, ph / 4f, pw / 2f, ph / 2f);
|
||||||
}
|
}
|
||||||
if (itemText != null) {
|
if (itemText != null) {
|
||||||
itemText.setWrap(true);
|
itemText.setWrap(true);
|
||||||
@@ -612,10 +614,11 @@ public class RewardActor extends Actor implements Disposable, ImageFetcher.Callb
|
|||||||
getGraphics().startClip();
|
getGraphics().startClip();
|
||||||
getGraphics().drawImage(backSprite, 0, 0, preview_w, preview_h);
|
getGraphics().drawImage(backSprite, 0, 0, preview_w, preview_h);
|
||||||
if (!isBooster)
|
if (!isBooster)
|
||||||
getGraphics().drawImage(icon, preview_w / 2 - 75, 160, 160, 160);
|
getGraphics().drawImage(icon, preview_w / 2f - 75, 160, 160, 160);
|
||||||
else
|
else
|
||||||
getGraphics().drawImage(icon, 0, 0, preview_w, preview_h);
|
getGraphics().drawImage(icon, 0, 0, preview_w, preview_h);
|
||||||
BitmapFont font = Controls.getBitmapFont("default", 4 / (preview_h / preview_w));
|
float div = (float) preview_h / preview_w;
|
||||||
|
BitmapFont font = Controls.getBitmapFont("default", 4 / div);
|
||||||
layout.setText(font, itemExists ? item.name : getReward().type.name(), Color.WHITE, preview_w - 64, Align.center, true);
|
layout.setText(font, itemExists ? item.name : getReward().type.name(), Color.WHITE, preview_w - 64, Align.center, true);
|
||||||
getGraphics().drawText(font, layout, 32, preview_h - 70);
|
getGraphics().drawText(font, layout, 32, preview_h - 70);
|
||||||
align = itemExists ? Align.topLeft : Align.top;
|
align = itemExists ? Align.topLeft : Align.top;
|
||||||
@@ -627,7 +630,7 @@ public class RewardActor extends Actor implements Disposable, ImageFetcher.Callb
|
|||||||
} else {
|
} else {
|
||||||
description = "Adds " + getReward().getCount() + " " + getReward().type;
|
description = "Adds " + getReward().getCount() + " " + getReward().type;
|
||||||
}
|
}
|
||||||
if (description.isEmpty() && item.questItem)
|
if (itemExists && description.isEmpty() && item.questItem)
|
||||||
description = "Quest Item";
|
description = "Quest Item";
|
||||||
getGraphics().end();
|
getGraphics().end();
|
||||||
getGraphics().endClip();
|
getGraphics().endClip();
|
||||||
@@ -783,7 +786,7 @@ public class RewardActor extends Actor implements Disposable, ImageFetcher.Callb
|
|||||||
batch.end();
|
batch.end();
|
||||||
shaderRoundRect.bind();
|
shaderRoundRect.bind();
|
||||||
shaderRoundRect.setUniformf("u_resolution", image.getWidth(), image.getHeight());
|
shaderRoundRect.setUniformf("u_resolution", image.getWidth(), image.getHeight());
|
||||||
shaderRoundRect.setUniformf("edge_radius", (image.getHeight() / image.getWidth()) * 20);
|
shaderRoundRect.setUniformf("edge_radius", (float) (image.getHeight() / image.getWidth()) * 20);
|
||||||
shaderRoundRect.setUniformf("u_gray", sold ? 1f : 0f);
|
shaderRoundRect.setUniformf("u_gray", sold ? 1f : 0f);
|
||||||
batch.setShader(shaderRoundRect);
|
batch.setShader(shaderRoundRect);
|
||||||
batch.begin();
|
batch.begin();
|
||||||
@@ -811,6 +814,11 @@ public class RewardActor extends Actor implements Disposable, ImageFetcher.Callb
|
|||||||
batch.begin();
|
batch.begin();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
if (hasbackface) {
|
||||||
|
TextureRegion icon = FSkinImage.ADV_FLIPICON.getTextureRegion();
|
||||||
|
float scale = getHeight() / 4f;
|
||||||
|
batch.draw(icon, getOriginX() - scale / 2f, getOriginY() - scale / 2f, scale, scale);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -979,8 +987,8 @@ public class RewardActor extends Actor implements Disposable, ImageFetcher.Callb
|
|||||||
if (!frontSideUp())
|
if (!frontSideUp())
|
||||||
return;
|
return;
|
||||||
tooltip_actor.setBounds(tooltip_actor.cImage.getX(), tooltip_actor.cImage.getY(), tooltip_actor.cImage.getPrefWidth(), tooltip_actor.cImage.getPrefHeight());
|
tooltip_actor.setBounds(tooltip_actor.cImage.getX(), tooltip_actor.cImage.getY(), tooltip_actor.cImage.getPrefWidth(), tooltip_actor.cImage.getPrefHeight());
|
||||||
tooltip_actor.cLabel.setX(Scene.getIntendedWidth() / 2 - tooltip_actor.width / 2);
|
tooltip_actor.cLabel.setX(Scene.getIntendedWidth() / 2f - tooltip_actor.width / 2);
|
||||||
tooltip_actor.cLabel.setY(Scene.getIntendedHeight() / 2 - tooltip_actor.inset);
|
tooltip_actor.cLabel.setY(Scene.getIntendedHeight() / 2f - tooltip_actor.inset);
|
||||||
getStage().addActor(tooltip_actor);
|
getStage().addActor(tooltip_actor);
|
||||||
TextraButton done = getStage().getRoot().findActor("done");
|
TextraButton done = getStage().getRoot().findActor("done");
|
||||||
if (done != null && Reward.Type.Card.equals(reward.type)) {
|
if (done != null && Reward.Type.Card.equals(reward.type)) {
|
||||||
@@ -1014,15 +1022,15 @@ public class RewardActor extends Actor implements Disposable, ImageFetcher.Callb
|
|||||||
TextureRegion tr = ((TextureRegionDrawable) getDrawable()).getRegion();
|
TextureRegion tr = ((TextureRegionDrawable) getDrawable()).getRegion();
|
||||||
Texture t = tr.getTexture();
|
Texture t = tr.getTexture();
|
||||||
if (t != null) {
|
if (t != null) {
|
||||||
float x = GuiBase.isAndroid() || Forge.hasGamepad() ? Scene.getIntendedWidth() / 2 - holdTooltip.tooltip_actor.getWidth() / 2 : tooltip.getActor().getStoredImage().getImageX();
|
float x = GuiBase.isAndroid() || Forge.hasGamepad() ? Scene.getIntendedWidth() / 2f - holdTooltip.tooltip_actor.getWidth() / 2f : tooltip.getActor().getStoredImage().getImageX();
|
||||||
float y = GuiBase.isAndroid() || Forge.hasGamepad() ? Scene.getIntendedHeight() / 2 - holdTooltip.tooltip_actor.getHeight() / 2 : tooltip.getActor().getStoredImage().getImageY();
|
float y = GuiBase.isAndroid() || Forge.hasGamepad() ? Scene.getIntendedHeight() / 2f - holdTooltip.tooltip_actor.getHeight() / 2f : tooltip.getActor().getStoredImage().getImageY();
|
||||||
float w = GuiBase.isAndroid() || Forge.hasGamepad() ? holdTooltip.tooltip_actor.getStoredImage().getPrefWidth() : tooltip.getActor().getStoredImage().getPrefWidth();
|
float w = GuiBase.isAndroid() || Forge.hasGamepad() ? holdTooltip.tooltip_actor.getStoredImage().getPrefWidth() : tooltip.getActor().getStoredImage().getPrefWidth();
|
||||||
float h = GuiBase.isAndroid() || Forge.hasGamepad() ? holdTooltip.tooltip_actor.getStoredImage().getPrefHeight() : tooltip.getActor().getStoredImage().getPrefHeight();
|
float h = GuiBase.isAndroid() || Forge.hasGamepad() ? holdTooltip.tooltip_actor.getStoredImage().getPrefHeight() : tooltip.getActor().getStoredImage().getPrefHeight();
|
||||||
if (t.toString().contains(".fullborder.") && Forge.enableUIMask.equals("Full")) {
|
if (t.toString().contains(".fullborder.") && Forge.enableUIMask.equals("Full")) {
|
||||||
batch.end();
|
batch.end();
|
||||||
shaderRoundRect.bind();
|
shaderRoundRect.bind();
|
||||||
shaderRoundRect.setUniformf("u_resolution", t.getWidth(), t.getHeight());
|
shaderRoundRect.setUniformf("u_resolution", t.getWidth(), t.getHeight());
|
||||||
shaderRoundRect.setUniformf("edge_radius", (t.getHeight() / t.getWidth()) * ImageCache.getRadius(t));
|
shaderRoundRect.setUniformf("edge_radius", ((float) (t.getHeight() / t.getWidth())) * ImageCache.getRadius(t));
|
||||||
shaderRoundRect.setUniformf("u_gray", sold ? 0.8f : 0f);
|
shaderRoundRect.setUniformf("u_gray", sold ? 0.8f : 0f);
|
||||||
batch.setShader(shaderRoundRect);
|
batch.setShader(shaderRoundRect);
|
||||||
batch.begin();
|
batch.begin();
|
||||||
|
|||||||
@@ -232,7 +232,8 @@ public enum FSkinImage implements FImage {
|
|||||||
//adventure
|
//adventure
|
||||||
MANASHARD (FSkinProp.ICO_MANASHARD, SourceFile.ADVENTURE),
|
MANASHARD (FSkinProp.ICO_MANASHARD, SourceFile.ADVENTURE),
|
||||||
MENU_ADVLOGO (FSkinProp.ICO_ADVLOGO, SourceFile.ADVENTURE),
|
MENU_ADVLOGO (FSkinProp.ICO_ADVLOGO, SourceFile.ADVENTURE),
|
||||||
ADV_DECKBOX (FSkinProp.ICO_ADVDECKBOX, SourceFile.ADVENTURE),
|
ADV_DECKBOX (FSkinProp.ICO_ADVDECKBOX, SourceFile.ADVENTURE),
|
||||||
|
ADV_FLIPICON (FSkinProp.ICO_ADVFLIP, SourceFile.ADVENTURE),
|
||||||
|
|
||||||
//menu icon
|
//menu icon
|
||||||
MENU_GALAXY (FSkinProp.ICO_MENU_GALAXY, SourceFile.ICONS),
|
MENU_GALAXY (FSkinProp.ICO_MENU_GALAXY, SourceFile.ICONS),
|
||||||
|
|||||||
@@ -5,6 +5,7 @@ import com.badlogic.gdx.audio.Music;
|
|||||||
import com.badlogic.gdx.audio.Music.OnCompletionListener;
|
import com.badlogic.gdx.audio.Music.OnCompletionListener;
|
||||||
import com.badlogic.gdx.files.FileHandle;
|
import com.badlogic.gdx.files.FileHandle;
|
||||||
import forge.Forge;
|
import forge.Forge;
|
||||||
|
import forge.adventure.stage.GameHUD;
|
||||||
|
|
||||||
public class AudioMusic implements IAudioMusic {
|
public class AudioMusic implements IAudioMusic {
|
||||||
private Music music;
|
private Music music;
|
||||||
@@ -18,6 +19,10 @@ public class AudioMusic implements IAudioMusic {
|
|||||||
public void play(final Runnable onComplete) {
|
public void play(final Runnable onComplete) {
|
||||||
if (music == null)
|
if (music == null)
|
||||||
return;
|
return;
|
||||||
|
if (Forge.isMobileAdventureMode) {
|
||||||
|
if (GameHUD.getInstance().audioIsPlaying())
|
||||||
|
return;
|
||||||
|
}
|
||||||
music.setOnCompletionListener(new OnCompletionListener() {
|
music.setOnCompletionListener(new OnCompletionListener() {
|
||||||
@Override
|
@Override
|
||||||
public void onCompletion(Music music) {
|
public void onCompletion(Music music) {
|
||||||
|
|||||||
Binary file not shown.
|
Before Width: | Height: | Size: 71 KiB After Width: | Height: | Size: 75 KiB |
@@ -271,6 +271,7 @@ public enum FSkinProp {
|
|||||||
ICO_MANASHARD (new int[] {2, 304, 100, 100}, PropType.ADVENTURE),
|
ICO_MANASHARD (new int[] {2, 304, 100, 100}, PropType.ADVENTURE),
|
||||||
ICO_ADVLOGO (new int[] {2, 2, 300, 300}, PropType.ADVENTURE),
|
ICO_ADVLOGO (new int[] {2, 2, 300, 300}, PropType.ADVENTURE),
|
||||||
ICO_ADVDECKBOX (new int[] {111, 365, 192, 240}, PropType.ADVENTURE),
|
ICO_ADVDECKBOX (new int[] {111, 365, 192, 240}, PropType.ADVENTURE),
|
||||||
|
ICO_ADVFLIP (new int[] {10, 504, 80, 80}, PropType.ADVENTURE),
|
||||||
|
|
||||||
//menu icon
|
//menu icon
|
||||||
ICO_MENU_GALAXY (new int[] {0, 1520, 80, 80}, PropType.ICON),
|
ICO_MENU_GALAXY (new int[] {0, 1520, 80, 80}, PropType.ICON),
|
||||||
|
|||||||
Reference in New Issue
Block a user