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) {
|
public String getSkinField(String file) {
|
||||||
if ((file != null) && this.skin.hasField(file)) {
|
if ((file != null) && this.skin.hasField(file)) {
|
||||||
file = this.skin.getField(file);
|
file = this.skin.getField(file);
|
||||||
|
@ -149,6 +149,7 @@ public class MenuUI {
|
|||||||
private String mapFilepathToStart;
|
private String mapFilepathToStart;
|
||||||
private LoadingMap loadingMap;
|
private LoadingMap loadingMap;
|
||||||
private SpriteFrame loadingBackground;
|
private SpriteFrame loadingBackground;
|
||||||
|
private boolean unifiedCampaignInfo = false;
|
||||||
|
|
||||||
public MenuUI(final DataSource dataSource, final Viewport uiViewport, final Scene uiScene, final MdxViewer viewer,
|
public MenuUI(final DataSource dataSource, final Viewport uiViewport, final Scene uiScene, final MdxViewer viewer,
|
||||||
final WarsmashGdxMultiScreenGame screenManager, final SingleModelScreen menuScreen,
|
final WarsmashGdxMultiScreenGame screenManager, final SingleModelScreen menuScreen,
|
||||||
@ -179,6 +180,7 @@ public class MenuUI {
|
|||||||
else {
|
else {
|
||||||
try (InputStream campaignStringStream = dataSource.getResourceAsStream("UI\\CampaignInfoClassic.txt")) {
|
try (InputStream campaignStringStream = dataSource.getResourceAsStream("UI\\CampaignInfoClassic.txt")) {
|
||||||
this.campaignStrings.readTXT(campaignStringStream, true);
|
this.campaignStrings.readTXT(campaignStringStream, true);
|
||||||
|
unifiedCampaignInfo = true;
|
||||||
}
|
}
|
||||||
catch (final IOException e) {
|
catch (final IOException e) {
|
||||||
throw new RuntimeException(e);
|
throw new RuntimeException(e);
|
||||||
@ -593,8 +595,8 @@ public class MenuUI {
|
|||||||
MenuUI.this.missionSelectFrame.setVisible(true);
|
MenuUI.this.missionSelectFrame.setVisible(true);
|
||||||
MenuUI.this.menuState = MenuState.MISSION_SELECT;
|
MenuUI.this.menuState = MenuState.MISSION_SELECT;
|
||||||
}
|
}
|
||||||
MenuUI.this.rootFrame.setText(missionName, campaign.getName());
|
MenuUI.this.rootFrame.setDecoratedText(missionName, campaign.getName());
|
||||||
MenuUI.this.rootFrame.setText(missionNameHeader, campaign.getHeader());
|
MenuUI.this.rootFrame.setDecoratedText(missionNameHeader, campaign.getHeader());
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
if (campaign == MenuUI.this.currentCampaign) {
|
if (campaign == MenuUI.this.currentCampaign) {
|
||||||
@ -843,8 +845,7 @@ public class MenuUI {
|
|||||||
this.menuState = MenuState.GOING_TO_CAMPAIGN_PART2;
|
this.menuState = MenuState.GOING_TO_CAMPAIGN_PART2;
|
||||||
break;
|
break;
|
||||||
case GOING_TO_CAMPAIGN_PART2: {
|
case GOING_TO_CAMPAIGN_PART2: {
|
||||||
final String currentCampaignBackgroundModel = this.rootFrame
|
final String currentCampaignBackgroundModel = getCurrentBackgroundModel();
|
||||||
.getSkinField(this.currentCampaign.getBackground() + "_V" + WarsmashConstants.GAME_VERSION);
|
|
||||||
final String currentCampaignAmbientSound = this.rootFrame
|
final String currentCampaignAmbientSound = this.rootFrame
|
||||||
.trySkinField(this.currentCampaign.getAmbientSound());
|
.trySkinField(this.currentCampaign.getAmbientSound());
|
||||||
this.menuScreen.setModel(currentCampaignBackgroundModel);
|
this.menuScreen.setModel(currentCampaignBackgroundModel);
|
||||||
@ -867,8 +868,7 @@ public class MenuUI {
|
|||||||
this.campaignRootMenuUI.setVisible(true);
|
this.campaignRootMenuUI.setVisible(true);
|
||||||
break;
|
break;
|
||||||
case GOING_TO_MISSION_SELECT: {
|
case GOING_TO_MISSION_SELECT: {
|
||||||
final String currentCampaignBackgroundModel = this.rootFrame
|
final String currentCampaignBackgroundModel = getCurrentBackgroundModel();
|
||||||
.getSkinField(this.currentCampaign.getBackground() + "_V" + WarsmashConstants.GAME_VERSION);
|
|
||||||
final String currentCampaignAmbientSound = this.rootFrame
|
final String currentCampaignAmbientSound = this.rootFrame
|
||||||
.trySkinField(this.currentCampaign.getAmbientSound());
|
.trySkinField(this.currentCampaign.getAmbientSound());
|
||||||
this.menuScreen.setModel(currentCampaignBackgroundModel);
|
this.menuScreen.setModel(currentCampaignBackgroundModel);
|
||||||
@ -1087,8 +1087,7 @@ public class MenuUI {
|
|||||||
break;
|
break;
|
||||||
case CAMPAIGN:
|
case CAMPAIGN:
|
||||||
case MISSION_SELECT:
|
case MISSION_SELECT:
|
||||||
final String currentCampaignBackgroundModel = this.rootFrame
|
final String currentCampaignBackgroundModel = getCurrentBackgroundModel();
|
||||||
.getSkinField(this.currentCampaign.getBackground() + "_V" + WarsmashConstants.GAME_VERSION);
|
|
||||||
final String currentCampaignAmbientSound = this.rootFrame
|
final String currentCampaignAmbientSound = this.rootFrame
|
||||||
.trySkinField(this.currentCampaign.getAmbientSound());
|
.trySkinField(this.currentCampaign.getAmbientSound());
|
||||||
this.menuScreen.setModel(currentCampaignBackgroundModel);
|
this.menuScreen.setModel(currentCampaignBackgroundModel);
|
||||||
@ -1105,6 +1104,16 @@ public class MenuUI {
|
|||||||
// this.menuState = MenuState.MISSION_SELECT;
|
// 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 static final class LoadingMap {
|
||||||
|
|
||||||
private final War3MapViewer viewer;
|
private final War3MapViewer viewer;
|
||||||
|
@ -34,11 +34,11 @@ public class CampaignMenuUI extends SimpleFrame {
|
|||||||
|
|
||||||
final StringFrame headerText = (StringFrame) this.rootFrame.createFrame("StandardSmallTextTemplate",
|
final StringFrame headerText = (StringFrame) this.rootFrame.createFrame("StandardSmallTextTemplate",
|
||||||
campaignButtonUI, 0, 0);
|
campaignButtonUI, 0, 0);
|
||||||
this.rootFrame.setText(headerText, header);
|
this.rootFrame.setDecoratedText(headerText, header);
|
||||||
campaignButtonUI.add(headerText);
|
campaignButtonUI.add(headerText);
|
||||||
final StringFrame nameText = (StringFrame) this.rootFrame.createFrame("StandardValueTextTemplate",
|
final StringFrame nameText = (StringFrame) this.rootFrame.createFrame("StandardValueTextTemplate",
|
||||||
campaignButtonUI, 0, 0);
|
campaignButtonUI, 0, 0);
|
||||||
this.rootFrame.setText(nameText, name);
|
this.rootFrame.setDecoratedText(nameText, name);
|
||||||
headerText.addSetPoint(new SetPoint(FramePoint.TOPLEFT, campaignArrowButton, FramePoint.TOPRIGHT, 0, 0));
|
headerText.addSetPoint(new SetPoint(FramePoint.TOPLEFT, campaignArrowButton, FramePoint.TOPRIGHT, 0, 0));
|
||||||
nameText.addSetPoint(new SetPoint(FramePoint.TOPLEFT, headerText, FramePoint.BOTTOMLEFT, 0, 0));
|
nameText.addSetPoint(new SetPoint(FramePoint.TOPLEFT, headerText, FramePoint.BOTTOMLEFT, 0, 0));
|
||||||
campaignButtonUI.add(nameText);
|
campaignButtonUI.add(nameText);
|
||||||
|
Loading…
Reference in New Issue
Block a user