mirror of
https://github.com/Retera/WarsmashModEngine.git
synced 2022-07-31 17:38:59 +02:00
Update menu to support Reforged
This commit is contained in:
parent
9fa895dde2
commit
574c8996f7
@ -221,6 +221,10 @@ public final class GameUI extends AbstractUIFrame implements UIFrame {
|
||||
}
|
||||
}
|
||||
|
||||
public boolean hasSkinField(String file) {
|
||||
return (file != null) && this.skin.hasField(file);
|
||||
}
|
||||
|
||||
public String getSkinField(String file) {
|
||||
if ((file != null) && this.skin.hasField(file)) {
|
||||
file = this.skin.getField(file);
|
||||
|
@ -149,6 +149,7 @@ public class MenuUI {
|
||||
private String mapFilepathToStart;
|
||||
private LoadingMap loadingMap;
|
||||
private SpriteFrame loadingBackground;
|
||||
private boolean unifiedCampaignInfo = false;
|
||||
|
||||
public MenuUI(final DataSource dataSource, final Viewport uiViewport, final Scene uiScene, final MdxViewer viewer,
|
||||
final WarsmashGdxMultiScreenGame screenManager, final SingleModelScreen menuScreen,
|
||||
@ -179,6 +180,7 @@ public class MenuUI {
|
||||
else {
|
||||
try (InputStream campaignStringStream = dataSource.getResourceAsStream("UI\\CampaignInfoClassic.txt")) {
|
||||
this.campaignStrings.readTXT(campaignStringStream, true);
|
||||
unifiedCampaignInfo = true;
|
||||
}
|
||||
catch (final IOException e) {
|
||||
throw new RuntimeException(e);
|
||||
@ -593,8 +595,8 @@ public class MenuUI {
|
||||
MenuUI.this.missionSelectFrame.setVisible(true);
|
||||
MenuUI.this.menuState = MenuState.MISSION_SELECT;
|
||||
}
|
||||
MenuUI.this.rootFrame.setText(missionName, campaign.getName());
|
||||
MenuUI.this.rootFrame.setText(missionNameHeader, campaign.getHeader());
|
||||
MenuUI.this.rootFrame.setDecoratedText(missionName, campaign.getName());
|
||||
MenuUI.this.rootFrame.setDecoratedText(missionNameHeader, campaign.getHeader());
|
||||
}
|
||||
});
|
||||
if (campaign == MenuUI.this.currentCampaign) {
|
||||
@ -843,8 +845,7 @@ public class MenuUI {
|
||||
this.menuState = MenuState.GOING_TO_CAMPAIGN_PART2;
|
||||
break;
|
||||
case GOING_TO_CAMPAIGN_PART2: {
|
||||
final String currentCampaignBackgroundModel = this.rootFrame
|
||||
.getSkinField(this.currentCampaign.getBackground() + "_V" + WarsmashConstants.GAME_VERSION);
|
||||
final String currentCampaignBackgroundModel = getCurrentBackgroundModel();
|
||||
final String currentCampaignAmbientSound = this.rootFrame
|
||||
.trySkinField(this.currentCampaign.getAmbientSound());
|
||||
this.menuScreen.setModel(currentCampaignBackgroundModel);
|
||||
@ -867,8 +868,7 @@ public class MenuUI {
|
||||
this.campaignRootMenuUI.setVisible(true);
|
||||
break;
|
||||
case GOING_TO_MISSION_SELECT: {
|
||||
final String currentCampaignBackgroundModel = this.rootFrame
|
||||
.getSkinField(this.currentCampaign.getBackground() + "_V" + WarsmashConstants.GAME_VERSION);
|
||||
final String currentCampaignBackgroundModel = getCurrentBackgroundModel();
|
||||
final String currentCampaignAmbientSound = this.rootFrame
|
||||
.trySkinField(this.currentCampaign.getAmbientSound());
|
||||
this.menuScreen.setModel(currentCampaignBackgroundModel);
|
||||
@ -1087,8 +1087,7 @@ public class MenuUI {
|
||||
break;
|
||||
case CAMPAIGN:
|
||||
case MISSION_SELECT:
|
||||
final String currentCampaignBackgroundModel = this.rootFrame
|
||||
.getSkinField(this.currentCampaign.getBackground() + "_V" + WarsmashConstants.GAME_VERSION);
|
||||
final String currentCampaignBackgroundModel = getCurrentBackgroundModel();
|
||||
final String currentCampaignAmbientSound = this.rootFrame
|
||||
.trySkinField(this.currentCampaign.getAmbientSound());
|
||||
this.menuScreen.setModel(currentCampaignBackgroundModel);
|
||||
@ -1105,6 +1104,16 @@ public class MenuUI {
|
||||
// this.menuState = MenuState.MISSION_SELECT;
|
||||
}
|
||||
|
||||
private String getCurrentBackgroundModel() {
|
||||
String background = this.currentCampaign.getBackground();
|
||||
String versionedBackground = background + "_V" + WarsmashConstants.GAME_VERSION;
|
||||
if(this.rootFrame.hasSkinField(versionedBackground)) {
|
||||
return this.rootFrame.getSkinField(versionedBackground);
|
||||
}
|
||||
return this.rootFrame
|
||||
.getSkinField(background );
|
||||
}
|
||||
|
||||
private static final class LoadingMap {
|
||||
|
||||
private final War3MapViewer viewer;
|
||||
|
@ -34,11 +34,11 @@ public class CampaignMenuUI extends SimpleFrame {
|
||||
|
||||
final StringFrame headerText = (StringFrame) this.rootFrame.createFrame("StandardSmallTextTemplate",
|
||||
campaignButtonUI, 0, 0);
|
||||
this.rootFrame.setText(headerText, header);
|
||||
this.rootFrame.setDecoratedText(headerText, header);
|
||||
campaignButtonUI.add(headerText);
|
||||
final StringFrame nameText = (StringFrame) this.rootFrame.createFrame("StandardValueTextTemplate",
|
||||
campaignButtonUI, 0, 0);
|
||||
this.rootFrame.setText(nameText, name);
|
||||
this.rootFrame.setDecoratedText(nameText, name);
|
||||
headerText.addSetPoint(new SetPoint(FramePoint.TOPLEFT, campaignArrowButton, FramePoint.TOPRIGHT, 0, 0));
|
||||
nameText.addSetPoint(new SetPoint(FramePoint.TOPLEFT, headerText, FramePoint.BOTTOMLEFT, 0, 0));
|
||||
campaignButtonUI.add(nameText);
|
||||
|
Loading…
Reference in New Issue
Block a user