This commit is contained in:
Paul Chote
2011-05-09 23:29:58 +12:00
parent 6a1f3cfc18
commit 37577afc36
9 changed files with 61 additions and 26 deletions

View File

@@ -82,6 +82,7 @@ namespace OpenRA.Mods.Cnc
void TestAndContinue()
{
Widget.RootWidget.RemoveChildren();
if (!FileSystem.Exists(Info["TestFile"]))
{
var args = new Dictionary<string, object>()
@@ -89,7 +90,8 @@ namespace OpenRA.Mods.Cnc
{ "continueLoading", (Action)(() => TestAndContinue()) },
{ "installData", Info }
};
Widget.OpenWindow(Info["InstallerWidget"], args);
Widget.LoadWidget(Info["InstallerBackgroundWidget"], args);
Widget.OpenWindow(Info["InstallerMenuWidget"], args);
}
else
Game.LoadShellMap();

View File

@@ -57,6 +57,8 @@ namespace OpenRA.Mods.Cnc.Widgets
Game.AddChatLine += AddChatLineStub;
}
ingameRoot.GetWidget<CncMenuButtonWidget>("DIPLOMACY_BUTTON").IsDisabled = () => true;
ingameRoot.GetWidget<CncMenuButtonWidget>("OPTIONS_BUTTON").OnClick = () =>
{
ingameRoot.IsVisible = () => false;
@@ -109,6 +111,9 @@ namespace OpenRA.Mods.Cnc.Widgets
surrenderButton.OnClick = () =>
PromptConfirmAction("Surrender", "Are you sure you want to surrender?", onSurrender, doNothing);
menu.GetWidget<CncMenuButtonWidget>("MUSIC_BUTTON").IsDisabled = () => true;
menu.GetWidget<CncMenuButtonWidget>("PREFERENCES_BUTTON").IsDisabled = () => true;
menu.GetWidget<CncMenuButtonWidget>("RESUME_BUTTON").OnClick = () =>
{
Widget.RootWidget.RemoveChild(menu);

View File

@@ -25,27 +25,32 @@ namespace OpenRA.Mods.Cnc.Widgets
[ObjectCreator.Param] Dictionary<string,string> installData,
[ObjectCreator.Param] Action continueLoading)
{
var panel = widget.GetWidget("INSTALL_PANEL");
var args = new Dictionary<string, object>()
{
{ "continueLoading", continueLoading },
{ "installData", installData }
};
panel.GetWidget<CncMenuButtonWidget>("DOWNLOAD_BUTTON").OnClick = () =>
Widget.OpenWindow("INSTALL_DOWNLOAD_PANEL", args);
panel.GetWidget<CncMenuButtonWidget>("INSTALL_BUTTON").OnClick = () =>
Widget.OpenWindow("INSTALL_FROMCD_PANEL", args);
//panel.GetWidget<CncMenuButtonWidget>("MODS_BUTTON").OnClick = ShowModDialog;
panel.GetWidget<CncMenuButtonWidget>("QUIT_BUTTON").OnClick = Game.Exit;
var panel = widget.GetWidget("INSTALL_PANEL");
var args = new Dictionary<string, object>()
{
{ "continueLoading", continueLoading },
{ "installData", installData }
};
panel.GetWidget<CncMenuButtonWidget>("DOWNLOAD_BUTTON").OnClick = () =>
Widget.OpenWindow("INSTALL_DOWNLOAD_PANEL", args);
panel.GetWidget<CncMenuButtonWidget>("INSTALL_BUTTON").OnClick = () =>
Widget.OpenWindow("INSTALL_FROMCD_PANEL", args);
panel.GetWidget<CncMenuButtonWidget>("QUIT_BUTTON").OnClick = Game.Exit;
// TODO:
panel.GetWidget<CncMenuButtonWidget>("DOWNLOAD_BUTTON").IsDisabled = () => true;
panel.GetWidget<CncMenuButtonWidget>("MODS_BUTTON").IsDisabled = () => true;
}
}
public class CncInstallFromCDLogic : IWidgetDelegate
{
Widget panel;
ProgressBarWidget progressBar;
LabelWidget statusLabel;
Action continueLoading;
[ObjectCreator.UseCtor]
@@ -54,6 +59,8 @@ namespace OpenRA.Mods.Cnc.Widgets
{
this.continueLoading = continueLoading;
panel = widget.GetWidget("INSTALL_FROMCD_PANEL");
progressBar = panel.GetWidget<ProgressBarWidget>("PROGRESS_BAR");
statusLabel = panel.GetWidget<LabelWidget>("STATUS_LABEL");
var backButton = panel.GetWidget<CncMenuButtonWidget>("BACK_BUTTON");
backButton.OnClick = Widget.CloseWindow;
@@ -63,12 +70,13 @@ namespace OpenRA.Mods.Cnc.Widgets
retryButton.OnClick = PromptForCD;
retryButton.IsVisible = () => false;
// TODO: Search obvious places (platform dependant) for CD
// TODO: Search obvious places (platform dependent) for CD
PromptForCD();
}
void PromptForCD()
{
progressBar.SetIndeterminate(true);
Game.Utilities.PromptFilepathAsync("Select CONQUER.MIX on the C&C CD", path => Game.RunAfterTick(() => Install(path)));
}
@@ -81,10 +89,8 @@ namespace OpenRA.Mods.Cnc.Widgets
var extractPackage = "INSTALL/SETUP.Z";
var extractFiles = new string[] { "cclocal.mix", "speech.mix", "tempicnh.mix", "updatec.mix" };
var progressBar = panel.GetWidget<ProgressBarWidget>("PROGRESS_BAR");
progressBar.Indeterminate = false;
progressBar.SetIndeterminate(false);
var statusLabel = panel.GetWidget<LabelWidget>("STATUS_LABEL");
var installCounter = 0;
var onProgress = (Action<string>)(s =>
{

View File

@@ -97,6 +97,9 @@ namespace OpenRA.Mods.Cnc.Widgets
var settingsMenu = widget.GetWidget("SETTINGS_MENU");
settingsMenu.IsVisible = () => Menu == MenuType.Settings;
settingsMenu.GetWidget<CncMenuButtonWidget>("MODS_BUTTON").IsDisabled = () => true;
settingsMenu.GetWidget<CncMenuButtonWidget>("MUSIC_BUTTON").IsDisabled = () => true;
settingsMenu.GetWidget<CncMenuButtonWidget>("PREFERENCES_BUTTON").IsDisabled = () => true;
settingsMenu.GetWidget<CncMenuButtonWidget>("BACK_BUTTON").OnClick = () => Menu = MenuType.Main;
}