create widgets on demand
This commit is contained in:
@@ -279,6 +279,35 @@ namespace OpenRA
|
||||
|
||||
JoinLocal();
|
||||
StartGame(modData.Manifest.ShellmapUid);
|
||||
|
||||
Game.BeforeGameStart = () => Widget.OpenWindow("INGAME_ROOT");
|
||||
|
||||
Game.ConnectionStateChanged = () =>
|
||||
{
|
||||
Widget.CloseWindow();
|
||||
switch( Game.orderManager.Connection.ConnectionState )
|
||||
{
|
||||
case ConnectionState.PreConnecting:
|
||||
Widget.OpenWindow("MAINMENU_BG");
|
||||
break;
|
||||
case ConnectionState.Connecting:
|
||||
Widget.OpenWindow("CONNECTING_BG");
|
||||
break;
|
||||
case ConnectionState.NotConnected:
|
||||
Widget.OpenWindow("CONNECTION_FAILED_BG");
|
||||
break;
|
||||
case ConnectionState.Connected:
|
||||
var lobby = Widget.OpenWindow("SERVER_LOBBY");
|
||||
lobby.GetWidget<ChatDisplayWidget>("CHAT_DISPLAY").ClearChat();
|
||||
lobby.GetWidget("CHANGEMAP_BUTTON").Visible = true;
|
||||
lobby.GetWidget("LOCKTEAMS_CHECKBOX").Visible = true;
|
||||
lobby.GetWidget("DISCONNECT_BUTTON").Visible = true;
|
||||
//r.GetWidget("INGAME_ROOT").GetWidget<ChatDisplayWidget>("CHAT_DISPLAY").ClearChat();
|
||||
break;
|
||||
}
|
||||
};
|
||||
|
||||
Widget.OpenWindow("MAINMENU_BG");
|
||||
|
||||
ResetTimer();
|
||||
}
|
||||
|
||||
@@ -24,6 +24,7 @@ namespace OpenRA
|
||||
public readonly SheetBuilder SheetBuilder;
|
||||
public readonly CursorSheetBuilder CursorSheetBuilder;
|
||||
public readonly Dictionary<string, MapStub> AvailableMaps;
|
||||
public readonly WidgetLoader WidgetLoader;
|
||||
public ILoadScreen LoadScreen = null;
|
||||
|
||||
public ModData( params string[] mods )
|
||||
@@ -39,6 +40,7 @@ namespace OpenRA
|
||||
SheetBuilder = new SheetBuilder( TextureChannel.Red );
|
||||
CursorSheetBuilder = new CursorSheetBuilder( this );
|
||||
AvailableMaps = FindMaps( mods );
|
||||
WidgetLoader = new WidgetLoader( this );
|
||||
}
|
||||
|
||||
// TODO: Do this nicer
|
||||
|
||||
@@ -14,56 +14,37 @@ namespace OpenRA.Widgets.Delegates
|
||||
{
|
||||
public class ConnectionDialogsDelegate : IWidgetDelegate
|
||||
{
|
||||
public ConnectionDialogsDelegate()
|
||||
[ObjectCreator.UseCtor]
|
||||
public ConnectionDialogsDelegate( [ObjectCreator.Param( "widget" )] Widget widget )
|
||||
{
|
||||
var r = Widget.RootWidget;
|
||||
r.GetWidget("CONNECTION_BUTTON_ABORT").OnMouseUp = mi => {
|
||||
r.GetWidget("CONNECTION_BUTTON_ABORT").Parent.Visible = false;
|
||||
widget.GetWidget("CONNECTION_BUTTON_ABORT").OnMouseUp = mi => {
|
||||
widget.GetWidget("CONNECTION_BUTTON_ABORT").Parent.Visible = false;
|
||||
Game.Disconnect();
|
||||
return true;
|
||||
};
|
||||
r.GetWidget("CONNECTION_BUTTON_CANCEL").OnMouseUp = mi => {
|
||||
r.GetWidget("CONNECTION_BUTTON_CANCEL").Parent.Visible = false;
|
||||
|
||||
widget.GetWidget<LabelWidget>("CONNECTING_DESC").GetText = () =>
|
||||
"Connecting to {0}:{1}...".F(Game.CurrentHost, Game.CurrentPort);
|
||||
}
|
||||
}
|
||||
|
||||
public class ConnectionFailedDelegate : IWidgetDelegate
|
||||
{
|
||||
[ObjectCreator.UseCtor]
|
||||
public ConnectionFailedDelegate( [ObjectCreator.Param( "widget" )] Widget widget )
|
||||
{
|
||||
widget.GetWidget("CONNECTION_BUTTON_CANCEL").OnMouseUp = mi => {
|
||||
widget.GetWidget("CONNECTION_BUTTON_CANCEL").Parent.Visible = false;
|
||||
Game.Disconnect();
|
||||
return true;
|
||||
};
|
||||
r.GetWidget("CONNECTION_BUTTON_RETRY").OnMouseUp = mi => {
|
||||
widget.GetWidget("CONNECTION_BUTTON_RETRY").OnMouseUp = mi => {
|
||||
Game.JoinServer(Game.CurrentHost, Game.CurrentPort);
|
||||
return true;
|
||||
};
|
||||
|
||||
r.GetWidget<LabelWidget>("CONNECTING_DESC").GetText = () =>
|
||||
"Connecting to {0}:{1}...".F(Game.CurrentHost, Game.CurrentPort);
|
||||
|
||||
r.GetWidget<LabelWidget>("CONNECTION_FAILED_DESC").GetText = () =>
|
||||
widget.GetWidget<LabelWidget>("CONNECTION_FAILED_DESC").GetText = () =>
|
||||
"Could not connect to {0}:{1}".F(Game.CurrentHost, Game.CurrentPort);
|
||||
|
||||
Game.ConnectionStateChanged += () =>
|
||||
{
|
||||
Widget.CloseWindow();
|
||||
switch( Game.orderManager.Connection.ConnectionState )
|
||||
{
|
||||
case ConnectionState.PreConnecting:
|
||||
Widget.OpenWindow("MAINMENU_BG");
|
||||
break;
|
||||
case ConnectionState.Connecting:
|
||||
Widget.OpenWindow("CONNECTING_BG");
|
||||
break;
|
||||
case ConnectionState.NotConnected:
|
||||
Widget.OpenWindow("CONNECTION_FAILED_BG");
|
||||
break;
|
||||
case ConnectionState.Connected:
|
||||
Widget.OpenWindow("SERVER_LOBBY");
|
||||
|
||||
var lobby = r.GetWidget("SERVER_LOBBY");
|
||||
lobby.GetWidget<ChatDisplayWidget>("CHAT_DISPLAY").ClearChat();
|
||||
lobby.GetWidget("CHANGEMAP_BUTTON").Visible = true;
|
||||
lobby.GetWidget("LOCKTEAMS_CHECKBOX").Visible = true;
|
||||
lobby.GetWidget("DISCONNECT_BUTTON").Visible = true;
|
||||
r.GetWidget("INGAME_ROOT").GetWidget<ChatDisplayWidget>("CHAT_DISPLAY").ClearChat();
|
||||
break;
|
||||
}
|
||||
};
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -14,26 +14,18 @@ using System.Net;
|
||||
namespace OpenRA.Widgets.Delegates
|
||||
{
|
||||
public class CreateServerMenuDelegate : IWidgetDelegate
|
||||
{
|
||||
public CreateServerMenuDelegate()
|
||||
{
|
||||
[ObjectCreator.UseCtor]
|
||||
public CreateServerMenuDelegate( [ObjectCreator.Param( "widget" )] Widget cs )
|
||||
{
|
||||
var settings = Game.Settings;
|
||||
|
||||
var r = Widget.RootWidget;
|
||||
var cs = r.GetWidget("CREATESERVER_BG");
|
||||
r.GetWidget("MAINMENU_BUTTON_CREATE").OnMouseUp = mi => {
|
||||
Widget.OpenWindow("CREATESERVER_BG");
|
||||
return true;
|
||||
};
|
||||
|
||||
cs.GetWidget("BUTTON_CANCEL").OnMouseUp = mi => {
|
||||
Widget.CloseWindow();
|
||||
return true;
|
||||
};
|
||||
|
||||
cs.GetWidget("BUTTON_START").OnMouseUp = mi => {
|
||||
Widget.OpenWindow("SERVER_LOBBY");
|
||||
|
||||
var map = Game.modData.AvailableMaps.FirstOrDefault(m => m.Value.Selectable).Key;
|
||||
|
||||
settings.Server.Name = cs.GetWidget<TextFieldWidget>("GAME_TITLE").Text;
|
||||
|
||||
@@ -27,7 +27,8 @@ namespace OpenRA.Widgets.Delegates
|
||||
public static Color CurrentColorPreview1;
|
||||
public static Color CurrentColorPreview2;
|
||||
|
||||
public LobbyDelegate()
|
||||
[ObjectCreator.UseCtor]
|
||||
public LobbyDelegate( [ObjectCreator.Param( "widget" )] Widget lobby )
|
||||
{
|
||||
Game.LobbyInfoChanged += UpdateCurrentMap;
|
||||
UpdateCurrentMap();
|
||||
@@ -35,9 +36,7 @@ namespace OpenRA.Widgets.Delegates
|
||||
CurrentColorPreview1 = Game.Settings.Player.Color1;
|
||||
CurrentColorPreview2 = Game.Settings.Player.Color2;
|
||||
|
||||
var r = Widget.RootWidget;
|
||||
var lobby = r.GetWidget("SERVER_LOBBY");
|
||||
Players = Widget.RootWidget.GetWidget("SERVER_LOBBY").GetWidget("PLAYERS");
|
||||
Players = lobby.GetWidget("PLAYERS");
|
||||
LocalPlayerTemplate = Players.GetWidget("TEMPLATE_LOCAL");
|
||||
RemotePlayerTemplate = Players.GetWidget("TEMPLATE_REMOTE");
|
||||
EmptySlotTemplate = Players.GetWidget("TEMPLATE_EMPTY");
|
||||
@@ -74,8 +73,7 @@ namespace OpenRA.Widgets.Delegates
|
||||
var mapButton = lobby.GetWidget("CHANGEMAP_BUTTON");
|
||||
mapButton.OnMouseUp = mi =>
|
||||
{
|
||||
r.GetWidget("MAP_CHOOSER").SpecialOneArg(MapUid);
|
||||
Widget.OpenWindow("MAP_CHOOSER");
|
||||
Widget.OpenWindow("MAP_CHOOSER").SpecialOneArg(MapUid); // WTF
|
||||
return true;
|
||||
};
|
||||
|
||||
|
||||
@@ -14,13 +14,17 @@ namespace OpenRA.Widgets.Delegates
|
||||
{
|
||||
public class MainMenuButtonsDelegate : IWidgetDelegate
|
||||
{
|
||||
public MainMenuButtonsDelegate()
|
||||
[ObjectCreator.UseCtor]
|
||||
public MainMenuButtonsDelegate( [ObjectCreator.Param( "widget" )] Widget widget )
|
||||
{
|
||||
// Main menu is the default window
|
||||
Widget.WindowList.Push("MAINMENU_BG");
|
||||
Widget.RootWidget.GetWidget("MAINMENU_BUTTON_QUIT").OnMouseUp = mi => { Game.Exit(); return true; };
|
||||
widget.GetWidget( "MAINMENU_BUTTON_JOIN" ).OnMouseUp = mi => { Widget.OpenWindow( "JOINSERVER_BG" ); return true; };
|
||||
widget.GetWidget( "MAINMENU_BUTTON_CREATE" ).OnMouseUp = mi => { Widget.OpenWindow( "CREATESERVER_BG" ); return true; };
|
||||
widget.GetWidget( "MAINMENU_BUTTON_SETTINGS" ).OnMouseUp = mi => { Widget.OpenWindow( "SETTINGS_MENU" ); return true; };
|
||||
widget.GetWidget( "MAINMENU_BUTTON_MUSIC" ).OnMouseUp = mi => { Widget.OpenWindow( "MUSIC_MENU" ); return true; };
|
||||
widget.GetWidget( "MAINMENU_BUTTON_QUIT" ).OnMouseUp = mi => { Game.Exit(); return true; };
|
||||
|
||||
var version = Widget.RootWidget.GetWidget("MAINMENU_BG").GetWidget<LabelWidget>("VERSION_STRING");
|
||||
var version = widget.GetWidget<LabelWidget>("VERSION_STRING");
|
||||
|
||||
if (FileSystem.Exists("VERSION"))
|
||||
{
|
||||
|
||||
@@ -17,10 +17,10 @@ namespace OpenRA.Widgets.Delegates
|
||||
public class MapChooserDelegate : IWidgetDelegate
|
||||
{
|
||||
MapStub Map = null;
|
||||
public MapChooserDelegate()
|
||||
|
||||
[ObjectCreator.UseCtor]
|
||||
public MapChooserDelegate( [ObjectCreator.Param( "widget" )] Widget bg )
|
||||
{
|
||||
var r = Widget.RootWidget;
|
||||
var bg = r.GetWidget("MAP_CHOOSER");
|
||||
bg.SpecialOneArg = (map) => RefreshMapList(map);
|
||||
var ml = bg.GetWidget<ListBoxWidget>("MAP_LIST");
|
||||
|
||||
|
||||
@@ -27,12 +27,7 @@ namespace OpenRA.Widgets.Delegates
|
||||
Widget.CloseWindow();
|
||||
return true;
|
||||
};
|
||||
|
||||
Widget.RootWidget.GetWidget("MAINMENU_BUTTON_MUSIC").OnMouseUp = mi => {
|
||||
Widget.OpenWindow("MUSIC_MENU");
|
||||
return true;
|
||||
};
|
||||
|
||||
|
||||
bg.GetWidget("BUTTON_PLAY").OnMouseUp = mi =>
|
||||
{
|
||||
if (CurrentSong == null)
|
||||
|
||||
@@ -23,28 +23,20 @@ namespace OpenRA.Widgets.Delegates
|
||||
GameServer currentServer = null;
|
||||
Widget ServerTemplate;
|
||||
|
||||
public ServerBrowserDelegate()
|
||||
[ObjectCreator.UseCtor]
|
||||
public ServerBrowserDelegate( [ObjectCreator.Param( "widget" )] Widget widget )
|
||||
{
|
||||
var r = Widget.RootWidget;
|
||||
var bg = r.GetWidget("JOINSERVER_BG");
|
||||
var dc = r.GetWidget("DIRECTCONNECT_BG");
|
||||
var bg = widget.GetWidget("JOINSERVER_BG");
|
||||
|
||||
MasterServerQuery.OnComplete += games => RefreshServerList(games);
|
||||
|
||||
r.GetWidget("MAINMENU_BUTTON_JOIN").OnMouseUp = mi =>
|
||||
{
|
||||
Widget.OpenWindow("JOINSERVER_BG");
|
||||
widget.GetWidget("JOINSERVER_PROGRESS_TITLE").Visible = true;
|
||||
widget.GetWidget<LabelWidget>("JOINSERVER_PROGRESS_TITLE").Text = "Fetching game list...";
|
||||
|
||||
r.GetWidget("JOINSERVER_PROGRESS_TITLE").Visible = true;
|
||||
r.GetWidget<LabelWidget>("JOINSERVER_PROGRESS_TITLE").Text = "Fetching game list...";
|
||||
bg.Children.RemoveAll(a => GameButtons.Contains(a));
|
||||
GameButtons.Clear();
|
||||
|
||||
bg.Children.RemoveAll(a => GameButtons.Contains(a));
|
||||
GameButtons.Clear();
|
||||
|
||||
MasterServerQuery.Refresh(Game.Settings.Server.MasterServer);
|
||||
|
||||
return true;
|
||||
};
|
||||
MasterServerQuery.Refresh(Game.Settings.Server.MasterServer);
|
||||
|
||||
bg.GetWidget("SERVER_INFO").IsVisible = () => currentServer != null;
|
||||
var preview = bg.GetWidget<MapPreviewWidget>("MAP_PREVIEW");
|
||||
@@ -70,8 +62,8 @@ namespace OpenRA.Widgets.Delegates
|
||||
|
||||
bg.GetWidget("REFRESH_BUTTON").OnMouseUp = mi =>
|
||||
{
|
||||
r.GetWidget("JOINSERVER_PROGRESS_TITLE").Visible = true;
|
||||
r.GetWidget<LabelWidget>("JOINSERVER_PROGRESS_TITLE").Text = "Fetching game list...";
|
||||
widget.GetWidget("JOINSERVER_PROGRESS_TITLE").Visible = true;
|
||||
widget.GetWidget<LabelWidget>("JOINSERVER_PROGRESS_TITLE").Text = "Fetching game list...";
|
||||
|
||||
bg.Children.RemoveAll(a => GameButtons.Contains(a));
|
||||
GameButtons.Clear();
|
||||
@@ -90,8 +82,6 @@ namespace OpenRA.Widgets.Delegates
|
||||
bg.GetWidget("DIRECTCONNECT_BUTTON").OnMouseUp = mi =>
|
||||
{
|
||||
Widget.CloseWindow();
|
||||
|
||||
dc.GetWidget<TextFieldWidget>("SERVER_ADDRESS").Text = Game.Settings.Player.LastServer;
|
||||
Widget.OpenWindow("DIRECTCONNECT_BG");
|
||||
return true;
|
||||
};
|
||||
@@ -123,29 +113,6 @@ namespace OpenRA.Widgets.Delegates
|
||||
Game.JoinServer(currentServer.Address.Split(':')[0], int.Parse(currentServer.Address.Split(':')[1]));
|
||||
return true;
|
||||
};
|
||||
|
||||
// Direct Connect
|
||||
dc.GetWidget("JOIN_BUTTON").OnMouseUp = mi =>
|
||||
{
|
||||
|
||||
var address = dc.GetWidget<TextFieldWidget>("SERVER_ADDRESS").Text;
|
||||
var cpts = address.Split(':').ToArray();
|
||||
if (cpts.Length != 2)
|
||||
return true;
|
||||
|
||||
Game.Settings.Player.LastServer = address;
|
||||
Game.Settings.Save();
|
||||
|
||||
Widget.CloseWindow();
|
||||
Game.JoinServer(cpts[0], int.Parse(cpts[1]));
|
||||
return true;
|
||||
};
|
||||
|
||||
dc.GetWidget("CANCEL_BUTTON").OnMouseUp = mi =>
|
||||
{
|
||||
Widget.CloseWindow();
|
||||
return r.GetWidget("MAINMENU_BUTTON_JOIN").OnMouseUp(mi);
|
||||
};
|
||||
}
|
||||
|
||||
MapStub CurrentMap()
|
||||
@@ -205,4 +172,37 @@ namespace OpenRA.Widgets.Delegates
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public class DirectConnectDelegate : IWidgetDelegate
|
||||
{
|
||||
[ObjectCreator.UseCtor]
|
||||
public DirectConnectDelegate( [ObjectCreator.Param( "widget" )] Widget widget )
|
||||
{
|
||||
var dc = widget.GetWidget("DIRECTCONNECT_BG");
|
||||
|
||||
dc.GetWidget<TextFieldWidget>("SERVER_ADDRESS").Text = Game.Settings.Player.LastServer;
|
||||
|
||||
dc.GetWidget("JOIN_BUTTON").OnMouseUp = mi =>
|
||||
{
|
||||
|
||||
var address = dc.GetWidget<TextFieldWidget>("SERVER_ADDRESS").Text;
|
||||
var cpts = address.Split(':').ToArray();
|
||||
if (cpts.Length != 2)
|
||||
return true;
|
||||
|
||||
Game.Settings.Player.LastServer = address;
|
||||
Game.Settings.Save();
|
||||
|
||||
Widget.CloseWindow();
|
||||
Game.JoinServer(cpts[0], int.Parse(cpts[1]));
|
||||
return true;
|
||||
};
|
||||
|
||||
dc.GetWidget("CANCEL_BUTTON").OnMouseUp = mi =>
|
||||
{
|
||||
Widget.CloseWindow();
|
||||
return widget.GetWidget("MAINMENU_BUTTON_JOIN").OnMouseUp(mi);
|
||||
};
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -153,14 +153,6 @@ namespace OpenRA.Widgets.Delegates
|
||||
Widget.CloseWindow();
|
||||
return true;
|
||||
};
|
||||
|
||||
// Menu Buttons
|
||||
Widget.RootWidget.GetWidget("MAINMENU_BUTTON_SETTINGS").OnMouseUp = mi => {
|
||||
Widget.OpenWindow("SETTINGS_MENU");
|
||||
return true;
|
||||
};
|
||||
|
||||
|
||||
}
|
||||
|
||||
string open = null;
|
||||
|
||||
@@ -26,6 +26,7 @@ namespace OpenRA.Widgets
|
||||
public string Width = "0";
|
||||
public string Height = "0";
|
||||
public string Delegate = null;
|
||||
public string EventHandler = null;
|
||||
public bool ClickThrough = true;
|
||||
public bool Visible = true;
|
||||
public readonly List<Widget> Children = new List<Widget>();
|
||||
@@ -35,7 +36,7 @@ namespace OpenRA.Widgets
|
||||
public Widget Parent = null;
|
||||
|
||||
static List<string> Delegates = new List<string>();
|
||||
public static Stack<string> WindowList = new Stack<string>();
|
||||
public static Stack<Widget> WindowList = new Stack<Widget>();
|
||||
|
||||
// Common Funcs that most widgets will want
|
||||
public Action<object> SpecialOneArg = (arg) => {};
|
||||
@@ -47,24 +48,13 @@ namespace OpenRA.Widgets
|
||||
public Func<bool> IsVisible;
|
||||
|
||||
public Widget() { IsVisible = () => Visible; }
|
||||
|
||||
public static Widget RootWidget {
|
||||
get
|
||||
{
|
||||
if (rootWidget == null)
|
||||
{
|
||||
rootWidget = new ContainerWidget();
|
||||
foreach( var file in Game.modData.Manifest.ChromeLayout.Select( a => MiniYaml.FromFile( a ) ) )
|
||||
foreach( var w in file )
|
||||
rootWidget.AddChild( WidgetLoader.LoadWidget( w ) );
|
||||
|
||||
rootWidget.Initialize();
|
||||
rootWidget.InitDelegates();
|
||||
}
|
||||
return rootWidget;
|
||||
}
|
||||
|
||||
public static Widget RootWidget
|
||||
{
|
||||
get { return rootWidget; }
|
||||
set { rootWidget = value; }
|
||||
}
|
||||
private static Widget rootWidget = null;
|
||||
private static Widget rootWidget = new ContainerWidget();
|
||||
|
||||
public Widget(Widget widget)
|
||||
{
|
||||
@@ -132,14 +122,15 @@ namespace OpenRA.Widgets
|
||||
Evaluator.Evaluate(Y, substitutions),
|
||||
width,
|
||||
height);
|
||||
}
|
||||
|
||||
// Non-static func definitions
|
||||
|
||||
if (Delegate != null && !Delegates.Contains(Delegate))
|
||||
Delegates.Add(Delegate);
|
||||
|
||||
foreach (var child in Children)
|
||||
child.Initialize();
|
||||
public void PostInit()
|
||||
{
|
||||
if( Delegate != null )
|
||||
{
|
||||
var createDict = new Dictionary<string, object> { { "widget", this } };
|
||||
Game.modData.ObjectCreator.CreateObject<IWidgetDelegate>( Delegate, createDict );
|
||||
}
|
||||
}
|
||||
|
||||
public void InitDelegates()
|
||||
@@ -324,18 +315,17 @@ namespace OpenRA.Widgets
|
||||
|
||||
public static void CloseWindow()
|
||||
{
|
||||
RootWidget.GetWidget(WindowList.Pop()).Visible = false;
|
||||
if (WindowList.Count > 0)
|
||||
RootWidget.GetWidget(WindowList.Peek()).Visible = true;
|
||||
RootWidget.Children.Remove( WindowList.Pop() );
|
||||
if( WindowList.Count > 0 )
|
||||
rootWidget.Children.Add( WindowList.Peek() );
|
||||
}
|
||||
|
||||
public static Widget OpenWindow(string id)
|
||||
{
|
||||
if (WindowList.Count > 0)
|
||||
RootWidget.GetWidget(WindowList.Peek()).Visible = false;
|
||||
WindowList.Push(id);
|
||||
var window = RootWidget.GetWidget(id);
|
||||
window.Visible = true;
|
||||
var window = Game.modData.WidgetLoader.LoadWidget( rootWidget, id );
|
||||
if( WindowList.Count > 0 )
|
||||
rootWidget.Children.Remove( WindowList.Peek() );
|
||||
WindowList.Push( window );
|
||||
return window;
|
||||
}
|
||||
|
||||
|
||||
@@ -8,29 +8,57 @@
|
||||
*/
|
||||
#endregion
|
||||
|
||||
using System.Linq;
|
||||
using System.Collections.Generic;
|
||||
using OpenRA.FileFormats;
|
||||
using OpenRA.Widgets;
|
||||
|
||||
namespace OpenRA
|
||||
{
|
||||
class WidgetLoader
|
||||
public class WidgetLoader
|
||||
{
|
||||
public static Widget LoadWidget(MiniYamlNode node)
|
||||
// foreach( var file in Game.modData.Manifest.ChromeLayout.Select( a => MiniYaml.FromFile( a ) ) )
|
||||
// foreach( var w in file )
|
||||
// rootWidget.AddChild( WidgetLoader.LoadWidget( w ) );
|
||||
|
||||
// rootWidget.Initialize();
|
||||
// rootWidget.InitDelegates();
|
||||
|
||||
Dictionary<string, MiniYamlNode> widgets = new Dictionary<string, MiniYamlNode>();
|
||||
|
||||
public WidgetLoader( ModData modData )
|
||||
{
|
||||
foreach( var file in modData.Manifest.ChromeLayout.Select( a => MiniYaml.FromFile( a ) ) )
|
||||
foreach( var w in file )
|
||||
widgets.Add( w.Key.Substring( w.Key.IndexOf( '@' ) + 1 ), w );
|
||||
}
|
||||
|
||||
public Widget LoadWidget( Widget parent, string w )
|
||||
{
|
||||
return LoadWidget( parent, widgets[ w ] );
|
||||
}
|
||||
|
||||
public Widget LoadWidget( Widget parent, MiniYamlNode node)
|
||||
{
|
||||
var widget = NewWidget(node.Key);
|
||||
parent.AddChild( widget );
|
||||
|
||||
foreach (var child in node.Value.Nodes)
|
||||
if (child.Key != "Children")
|
||||
FieldLoader.LoadField(widget, child.Key, child.Value.Value);
|
||||
|
||||
widget.Initialize();
|
||||
|
||||
foreach (var child in node.Value.Nodes)
|
||||
{
|
||||
if (child.Key == "Children")
|
||||
foreach (var c in child.Value.Nodes)
|
||||
widget.AddChild(LoadWidget(c));
|
||||
else
|
||||
FieldLoader.LoadField(widget, child.Key, child.Value.Value);
|
||||
}
|
||||
LoadWidget( widget, c);
|
||||
|
||||
widget.PostInit();
|
||||
return widget;
|
||||
}
|
||||
|
||||
static Widget NewWidget(string widgetType)
|
||||
Widget NewWidget(string widgetType)
|
||||
{
|
||||
widgetType = widgetType.Split('@')[0];
|
||||
return Game.CreateObject<Widget>(widgetType + "Widget");
|
||||
|
||||
@@ -21,9 +21,6 @@ namespace OpenRA.Mods.RA.Widgets.Delegates
|
||||
var gameRoot = r.GetWidget("INGAME_ROOT");
|
||||
var optionsBG = gameRoot.GetWidget("INGAME_OPTIONS_BG");
|
||||
|
||||
Game.BeforeGameStart += () => Widget.OpenWindow("INGAME_ROOT");
|
||||
Game.AfterGameStart += () => gameRoot.GetWidget<RadarBinWidget>("INGAME_RADAR_BIN").SetWorld(Game.world);
|
||||
|
||||
r.GetWidget("INGAME_OPTIONS_BUTTON").OnMouseUp = mi => {
|
||||
optionsBG.Visible = !optionsBG.Visible;
|
||||
return true;
|
||||
|
||||
@@ -163,6 +163,9 @@ namespace OpenRA.Mods.RA.Widgets
|
||||
int updateTicks = 0;
|
||||
public override void Tick(World w)
|
||||
{
|
||||
if( world != w )
|
||||
SetWorld( w );
|
||||
|
||||
var hasRadarNew = world.Queries.OwnedBy[world.LocalPlayer]
|
||||
.WithTrait<ProvidesRadar>()
|
||||
.Any(a => a.Trait.IsActive);
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -1,286 +1,286 @@
|
||||
Container@INGAME_ROOT:
|
||||
Id:INGAME_ROOT
|
||||
Delegate:IngameChromeDelegate
|
||||
Visible:false
|
||||
Children:
|
||||
WorldInteractionController:
|
||||
X:0
|
||||
Y:0
|
||||
Width:WINDOW_RIGHT
|
||||
Height:WINDOW_BOTTOM
|
||||
ViewportScrollController:
|
||||
X:0
|
||||
Y:0
|
||||
Width:WINDOW_RIGHT
|
||||
Height:WINDOW_BOTTOM
|
||||
Timer@GAME_TIMER:
|
||||
Id:GAME_TIMER
|
||||
X: WINDOW_RIGHT/2
|
||||
Y: 10
|
||||
Background@POSTGAME_BG:
|
||||
Id:POSTGAME_BG
|
||||
X:(WINDOW_RIGHT - WIDTH)/2
|
||||
Y:(WINDOW_BOTTOM - HEIGHT)/2
|
||||
Width:400
|
||||
Height:100
|
||||
Background:dialog4
|
||||
Visible:false
|
||||
Children:
|
||||
Label@TEXT:
|
||||
Id:TEXT
|
||||
X:(PARENT_RIGHT - WIDTH)/2
|
||||
Y:(PARENT_BOTTOM - HEIGHT)/2
|
||||
Width:200
|
||||
Height:40
|
||||
Align:Center
|
||||
Bold:True
|
||||
SpecialPowerBin@INGAME_POWERS_BIN:
|
||||
Id:INGAME_POWERS_BIN
|
||||
X:0
|
||||
Y:25
|
||||
BuildPalette@INGAME_BUILD_PALETTE:
|
||||
Id:INGAME_BUILD_PALETTE
|
||||
X:WINDOW_RIGHT - 250
|
||||
Y:280
|
||||
Width:250
|
||||
Height:500
|
||||
Button@INGAME_OPTIONS_BUTTON:
|
||||
Id:INGAME_OPTIONS_BUTTON
|
||||
X:0
|
||||
Y:0
|
||||
Width:160
|
||||
Height:25
|
||||
Text:Options
|
||||
Bold:True
|
||||
Button@INGAME_DIPLOMACY_BUTTON:
|
||||
Id:INGAME_DIPLOMACY_BUTTON
|
||||
X:162
|
||||
Y:0
|
||||
Width:160
|
||||
Height:25
|
||||
Text:Diplomacy
|
||||
Bold:True
|
||||
Button@INGAME_DEVELOPERMODE_BUTTON:
|
||||
Id:INGAME_DEVELOPERMODE_BUTTON
|
||||
X:324
|
||||
Y:0
|
||||
Width:160
|
||||
Height:25
|
||||
Text:Developer Mode
|
||||
Visible:false
|
||||
Bold:True
|
||||
RadarBin@INGAME_RADAR_BIN:
|
||||
Id:INGAME_RADAR_BIN
|
||||
PowerBin@INGAME_POWER_BIN:
|
||||
Id:INGAME_POWER_BIN
|
||||
MoneyBin@INGAME_MONEY_BIN:
|
||||
Id:INGAME_MONEY_BIN
|
||||
X:WINDOW_RIGHT - WIDTH
|
||||
Y:0
|
||||
Width:320
|
||||
Height: 32
|
||||
SplitOreAndCash:No
|
||||
Children:
|
||||
OrderButton@SELL:
|
||||
Id:SELL
|
||||
Delegate:OrderButtonsChromeDelegate
|
||||
X:3
|
||||
Y:0
|
||||
Width:30
|
||||
Height:30
|
||||
Image:sell
|
||||
Description:Sell
|
||||
LongDesc:Sell buildings, reclaiming a \nproportion of their build cost
|
||||
OrderButton@POWER_DOWN:
|
||||
Id:POWER_DOWN
|
||||
Delegate:OrderButtonsChromeDelegate
|
||||
X:39
|
||||
Y:0
|
||||
Width:30
|
||||
Height:30
|
||||
Image:power
|
||||
Description:Powerdown
|
||||
LongDesc:Disable unneeded structures so their \npower can be used elsewhere
|
||||
OrderButton@REPAIR:
|
||||
Id:REPAIR
|
||||
Delegate:OrderButtonsChromeDelegate
|
||||
X:75
|
||||
Y:0
|
||||
Width:30
|
||||
Height:30
|
||||
Image:repair
|
||||
Description:Repair
|
||||
LongDesc:Repair damaged buildings
|
||||
WorldTooltip:
|
||||
Background@INGAME_OPTIONS_BG:
|
||||
Id:INGAME_OPTIONS_BG
|
||||
X:(WINDOW_RIGHT - WIDTH)/2
|
||||
Y:(WINDOW_BOTTOM - HEIGHT)/2
|
||||
Width:300
|
||||
Height:320
|
||||
Visible:false
|
||||
Children:
|
||||
Label@LABEL_TITLE:
|
||||
Id:LABEL_TITLE
|
||||
X:(PARENT_RIGHT - WIDTH)/2
|
||||
Y:20
|
||||
Width:250
|
||||
Height:25
|
||||
Text:Options
|
||||
Align:Center
|
||||
Bold:True
|
||||
Button@RESUME:
|
||||
Id:RESUME
|
||||
X:(PARENT_RIGHT - WIDTH)/2
|
||||
Y:60
|
||||
Width:160
|
||||
Height:25
|
||||
Text:Resume
|
||||
Bold:True
|
||||
Button@SETTINGS:
|
||||
Id:SETTINGS
|
||||
X:(PARENT_RIGHT - WIDTH)/2
|
||||
Y:100
|
||||
Width:160
|
||||
Height:25
|
||||
Text:Settings
|
||||
Bold:True
|
||||
Button@MUSIC:
|
||||
Id:MUSIC
|
||||
X:(PARENT_RIGHT - WIDTH)/2
|
||||
Y:140
|
||||
Width:160
|
||||
Height:25
|
||||
Text:Music
|
||||
Bold:True
|
||||
Button@SURRENDER:
|
||||
Id:SURRENDER
|
||||
X:(PARENT_RIGHT - WIDTH)/2
|
||||
Y:180
|
||||
Width:160
|
||||
Height:25
|
||||
Text:Surrender
|
||||
Bold:True
|
||||
Button@DISCONNECT:
|
||||
Id:DISCONNECT
|
||||
X:(PARENT_RIGHT - WIDTH)/2
|
||||
Y:220
|
||||
Width:160
|
||||
Height:25
|
||||
Text:Disconnect
|
||||
Bold:True
|
||||
Button@QUIT:
|
||||
Id:QUIT
|
||||
X:(PARENT_RIGHT - WIDTH)/2
|
||||
Y:260
|
||||
Width:160
|
||||
Height:25
|
||||
Text:Quit
|
||||
Bold:True
|
||||
Background@DIPLOMACY_BG:
|
||||
Id:DIPLOMACY_BG
|
||||
Delegate:DiplomacyDelegate
|
||||
X:(WINDOW_RIGHT - WIDTH)/2
|
||||
Y:(WINDOW_BOTTOM - HEIGHT)/2
|
||||
Width:450
|
||||
Height:400
|
||||
Visible:false
|
||||
Children:
|
||||
Label@LABEL_TITLE:
|
||||
Id:LABEL_TITLE
|
||||
X:(PARENT_RIGHT - WIDTH)/2
|
||||
Y:20
|
||||
Width:250
|
||||
Height:25
|
||||
Text:Diplomacy
|
||||
Align:Center
|
||||
Bold:True
|
||||
ChatDisplay@CHAT_DISPLAY:
|
||||
Id:CHAT_DISPLAY
|
||||
X:250
|
||||
Y:WINDOW_BOTTOM - HEIGHT - 30
|
||||
Width: 760
|
||||
Height: 200
|
||||
ClickThrough: True
|
||||
DrawBackground: False
|
||||
RemoveTime:250
|
||||
ChatEntry@CHAT_ENTRY:
|
||||
Id:CHAT_ENTRY
|
||||
X:250
|
||||
Y:WINDOW_BOTTOM - HEIGHT
|
||||
Width: 760
|
||||
Height: 30
|
||||
ClickThrough: True
|
||||
Background@DEVELOPERMODE_BG:
|
||||
Id:DEVELOPERMODE_BG
|
||||
Delegate:DeveloperModeDelegate
|
||||
X:(WINDOW_RIGHT - WIDTH)/2
|
||||
Y:(WINDOW_BOTTOM - HEIGHT)/2
|
||||
Width:350
|
||||
Height:330
|
||||
Visible:false
|
||||
Children:
|
||||
Label@LABEL_TITLE:
|
||||
Id:LABEL_TITLE
|
||||
X:(PARENT_RIGHT - WIDTH)/2
|
||||
Y:20
|
||||
Width:250
|
||||
Height:25
|
||||
Text:Developer Mode
|
||||
Align:Center
|
||||
Checkbox@CHECKBOX_SHROUD
|
||||
Id:CHECKBOX_SHROUD
|
||||
X:30
|
||||
Y:50
|
||||
Height:20
|
||||
Width:PARENT_RIGHT - 30
|
||||
Text:Disable Shroud
|
||||
Checkbox@CHECKBOX_UNITDEBUG:
|
||||
Id:CHECKBOX_UNITDEBUG
|
||||
X:30
|
||||
Y:80
|
||||
Width:PARENT_RIGHT - 30
|
||||
Height:20
|
||||
Text:Show Occupied Cells
|
||||
Checkbox@CHECKBOX_PATHDEBUG:
|
||||
Id:CHECKBOX_PATHDEBUG
|
||||
X:30
|
||||
Y:110
|
||||
Width:PARENT_RIGHT - 30
|
||||
Height:20
|
||||
Text:Show Unit Paths
|
||||
Button@GIVE_CASH
|
||||
Id:GIVE_CASH
|
||||
X:30
|
||||
Y:140
|
||||
Width:200
|
||||
Height:20
|
||||
Text: Give Cash
|
||||
Checkbox@INSTANT_BUILD
|
||||
Id:INSTANT_BUILD
|
||||
X:30
|
||||
Y:170
|
||||
Width:PARENT_RIGHT - 30
|
||||
Height:20
|
||||
Text:Instant Build Speed
|
||||
Checkbox@INSTANT_CHARGE
|
||||
Id:INSTANT_CHARGE
|
||||
X:30
|
||||
Y:200
|
||||
Width:PARENT_RIGHT - 30
|
||||
Height:20
|
||||
Text:Instant Charge Time (Special Powers)
|
||||
Checkbox@ENABLE_TECH
|
||||
Id:ENABLE_TECH
|
||||
X:30
|
||||
Y:230
|
||||
Width:PARENT_RIGHT - 30
|
||||
Height:20
|
||||
Text:Build Everything
|
||||
Button@GIVE_EXPLORATION
|
||||
Id:GIVE_EXPLORATION
|
||||
X:30
|
||||
Y:260
|
||||
Width:200
|
||||
Height:20
|
||||
Text: Give Exploration
|
||||
Container@INGAME_ROOT:
|
||||
Id:INGAME_ROOT
|
||||
Delegate:IngameChromeDelegate
|
||||
Visible:true
|
||||
Children:
|
||||
WorldInteractionController:
|
||||
X:0
|
||||
Y:0
|
||||
Width:WINDOW_RIGHT
|
||||
Height:WINDOW_BOTTOM
|
||||
ViewportScrollController:
|
||||
X:0
|
||||
Y:0
|
||||
Width:WINDOW_RIGHT
|
||||
Height:WINDOW_BOTTOM
|
||||
Timer@GAME_TIMER:
|
||||
Id:GAME_TIMER
|
||||
X: WINDOW_RIGHT/2
|
||||
Y: 10
|
||||
Background@POSTGAME_BG:
|
||||
Id:POSTGAME_BG
|
||||
X:(WINDOW_RIGHT - WIDTH)/2
|
||||
Y:(WINDOW_BOTTOM - HEIGHT)/2
|
||||
Width:400
|
||||
Height:100
|
||||
Background:dialog4
|
||||
Visible:false
|
||||
Children:
|
||||
Label@TEXT:
|
||||
Id:TEXT
|
||||
X:(PARENT_RIGHT - WIDTH)/2
|
||||
Y:(PARENT_BOTTOM - HEIGHT)/2
|
||||
Width:200
|
||||
Height:40
|
||||
Align:Center
|
||||
Bold:True
|
||||
SpecialPowerBin@INGAME_POWERS_BIN:
|
||||
Id:INGAME_POWERS_BIN
|
||||
X:0
|
||||
Y:25
|
||||
BuildPalette@INGAME_BUILD_PALETTE:
|
||||
Id:INGAME_BUILD_PALETTE
|
||||
X:WINDOW_RIGHT - 250
|
||||
Y:280
|
||||
Width:250
|
||||
Height:500
|
||||
Button@INGAME_OPTIONS_BUTTON:
|
||||
Id:INGAME_OPTIONS_BUTTON
|
||||
X:0
|
||||
Y:0
|
||||
Width:160
|
||||
Height:25
|
||||
Text:Options
|
||||
Bold:True
|
||||
Button@INGAME_DIPLOMACY_BUTTON:
|
||||
Id:INGAME_DIPLOMACY_BUTTON
|
||||
X:162
|
||||
Y:0
|
||||
Width:160
|
||||
Height:25
|
||||
Text:Diplomacy
|
||||
Bold:True
|
||||
Button@INGAME_DEVELOPERMODE_BUTTON:
|
||||
Id:INGAME_DEVELOPERMODE_BUTTON
|
||||
X:324
|
||||
Y:0
|
||||
Width:160
|
||||
Height:25
|
||||
Text:Developer Mode
|
||||
Visible:false
|
||||
Bold:True
|
||||
RadarBin@INGAME_RADAR_BIN:
|
||||
Id:INGAME_RADAR_BIN
|
||||
PowerBin@INGAME_POWER_BIN:
|
||||
Id:INGAME_POWER_BIN
|
||||
MoneyBin@INGAME_MONEY_BIN:
|
||||
Id:INGAME_MONEY_BIN
|
||||
X:WINDOW_RIGHT - WIDTH
|
||||
Y:0
|
||||
Width:320
|
||||
Height: 32
|
||||
SplitOreAndCash:No
|
||||
Children:
|
||||
OrderButton@SELL:
|
||||
Id:SELL
|
||||
Delegate:OrderButtonsChromeDelegate
|
||||
X:3
|
||||
Y:0
|
||||
Width:30
|
||||
Height:30
|
||||
Image:sell
|
||||
Description:Sell
|
||||
LongDesc:Sell buildings, reclaiming a \nproportion of their build cost
|
||||
OrderButton@POWER_DOWN:
|
||||
Id:POWER_DOWN
|
||||
Delegate:OrderButtonsChromeDelegate
|
||||
X:39
|
||||
Y:0
|
||||
Width:30
|
||||
Height:30
|
||||
Image:power
|
||||
Description:Powerdown
|
||||
LongDesc:Disable unneeded structures so their \npower can be used elsewhere
|
||||
OrderButton@REPAIR:
|
||||
Id:REPAIR
|
||||
Delegate:OrderButtonsChromeDelegate
|
||||
X:75
|
||||
Y:0
|
||||
Width:30
|
||||
Height:30
|
||||
Image:repair
|
||||
Description:Repair
|
||||
LongDesc:Repair damaged buildings
|
||||
WorldTooltip:
|
||||
Background@INGAME_OPTIONS_BG:
|
||||
Id:INGAME_OPTIONS_BG
|
||||
X:(WINDOW_RIGHT - WIDTH)/2
|
||||
Y:(WINDOW_BOTTOM - HEIGHT)/2
|
||||
Width:300
|
||||
Height:320
|
||||
Visible:false
|
||||
Children:
|
||||
Label@LABEL_TITLE:
|
||||
Id:LABEL_TITLE
|
||||
X:(PARENT_RIGHT - WIDTH)/2
|
||||
Y:20
|
||||
Width:250
|
||||
Height:25
|
||||
Text:Options
|
||||
Align:Center
|
||||
Bold:True
|
||||
Button@RESUME:
|
||||
Id:RESUME
|
||||
X:(PARENT_RIGHT - WIDTH)/2
|
||||
Y:60
|
||||
Width:160
|
||||
Height:25
|
||||
Text:Resume
|
||||
Bold:True
|
||||
Button@SETTINGS:
|
||||
Id:SETTINGS
|
||||
X:(PARENT_RIGHT - WIDTH)/2
|
||||
Y:100
|
||||
Width:160
|
||||
Height:25
|
||||
Text:Settings
|
||||
Bold:True
|
||||
Button@MUSIC:
|
||||
Id:MUSIC
|
||||
X:(PARENT_RIGHT - WIDTH)/2
|
||||
Y:140
|
||||
Width:160
|
||||
Height:25
|
||||
Text:Music
|
||||
Bold:True
|
||||
Button@SURRENDER:
|
||||
Id:SURRENDER
|
||||
X:(PARENT_RIGHT - WIDTH)/2
|
||||
Y:180
|
||||
Width:160
|
||||
Height:25
|
||||
Text:Surrender
|
||||
Bold:True
|
||||
Button@DISCONNECT:
|
||||
Id:DISCONNECT
|
||||
X:(PARENT_RIGHT - WIDTH)/2
|
||||
Y:220
|
||||
Width:160
|
||||
Height:25
|
||||
Text:Disconnect
|
||||
Bold:True
|
||||
Button@QUIT:
|
||||
Id:QUIT
|
||||
X:(PARENT_RIGHT - WIDTH)/2
|
||||
Y:260
|
||||
Width:160
|
||||
Height:25
|
||||
Text:Quit
|
||||
Bold:True
|
||||
Background@DIPLOMACY_BG:
|
||||
Id:DIPLOMACY_BG
|
||||
Delegate:DiplomacyDelegate
|
||||
X:(WINDOW_RIGHT - WIDTH)/2
|
||||
Y:(WINDOW_BOTTOM - HEIGHT)/2
|
||||
Width:450
|
||||
Height:400
|
||||
Visible:false
|
||||
Children:
|
||||
Label@LABEL_TITLE:
|
||||
Id:LABEL_TITLE
|
||||
X:(PARENT_RIGHT - WIDTH)/2
|
||||
Y:20
|
||||
Width:250
|
||||
Height:25
|
||||
Text:Diplomacy
|
||||
Align:Center
|
||||
Bold:True
|
||||
ChatDisplay@CHAT_DISPLAY:
|
||||
Id:CHAT_DISPLAY
|
||||
X:250
|
||||
Y:WINDOW_BOTTOM - HEIGHT - 30
|
||||
Width: 760
|
||||
Height: 200
|
||||
ClickThrough: True
|
||||
DrawBackground: False
|
||||
RemoveTime:250
|
||||
ChatEntry@CHAT_ENTRY:
|
||||
Id:CHAT_ENTRY
|
||||
X:250
|
||||
Y:WINDOW_BOTTOM - HEIGHT
|
||||
Width: 760
|
||||
Height: 30
|
||||
ClickThrough: True
|
||||
Background@DEVELOPERMODE_BG:
|
||||
Id:DEVELOPERMODE_BG
|
||||
Delegate:DeveloperModeDelegate
|
||||
X:(WINDOW_RIGHT - WIDTH)/2
|
||||
Y:(WINDOW_BOTTOM - HEIGHT)/2
|
||||
Width:350
|
||||
Height:330
|
||||
Visible:false
|
||||
Children:
|
||||
Label@LABEL_TITLE:
|
||||
Id:LABEL_TITLE
|
||||
X:(PARENT_RIGHT - WIDTH)/2
|
||||
Y:20
|
||||
Width:250
|
||||
Height:25
|
||||
Text:Developer Mode
|
||||
Align:Center
|
||||
Checkbox@CHECKBOX_SHROUD
|
||||
Id:CHECKBOX_SHROUD
|
||||
X:30
|
||||
Y:50
|
||||
Height:20
|
||||
Width:PARENT_RIGHT - 30
|
||||
Text:Disable Shroud
|
||||
Checkbox@CHECKBOX_UNITDEBUG:
|
||||
Id:CHECKBOX_UNITDEBUG
|
||||
X:30
|
||||
Y:80
|
||||
Width:PARENT_RIGHT - 30
|
||||
Height:20
|
||||
Text:Show Occupied Cells
|
||||
Checkbox@CHECKBOX_PATHDEBUG:
|
||||
Id:CHECKBOX_PATHDEBUG
|
||||
X:30
|
||||
Y:110
|
||||
Width:PARENT_RIGHT - 30
|
||||
Height:20
|
||||
Text:Show Unit Paths
|
||||
Button@GIVE_CASH
|
||||
Id:GIVE_CASH
|
||||
X:30
|
||||
Y:140
|
||||
Width:200
|
||||
Height:20
|
||||
Text: Give Cash
|
||||
Checkbox@INSTANT_BUILD
|
||||
Id:INSTANT_BUILD
|
||||
X:30
|
||||
Y:170
|
||||
Width:PARENT_RIGHT - 30
|
||||
Height:20
|
||||
Text:Instant Build Speed
|
||||
Checkbox@INSTANT_CHARGE
|
||||
Id:INSTANT_CHARGE
|
||||
X:30
|
||||
Y:200
|
||||
Width:PARENT_RIGHT - 30
|
||||
Height:20
|
||||
Text:Instant Charge Time (Special Powers)
|
||||
Checkbox@ENABLE_TECH
|
||||
Id:ENABLE_TECH
|
||||
X:30
|
||||
Y:230
|
||||
Width:PARENT_RIGHT - 30
|
||||
Height:20
|
||||
Text:Build Everything
|
||||
Button@GIVE_EXPLORATION
|
||||
Id:GIVE_EXPLORATION
|
||||
X:30
|
||||
Y:260
|
||||
Width:200
|
||||
Height:20
|
||||
Text: Give Exploration
|
||||
|
||||
@@ -1,253 +1,253 @@
|
||||
Background@MAINMENU_BG:
|
||||
Id:MAINMENU_BG
|
||||
X:(WINDOW_RIGHT - WIDTH)/2
|
||||
Y:(WINDOW_BOTTOM - HEIGHT)/2
|
||||
Width:250
|
||||
Height:290
|
||||
Delegate:MainMenuButtonsDelegate
|
||||
Children:
|
||||
Label@MAINMENU_LABEL_TITLE:
|
||||
Id:MAINMENU_LABEL_TITLE
|
||||
X:0
|
||||
Y:20
|
||||
Width:250
|
||||
Height:25
|
||||
Text:OpenRA Main Menu
|
||||
Align:Center
|
||||
Bold:True
|
||||
Button@MAINMENU_BUTTON_JOIN:
|
||||
Id:MAINMENU_BUTTON_JOIN
|
||||
X:45
|
||||
Y:70
|
||||
Width:160
|
||||
Height:25
|
||||
Text:Join Game
|
||||
Bold:True
|
||||
Button@MAINMENU_BUTTON_CREATE:
|
||||
Id:MAINMENU_BUTTON_CREATE
|
||||
X:45
|
||||
Y:110
|
||||
Width:160
|
||||
Height:25
|
||||
Text:Create Game
|
||||
Bold:True
|
||||
Button@MAINMENU_BUTTON_SETTINGS:
|
||||
Id:MAINMENU_BUTTON_SETTINGS
|
||||
X:45
|
||||
Y:150
|
||||
Width:160
|
||||
Height:25
|
||||
Text:Settings
|
||||
Bold:True
|
||||
Button@MAINMENU_BUTTON_MUSIC:
|
||||
Id:MAINMENU_BUTTON_MUSIC
|
||||
X:45
|
||||
Y:190
|
||||
Width:160
|
||||
Height:25
|
||||
Text:Music
|
||||
Bold:True
|
||||
Button@MAINMENU_BUTTON_QUIT:
|
||||
Id:MAINMENU_BUTTON_QUIT
|
||||
X:45
|
||||
Y:230
|
||||
Width:160
|
||||
Height:25
|
||||
Text:Quit
|
||||
Bold:True
|
||||
Button@MAINMENU_BUTTON_VIDEOPLAYER:
|
||||
Id:MAINMENU_BUTTON_VIDEOPLAYER
|
||||
Visible:false
|
||||
X:45
|
||||
Y:260
|
||||
Width:160
|
||||
Height:25
|
||||
Text:Video Player
|
||||
Bold:True
|
||||
Label@VERSION_STRING:
|
||||
Id:VERSION_STRING
|
||||
X:WINDOW_RIGHT - PARENT_LEFT - WIDTH - 15
|
||||
Y:WINDOW_BOTTOM - PARENT_TOP - 25
|
||||
Width:400
|
||||
Height:35
|
||||
Text:
|
||||
Align:Right
|
||||
Bold:True
|
||||
Background@PERF_BG:
|
||||
ClickThrough:true
|
||||
Id:PERF_BG
|
||||
Background:dialog4
|
||||
Delegate:PerfDebugDelegate
|
||||
X:10
|
||||
Y:WINDOW_BOTTOM - 250
|
||||
Width: 210
|
||||
Height: 250
|
||||
Children:
|
||||
PerfGraph@GRAPH:
|
||||
Id:GRAPH
|
||||
X:5
|
||||
Y:5
|
||||
Width:200
|
||||
Height:200
|
||||
Label@TEXT:
|
||||
Id:TEXT
|
||||
Bold: false
|
||||
X:20
|
||||
Y:205
|
||||
Width:170
|
||||
Height:40
|
||||
Background@MUSIC_MENU:
|
||||
Id:MUSIC_MENU
|
||||
Delegate:MusicPlayerDelegate
|
||||
X:(WINDOW_RIGHT - WIDTH)/2
|
||||
Y:(WINDOW_BOTTOM - HEIGHT)/2
|
||||
Width: 450
|
||||
Height: 250
|
||||
Visible: false
|
||||
Children:
|
||||
Label@SETTINGS_LABEL_TITLE:
|
||||
Id:SETTINGS_LABEL_TITLE
|
||||
X:0
|
||||
Y:20
|
||||
Width:450
|
||||
Height:25
|
||||
Text:Music
|
||||
Align:Center
|
||||
Bold:True
|
||||
Button@BUTTON_CLOSE:
|
||||
Id:BUTTON_CLOSE
|
||||
X:PARENT_RIGHT - 180
|
||||
Y:PARENT_BOTTOM - 45
|
||||
Width:160
|
||||
Height:25
|
||||
Text:Close
|
||||
Bold:True
|
||||
Container@BUTTONS:
|
||||
X:PARENT_RIGHT - 150
|
||||
Y:50
|
||||
Children:
|
||||
Button@BUTTON_PLAY:
|
||||
Id:BUTTON_PLAY
|
||||
X:35
|
||||
Y:0
|
||||
Width:25
|
||||
Height:25
|
||||
Children:
|
||||
Image@IMAGE_PLAY:
|
||||
Id:IMAGE_PLAY
|
||||
X:0
|
||||
Y:0
|
||||
Width:25
|
||||
Height:25
|
||||
ImageCollection:music
|
||||
ImageName:play
|
||||
Button@BUTTON_PAUSE:
|
||||
Id:BUTTON_PAUSE
|
||||
Visible:false
|
||||
X:35
|
||||
Y:0
|
||||
Width:25
|
||||
Height:25
|
||||
Children:
|
||||
Image@IMAGE_PAUSE:
|
||||
Id:IMAGE_PAUSE
|
||||
X:0
|
||||
Y:0
|
||||
Width:25
|
||||
Height:25
|
||||
ImageCollection:music
|
||||
ImageName:pause
|
||||
Button@BUTTON_STOP:
|
||||
Id:BUTTON_STOP
|
||||
X:70
|
||||
Y:0
|
||||
Width:25
|
||||
Height:25
|
||||
Children:
|
||||
Image@IMAGE_STOP:
|
||||
Id:IMAGE_STOP
|
||||
X:0
|
||||
Y:0
|
||||
Width:25
|
||||
Height:25
|
||||
ImageCollection:music
|
||||
ImageName:stop
|
||||
Button@BUTTON_NEXT:
|
||||
Id:BUTTON_NEXT
|
||||
X:105
|
||||
Y:0
|
||||
Width:25
|
||||
Height:25
|
||||
Children:
|
||||
Image@IMAGE_NEXT:
|
||||
Id:IMAGE_NEXT
|
||||
X:0
|
||||
Y:0
|
||||
Width:25
|
||||
Height:25
|
||||
ImageCollection:music
|
||||
ImageName:next
|
||||
Button@BUTTON_PREV:
|
||||
Id:BUTTON_PREV
|
||||
X:0
|
||||
Y:0
|
||||
Width:25
|
||||
Height:25
|
||||
Children:
|
||||
Image@IMAGE_PREV:
|
||||
Id:IMAGE_PREV
|
||||
X:0
|
||||
Y:0
|
||||
Width:25
|
||||
Height:25
|
||||
ImageCollection:music
|
||||
ImageName:prev
|
||||
Label@TIME:
|
||||
Id:TIME
|
||||
X:PARENT_RIGHT - 150
|
||||
Y:75
|
||||
Width:140
|
||||
Height:25
|
||||
Align: Center
|
||||
ListBox@MUSIC_LIST:
|
||||
Id:MUSIC_LIST
|
||||
X:10
|
||||
Y:50
|
||||
Width:280
|
||||
Height:140
|
||||
Children:
|
||||
Label@MUSIC_TEMPLATE:
|
||||
Id:MUSIC_TEMPLATE
|
||||
Width:PARENT_RIGHT-28
|
||||
Height:25
|
||||
ClickThrough:false
|
||||
X:2
|
||||
Y:0
|
||||
Visible:false
|
||||
Children:
|
||||
Label@TITLE:
|
||||
Id:TITLE
|
||||
X:5
|
||||
Width:PARENT_RIGHT - 10
|
||||
Height:PARENT_BOTTOM
|
||||
Align: Left
|
||||
Label@LENGTH:
|
||||
Id:LENGTH
|
||||
X:5
|
||||
Width:PARENT_RIGHT - 10
|
||||
Height:PARENT_BOTTOM
|
||||
Align: Right
|
||||
Checkbox@SHUFFLE:
|
||||
Id:SHUFFLE
|
||||
X:PARENT_RIGHT - 150
|
||||
Y:110
|
||||
Width:100
|
||||
Height:20
|
||||
Text:Shuffle
|
||||
Checkbox@REPEAT:
|
||||
Id:REPEAT
|
||||
X:PARENT_RIGHT - 150
|
||||
Y:140
|
||||
Width:100
|
||||
Height:20
|
||||
Text:Loop
|
||||
Background@MAINMENU_BG:
|
||||
Id:MAINMENU_BG
|
||||
X:(WINDOW_RIGHT - WIDTH)/2
|
||||
Y:(WINDOW_BOTTOM - HEIGHT)/2
|
||||
Width:250
|
||||
Height:290
|
||||
Delegate:MainMenuButtonsDelegate
|
||||
Children:
|
||||
Label@MAINMENU_LABEL_TITLE:
|
||||
Id:MAINMENU_LABEL_TITLE
|
||||
X:0
|
||||
Y:20
|
||||
Width:250
|
||||
Height:25
|
||||
Text:OpenRA Main Menu
|
||||
Align:Center
|
||||
Bold:True
|
||||
Button@MAINMENU_BUTTON_JOIN:
|
||||
Id:MAINMENU_BUTTON_JOIN
|
||||
X:45
|
||||
Y:70
|
||||
Width:160
|
||||
Height:25
|
||||
Text:Join Game
|
||||
Bold:True
|
||||
Button@MAINMENU_BUTTON_CREATE:
|
||||
Id:MAINMENU_BUTTON_CREATE
|
||||
X:45
|
||||
Y:110
|
||||
Width:160
|
||||
Height:25
|
||||
Text:Create Game
|
||||
Bold:True
|
||||
Button@MAINMENU_BUTTON_SETTINGS:
|
||||
Id:MAINMENU_BUTTON_SETTINGS
|
||||
X:45
|
||||
Y:150
|
||||
Width:160
|
||||
Height:25
|
||||
Text:Settings
|
||||
Bold:True
|
||||
Button@MAINMENU_BUTTON_MUSIC:
|
||||
Id:MAINMENU_BUTTON_MUSIC
|
||||
X:45
|
||||
Y:190
|
||||
Width:160
|
||||
Height:25
|
||||
Text:Music
|
||||
Bold:True
|
||||
Button@MAINMENU_BUTTON_QUIT:
|
||||
Id:MAINMENU_BUTTON_QUIT
|
||||
X:45
|
||||
Y:230
|
||||
Width:160
|
||||
Height:25
|
||||
Text:Quit
|
||||
Bold:True
|
||||
Button@MAINMENU_BUTTON_VIDEOPLAYER:
|
||||
Id:MAINMENU_BUTTON_VIDEOPLAYER
|
||||
Visible:false
|
||||
X:45
|
||||
Y:260
|
||||
Width:160
|
||||
Height:25
|
||||
Text:Video Player
|
||||
Bold:True
|
||||
Label@VERSION_STRING:
|
||||
Id:VERSION_STRING
|
||||
X:WINDOW_RIGHT - PARENT_LEFT - WIDTH - 15
|
||||
Y:WINDOW_BOTTOM - PARENT_TOP - 25
|
||||
Width:400
|
||||
Height:35
|
||||
Text:
|
||||
Align:Right
|
||||
Bold:True
|
||||
Background@PERF_BG:
|
||||
ClickThrough:true
|
||||
Id:PERF_BG
|
||||
Background:dialog4
|
||||
Delegate:PerfDebugDelegate
|
||||
X:10
|
||||
Y:WINDOW_BOTTOM - 250
|
||||
Width: 210
|
||||
Height: 250
|
||||
Children:
|
||||
PerfGraph@GRAPH:
|
||||
Id:GRAPH
|
||||
X:5
|
||||
Y:5
|
||||
Width:200
|
||||
Height:200
|
||||
Label@TEXT:
|
||||
Id:TEXT
|
||||
Bold: false
|
||||
X:20
|
||||
Y:205
|
||||
Width:170
|
||||
Height:40
|
||||
Background@MUSIC_MENU:
|
||||
Id:MUSIC_MENU
|
||||
Delegate:MusicPlayerDelegate
|
||||
X:(WINDOW_RIGHT - WIDTH)/2
|
||||
Y:(WINDOW_BOTTOM - HEIGHT)/2
|
||||
Width: 450
|
||||
Height: 250
|
||||
Visible: true
|
||||
Children:
|
||||
Label@SETTINGS_LABEL_TITLE:
|
||||
Id:SETTINGS_LABEL_TITLE
|
||||
X:0
|
||||
Y:20
|
||||
Width:450
|
||||
Height:25
|
||||
Text:Music
|
||||
Align:Center
|
||||
Bold:True
|
||||
Button@BUTTON_CLOSE:
|
||||
Id:BUTTON_CLOSE
|
||||
X:PARENT_RIGHT - 180
|
||||
Y:PARENT_BOTTOM - 45
|
||||
Width:160
|
||||
Height:25
|
||||
Text:Close
|
||||
Bold:True
|
||||
Container@BUTTONS:
|
||||
X:PARENT_RIGHT - 150
|
||||
Y:50
|
||||
Children:
|
||||
Button@BUTTON_PLAY:
|
||||
Id:BUTTON_PLAY
|
||||
X:35
|
||||
Y:0
|
||||
Width:25
|
||||
Height:25
|
||||
Children:
|
||||
Image@IMAGE_PLAY:
|
||||
Id:IMAGE_PLAY
|
||||
X:0
|
||||
Y:0
|
||||
Width:25
|
||||
Height:25
|
||||
ImageCollection:music
|
||||
ImageName:play
|
||||
Button@BUTTON_PAUSE:
|
||||
Id:BUTTON_PAUSE
|
||||
Visible:false
|
||||
X:35
|
||||
Y:0
|
||||
Width:25
|
||||
Height:25
|
||||
Children:
|
||||
Image@IMAGE_PAUSE:
|
||||
Id:IMAGE_PAUSE
|
||||
X:0
|
||||
Y:0
|
||||
Width:25
|
||||
Height:25
|
||||
ImageCollection:music
|
||||
ImageName:pause
|
||||
Button@BUTTON_STOP:
|
||||
Id:BUTTON_STOP
|
||||
X:70
|
||||
Y:0
|
||||
Width:25
|
||||
Height:25
|
||||
Children:
|
||||
Image@IMAGE_STOP:
|
||||
Id:IMAGE_STOP
|
||||
X:0
|
||||
Y:0
|
||||
Width:25
|
||||
Height:25
|
||||
ImageCollection:music
|
||||
ImageName:stop
|
||||
Button@BUTTON_NEXT:
|
||||
Id:BUTTON_NEXT
|
||||
X:105
|
||||
Y:0
|
||||
Width:25
|
||||
Height:25
|
||||
Children:
|
||||
Image@IMAGE_NEXT:
|
||||
Id:IMAGE_NEXT
|
||||
X:0
|
||||
Y:0
|
||||
Width:25
|
||||
Height:25
|
||||
ImageCollection:music
|
||||
ImageName:next
|
||||
Button@BUTTON_PREV:
|
||||
Id:BUTTON_PREV
|
||||
X:0
|
||||
Y:0
|
||||
Width:25
|
||||
Height:25
|
||||
Children:
|
||||
Image@IMAGE_PREV:
|
||||
Id:IMAGE_PREV
|
||||
X:0
|
||||
Y:0
|
||||
Width:25
|
||||
Height:25
|
||||
ImageCollection:music
|
||||
ImageName:prev
|
||||
Label@TIME:
|
||||
Id:TIME
|
||||
X:PARENT_RIGHT - 150
|
||||
Y:75
|
||||
Width:140
|
||||
Height:25
|
||||
Align: Center
|
||||
ListBox@MUSIC_LIST:
|
||||
Id:MUSIC_LIST
|
||||
X:10
|
||||
Y:50
|
||||
Width:280
|
||||
Height:140
|
||||
Children:
|
||||
Label@MUSIC_TEMPLATE:
|
||||
Id:MUSIC_TEMPLATE
|
||||
Width:PARENT_RIGHT-28
|
||||
Height:25
|
||||
ClickThrough:false
|
||||
X:2
|
||||
Y:0
|
||||
Visible:false
|
||||
Children:
|
||||
Label@TITLE:
|
||||
Id:TITLE
|
||||
X:5
|
||||
Width:PARENT_RIGHT - 10
|
||||
Height:PARENT_BOTTOM
|
||||
Align: Left
|
||||
Label@LENGTH:
|
||||
Id:LENGTH
|
||||
X:5
|
||||
Width:PARENT_RIGHT - 10
|
||||
Height:PARENT_BOTTOM
|
||||
Align: Right
|
||||
Checkbox@SHUFFLE:
|
||||
Id:SHUFFLE
|
||||
X:PARENT_RIGHT - 150
|
||||
Y:110
|
||||
Width:100
|
||||
Height:20
|
||||
Text:Shuffle
|
||||
Checkbox@REPEAT:
|
||||
Id:REPEAT
|
||||
X:PARENT_RIGHT - 150
|
||||
Y:140
|
||||
Width:100
|
||||
Height:20
|
||||
Text:Loop
|
||||
|
||||
@@ -1,372 +1,372 @@
|
||||
Background@CREATESERVER_BG:
|
||||
Id:CREATESERVER_BG
|
||||
Delegate:CreateServerMenuDelegate
|
||||
X:(WINDOW_RIGHT - WIDTH)/2
|
||||
Y:(WINDOW_BOTTOM - HEIGHT)/2
|
||||
Width:400
|
||||
Height:240
|
||||
Visible:false
|
||||
Children:
|
||||
Label@LABEL_TITLE:
|
||||
Id:LABEL_TITLE
|
||||
X:0
|
||||
Y:20
|
||||
Width:400
|
||||
Height:25
|
||||
Text:Create Server
|
||||
Align:Center
|
||||
Bold:True
|
||||
Label@GAME_TITLE_LABEL:
|
||||
Id:GAME_TITLE_LABEL
|
||||
X:50
|
||||
Y:59
|
||||
Width:95
|
||||
Height:25
|
||||
Align: Right
|
||||
Text:Game Title:
|
||||
TextField@GAME_TITLE:
|
||||
Id:GAME_TITLE
|
||||
X:150
|
||||
Y:60
|
||||
Width:210
|
||||
MaxLength:50
|
||||
Height:25
|
||||
Text:OpenRA Game
|
||||
Label@EXTERNAL_PORT_LABEL:
|
||||
Id:EXTERNAL_PORT_LABEL
|
||||
X:50
|
||||
Y:94
|
||||
Width:95
|
||||
Height:25
|
||||
Align: Right
|
||||
Text:External Port:
|
||||
TextField@EXTERNAL_PORT:
|
||||
Id:EXTERNAL_PORT
|
||||
X:150
|
||||
Y:95
|
||||
Width:50
|
||||
MaxLength:5
|
||||
Height:25
|
||||
Text:OpenRA Game
|
||||
Label@LISTEN_PORT_LABEL:
|
||||
Id:LISTEN_PORT_LABEL
|
||||
X:210
|
||||
Y:94
|
||||
Width:95
|
||||
Height:25
|
||||
Align: Right
|
||||
Text:Listen Port:
|
||||
TextField@LISTEN_PORT:
|
||||
Id:LISTEN_PORT
|
||||
X:310
|
||||
Y:95
|
||||
Width:50
|
||||
MaxLength:5
|
||||
Height:25
|
||||
Checkbox@CHECKBOX_ONLINE:
|
||||
Id:CHECKBOX_ONLINE
|
||||
X:165
|
||||
Y:130
|
||||
Width:300
|
||||
Height:20
|
||||
Text:Advertise game Online
|
||||
Checkbox@CHECKBOX_CHEATS:
|
||||
Id:CHECKBOX_CHEATS
|
||||
X:165
|
||||
Y:160
|
||||
Width:300
|
||||
Height:20
|
||||
Text:Allow Cheats
|
||||
Button@BUTTON_START:
|
||||
Id:BUTTON_START
|
||||
X:130
|
||||
Y:PARENT_BOTTOM - 45
|
||||
Width:120
|
||||
Height:25
|
||||
Text:Create
|
||||
Bold:True
|
||||
Button@BUTTON_CANCEL:
|
||||
Id:BUTTON_CANCEL
|
||||
X:260
|
||||
Y:PARENT_BOTTOM - 45
|
||||
Width:120
|
||||
Height:25
|
||||
Text:Cancel
|
||||
Bold:True
|
||||
Background@JOINSERVER_BG:
|
||||
Id:JOINSERVER_BG
|
||||
Delegate:ServerBrowserDelegate
|
||||
X:(WINDOW_RIGHT - WIDTH)/2
|
||||
Y:(WINDOW_BOTTOM - HEIGHT)/2
|
||||
Width:700
|
||||
Height:410
|
||||
Visible:false
|
||||
Children:
|
||||
Label@JOINSERVER_LABEL_TITLE:
|
||||
Id:JOINSERVER_LABEL_TITLE
|
||||
X:0
|
||||
Y:20
|
||||
Width:PARENT_RIGHT
|
||||
Height:25
|
||||
Text:Join Server
|
||||
Align:Center
|
||||
Bold:True
|
||||
ListBox@SERVER_LIST:
|
||||
Id:SERVER_LIST
|
||||
X:20
|
||||
Y:50
|
||||
Width:390
|
||||
Height:300
|
||||
Children:
|
||||
Label@SERVER_TEMPLATE:
|
||||
Id:SERVER_TEMPLATE
|
||||
Width:PARENT_RIGHT-28
|
||||
Height:25
|
||||
ClickThrough:false
|
||||
X:2
|
||||
Y:0
|
||||
Visible:false
|
||||
Label@JOINSERVER_PROGRESS_TITLE:
|
||||
Id:JOINSERVER_PROGRESS_TITLE
|
||||
X:150
|
||||
Y:PARENT_BOTTOM / 2 - HEIGHT
|
||||
Width:150
|
||||
Height:30
|
||||
Background:dialog4
|
||||
Text:Fetching games...
|
||||
Align:Center
|
||||
Container@SERVER_INFO:
|
||||
Id:SERVER_INFO
|
||||
X:0
|
||||
Y:0
|
||||
Width:PARENT_RIGHT
|
||||
Height:PARENT_BOTTOM
|
||||
Visible:false
|
||||
Children:
|
||||
Label@SERVER_IP_LABEL:
|
||||
Id:SERVER_IP_LABEL
|
||||
X:PARENT_RIGHT - 200 - WIDTH
|
||||
Y:50
|
||||
Align:Right
|
||||
Width:70
|
||||
Height:20
|
||||
Text:Server:
|
||||
Bold:True
|
||||
Label@SERVER_IP:
|
||||
Id:SERVER_IP
|
||||
X:PARENT_RIGHT - 195
|
||||
Y:50
|
||||
Align:Left
|
||||
Width:70
|
||||
Height:20
|
||||
Label@SERVER_MODS_LABEL:
|
||||
Id:SERVER_MODS_LABEL
|
||||
X:PARENT_RIGHT - 200 - WIDTH
|
||||
Y:70
|
||||
Align:Right
|
||||
Width:70
|
||||
Height:20
|
||||
Text:Mods:
|
||||
Bold:True
|
||||
Label@SERVER_MODS:
|
||||
Id:SERVER_MODS
|
||||
X:PARENT_RIGHT - 195
|
||||
Y:70
|
||||
Align:Left
|
||||
Width:70
|
||||
Height:20
|
||||
Label@MAP_TITLE_LABEL:
|
||||
Id:MAP_TITLE_LABEL
|
||||
X:PARENT_RIGHT - 200 - WIDTH
|
||||
Y:90
|
||||
Align:Right
|
||||
Width:70
|
||||
Height:20
|
||||
Text:Map:
|
||||
Bold:True
|
||||
Label@MAP_TITLE:
|
||||
Id:MAP_TITLE
|
||||
X:PARENT_RIGHT - 195
|
||||
Y:90
|
||||
Align:Left
|
||||
Width:70
|
||||
Height:20
|
||||
Label@MAP_PLAYERS_LABEL:
|
||||
Id:MAP_PLAYERS_LABEL
|
||||
X:PARENT_RIGHT - 200 - WIDTH
|
||||
Y:110
|
||||
Align:Right
|
||||
Width:70
|
||||
Height:20
|
||||
Text:Players:
|
||||
Bold:True
|
||||
Label@MAP_PLAYERS:
|
||||
Id:MAP_PLAYERS
|
||||
X:PARENT_RIGHT - 195
|
||||
Y:110
|
||||
Align:Left
|
||||
Width:70
|
||||
Height:20
|
||||
MapPreview@MAP_PREVIEW:
|
||||
Id:MAP_PREVIEW
|
||||
X:PARENT_RIGHT-241
|
||||
Y:140
|
||||
Width:192
|
||||
Height:192
|
||||
Button@DIRECTCONNECT_BUTTON:
|
||||
Id:DIRECTCONNECT_BUTTON
|
||||
X:20
|
||||
Y:PARENT_BOTTOM - 45
|
||||
Width:120
|
||||
Height:25
|
||||
Text:Direct Connect
|
||||
Bold:True
|
||||
Button@REFRESH_BUTTON:
|
||||
Id:REFRESH_BUTTON
|
||||
X:160
|
||||
Y:PARENT_BOTTOM - 45
|
||||
Width:120
|
||||
Height:25
|
||||
Text:Refresh
|
||||
Bold:True
|
||||
Button@JOIN_BUTTON:
|
||||
Id:JOIN_BUTTON
|
||||
X:PARENT_RIGHT - 140 - 130
|
||||
Y:PARENT_BOTTOM - 45
|
||||
Width:120
|
||||
Height:25
|
||||
Text:Join
|
||||
Bold:True
|
||||
Button@CANCEL_BUTTON:
|
||||
Id:CANCEL_BUTTON
|
||||
X:PARENT_RIGHT - 140
|
||||
Y:PARENT_BOTTOM - 45
|
||||
Width:120
|
||||
Height:25
|
||||
Text:Cancel
|
||||
Bold:True
|
||||
Background@DIRECTCONNECT_BG:
|
||||
Id:DIRECTCONNECT_BG
|
||||
Delegate:ServerBrowserDelegate
|
||||
X:(WINDOW_RIGHT - WIDTH)/2
|
||||
Y:(WINDOW_BOTTOM - HEIGHT)/2
|
||||
Width:400
|
||||
Height:155
|
||||
Visible:false
|
||||
Children:
|
||||
Label@DIRECTCONNECT_LABEL_TITLE:
|
||||
Id:DIRECTCONNECT_LABEL_TITLE
|
||||
X:0
|
||||
Y:20
|
||||
Width:400
|
||||
Height:25
|
||||
Text:Direct Connect
|
||||
Align:Center
|
||||
Bold:True
|
||||
Label@ADDRESS_LABEL:
|
||||
Id:ADDRESS_LABEL
|
||||
X:50
|
||||
Y:59
|
||||
Width:95
|
||||
Height:25
|
||||
Align:Right
|
||||
Text:Server Address:
|
||||
TextField@SERVER_ADDRESS:
|
||||
Id:SERVER_ADDRESS
|
||||
X:150
|
||||
Y:60
|
||||
Width:200
|
||||
MaxLength:50
|
||||
Height:25
|
||||
Button@JOIN_BUTTON:
|
||||
Id:JOIN_BUTTON
|
||||
X:130
|
||||
Y:PARENT_BOTTOM - 45
|
||||
Width:120
|
||||
Height:25
|
||||
Text:Join
|
||||
Bold:True
|
||||
Button@CANCEL_BUTTON:
|
||||
Id:CANCEL_BUTTON
|
||||
X:260
|
||||
Y:PARENT_BOTTOM - 45
|
||||
Width:120
|
||||
Height:25
|
||||
Text:Cancel
|
||||
Bold:True
|
||||
Background@CONNECTION_FAILED_BG:
|
||||
Id:CONNECTION_FAILED_BG
|
||||
Delegate:ConnectionDialogsDelegate
|
||||
X:(WINDOW_RIGHT - WIDTH)/2
|
||||
Y:(WINDOW_BOTTOM - HEIGHT)/2
|
||||
Width:450
|
||||
Height:150
|
||||
Visible:false
|
||||
Children:
|
||||
Label@CONNECTION_FAILED_TITLE:
|
||||
Id:CONNECTION_FAILED_TITLE
|
||||
X:0
|
||||
Y:20
|
||||
Width:450
|
||||
Height:25
|
||||
Text:Connection Failed
|
||||
Align:Center
|
||||
Bold:True
|
||||
Label@CONNECTION_FAILED_DESC:
|
||||
Id:CONNECTION_FAILED_DESC
|
||||
X:0
|
||||
Y:60
|
||||
Width:PARENT_RIGHT
|
||||
Height:25
|
||||
Text:Could not connect to AAA.BBB.CCC.DDD:EEEE
|
||||
Align:Center
|
||||
Button@CONNECTION_BUTTON_RETRY:
|
||||
Id:CONNECTION_BUTTON_RETRY
|
||||
X:PARENT_RIGHT - 360
|
||||
Y:PARENT_BOTTOM - 45
|
||||
Width:160
|
||||
Height:25
|
||||
Text:Retry
|
||||
Bold:True
|
||||
Button@CONNECTION_BUTTON_CANCEL:
|
||||
Id:CONNECTION_BUTTON_CANCEL
|
||||
X:PARENT_RIGHT - 180
|
||||
Y:PARENT_BOTTOM - 45
|
||||
Width:160
|
||||
Height:25
|
||||
Text:Cancel
|
||||
Bold:True
|
||||
Background@CONNECTING_BG:
|
||||
Id:CONNECTING_BG
|
||||
Delegate:ConnectionDialogsDelegate
|
||||
X:(WINDOW_RIGHT - WIDTH)/2
|
||||
Y:(WINDOW_BOTTOM - HEIGHT)/2
|
||||
Width:450
|
||||
Height:150
|
||||
Visible:false
|
||||
Children:
|
||||
Label@CONNECTING_TITLE:
|
||||
Id:CONNECTING_TITLE
|
||||
X:0
|
||||
Y:20
|
||||
Width:450
|
||||
Height:25
|
||||
Text:Connecting
|
||||
Align:Center
|
||||
Bold:True
|
||||
Label@CONNECTING_DESC:
|
||||
Id:CONNECTING_DESC
|
||||
X:0
|
||||
Y:60
|
||||
Width:PARENT_RIGHT
|
||||
Height:25
|
||||
Text:Connecting to AAA.BBB.CCC.DDD:EEEE...
|
||||
Align:Center
|
||||
Button@CONNECTION_BUTTON_ABORT:
|
||||
Id:CONNECTION_BUTTON_ABORT
|
||||
X:PARENT_RIGHT - 180
|
||||
Y:PARENT_BOTTOM - 45
|
||||
Width:160
|
||||
Height:25
|
||||
Text:Abort
|
||||
Bold:True
|
||||
Background@CREATESERVER_BG:
|
||||
Id:CREATESERVER_BG
|
||||
Delegate:CreateServerMenuDelegate
|
||||
X:(WINDOW_RIGHT - WIDTH)/2
|
||||
Y:(WINDOW_BOTTOM - HEIGHT)/2
|
||||
Width:400
|
||||
Height:240
|
||||
Visible:true
|
||||
Children:
|
||||
Label@LABEL_TITLE:
|
||||
Id:LABEL_TITLE
|
||||
X:0
|
||||
Y:20
|
||||
Width:400
|
||||
Height:25
|
||||
Text:Create Server
|
||||
Align:Center
|
||||
Bold:True
|
||||
Label@GAME_TITLE_LABEL:
|
||||
Id:GAME_TITLE_LABEL
|
||||
X:50
|
||||
Y:59
|
||||
Width:95
|
||||
Height:25
|
||||
Align: Right
|
||||
Text:Game Title:
|
||||
TextField@GAME_TITLE:
|
||||
Id:GAME_TITLE
|
||||
X:150
|
||||
Y:60
|
||||
Width:210
|
||||
MaxLength:50
|
||||
Height:25
|
||||
Text:OpenRA Game
|
||||
Label@EXTERNAL_PORT_LABEL:
|
||||
Id:EXTERNAL_PORT_LABEL
|
||||
X:50
|
||||
Y:94
|
||||
Width:95
|
||||
Height:25
|
||||
Align: Right
|
||||
Text:External Port:
|
||||
TextField@EXTERNAL_PORT:
|
||||
Id:EXTERNAL_PORT
|
||||
X:150
|
||||
Y:95
|
||||
Width:50
|
||||
MaxLength:5
|
||||
Height:25
|
||||
Text:OpenRA Game
|
||||
Label@LISTEN_PORT_LABEL:
|
||||
Id:LISTEN_PORT_LABEL
|
||||
X:210
|
||||
Y:94
|
||||
Width:95
|
||||
Height:25
|
||||
Align: Right
|
||||
Text:Listen Port:
|
||||
TextField@LISTEN_PORT:
|
||||
Id:LISTEN_PORT
|
||||
X:310
|
||||
Y:95
|
||||
Width:50
|
||||
MaxLength:5
|
||||
Height:25
|
||||
Checkbox@CHECKBOX_ONLINE:
|
||||
Id:CHECKBOX_ONLINE
|
||||
X:165
|
||||
Y:130
|
||||
Width:300
|
||||
Height:20
|
||||
Text:Advertise game Online
|
||||
Checkbox@CHECKBOX_CHEATS:
|
||||
Id:CHECKBOX_CHEATS
|
||||
X:165
|
||||
Y:160
|
||||
Width:300
|
||||
Height:20
|
||||
Text:Allow Cheats
|
||||
Button@BUTTON_START:
|
||||
Id:BUTTON_START
|
||||
X:130
|
||||
Y:PARENT_BOTTOM - 45
|
||||
Width:120
|
||||
Height:25
|
||||
Text:Create
|
||||
Bold:True
|
||||
Button@BUTTON_CANCEL:
|
||||
Id:BUTTON_CANCEL
|
||||
X:260
|
||||
Y:PARENT_BOTTOM - 45
|
||||
Width:120
|
||||
Height:25
|
||||
Text:Cancel
|
||||
Bold:True
|
||||
Background@JOINSERVER_BG:
|
||||
Id:JOINSERVER_BG
|
||||
Delegate:ServerBrowserDelegate
|
||||
X:(WINDOW_RIGHT - WIDTH)/2
|
||||
Y:(WINDOW_BOTTOM - HEIGHT)/2
|
||||
Width:700
|
||||
Height:410
|
||||
Visible:true
|
||||
Children:
|
||||
Label@JOINSERVER_LABEL_TITLE:
|
||||
Id:JOINSERVER_LABEL_TITLE
|
||||
X:0
|
||||
Y:20
|
||||
Width:PARENT_RIGHT
|
||||
Height:25
|
||||
Text:Join Server
|
||||
Align:Center
|
||||
Bold:True
|
||||
ListBox@SERVER_LIST:
|
||||
Id:SERVER_LIST
|
||||
X:20
|
||||
Y:50
|
||||
Width:390
|
||||
Height:300
|
||||
Children:
|
||||
Label@SERVER_TEMPLATE:
|
||||
Id:SERVER_TEMPLATE
|
||||
Width:PARENT_RIGHT-28
|
||||
Height:25
|
||||
ClickThrough:false
|
||||
X:2
|
||||
Y:0
|
||||
Visible:false
|
||||
Label@JOINSERVER_PROGRESS_TITLE:
|
||||
Id:JOINSERVER_PROGRESS_TITLE
|
||||
X:150
|
||||
Y:PARENT_BOTTOM / 2 - HEIGHT
|
||||
Width:150
|
||||
Height:30
|
||||
Background:dialog4
|
||||
Text:Fetching games...
|
||||
Align:Center
|
||||
Container@SERVER_INFO:
|
||||
Id:SERVER_INFO
|
||||
X:0
|
||||
Y:0
|
||||
Width:PARENT_RIGHT
|
||||
Height:PARENT_BOTTOM
|
||||
Visible:false
|
||||
Children:
|
||||
Label@SERVER_IP_LABEL:
|
||||
Id:SERVER_IP_LABEL
|
||||
X:PARENT_RIGHT - 200 - WIDTH
|
||||
Y:50
|
||||
Align:Right
|
||||
Width:70
|
||||
Height:20
|
||||
Text:Server:
|
||||
Bold:True
|
||||
Label@SERVER_IP:
|
||||
Id:SERVER_IP
|
||||
X:PARENT_RIGHT - 195
|
||||
Y:50
|
||||
Align:Left
|
||||
Width:70
|
||||
Height:20
|
||||
Label@SERVER_MODS_LABEL:
|
||||
Id:SERVER_MODS_LABEL
|
||||
X:PARENT_RIGHT - 200 - WIDTH
|
||||
Y:70
|
||||
Align:Right
|
||||
Width:70
|
||||
Height:20
|
||||
Text:Mods:
|
||||
Bold:True
|
||||
Label@SERVER_MODS:
|
||||
Id:SERVER_MODS
|
||||
X:PARENT_RIGHT - 195
|
||||
Y:70
|
||||
Align:Left
|
||||
Width:70
|
||||
Height:20
|
||||
Label@MAP_TITLE_LABEL:
|
||||
Id:MAP_TITLE_LABEL
|
||||
X:PARENT_RIGHT - 200 - WIDTH
|
||||
Y:90
|
||||
Align:Right
|
||||
Width:70
|
||||
Height:20
|
||||
Text:Map:
|
||||
Bold:True
|
||||
Label@MAP_TITLE:
|
||||
Id:MAP_TITLE
|
||||
X:PARENT_RIGHT - 195
|
||||
Y:90
|
||||
Align:Left
|
||||
Width:70
|
||||
Height:20
|
||||
Label@MAP_PLAYERS_LABEL:
|
||||
Id:MAP_PLAYERS_LABEL
|
||||
X:PARENT_RIGHT - 200 - WIDTH
|
||||
Y:110
|
||||
Align:Right
|
||||
Width:70
|
||||
Height:20
|
||||
Text:Players:
|
||||
Bold:True
|
||||
Label@MAP_PLAYERS:
|
||||
Id:MAP_PLAYERS
|
||||
X:PARENT_RIGHT - 195
|
||||
Y:110
|
||||
Align:Left
|
||||
Width:70
|
||||
Height:20
|
||||
MapPreview@MAP_PREVIEW:
|
||||
Id:MAP_PREVIEW
|
||||
X:PARENT_RIGHT-241
|
||||
Y:140
|
||||
Width:192
|
||||
Height:192
|
||||
Button@DIRECTCONNECT_BUTTON:
|
||||
Id:DIRECTCONNECT_BUTTON
|
||||
X:20
|
||||
Y:PARENT_BOTTOM - 45
|
||||
Width:120
|
||||
Height:25
|
||||
Text:Direct Connect
|
||||
Bold:True
|
||||
Button@REFRESH_BUTTON:
|
||||
Id:REFRESH_BUTTON
|
||||
X:160
|
||||
Y:PARENT_BOTTOM - 45
|
||||
Width:120
|
||||
Height:25
|
||||
Text:Refresh
|
||||
Bold:True
|
||||
Button@JOIN_BUTTON:
|
||||
Id:JOIN_BUTTON
|
||||
X:PARENT_RIGHT - 140 - 130
|
||||
Y:PARENT_BOTTOM - 45
|
||||
Width:120
|
||||
Height:25
|
||||
Text:Join
|
||||
Bold:True
|
||||
Button@CANCEL_BUTTON:
|
||||
Id:CANCEL_BUTTON
|
||||
X:PARENT_RIGHT - 140
|
||||
Y:PARENT_BOTTOM - 45
|
||||
Width:120
|
||||
Height:25
|
||||
Text:Cancel
|
||||
Bold:True
|
||||
Background@DIRECTCONNECT_BG:
|
||||
Id:DIRECTCONNECT_BG
|
||||
Delegate:ServerBrowserDelegate
|
||||
X:(WINDOW_RIGHT - WIDTH)/2
|
||||
Y:(WINDOW_BOTTOM - HEIGHT)/2
|
||||
Width:400
|
||||
Height:155
|
||||
Visible:true
|
||||
Children:
|
||||
Label@DIRECTCONNECT_LABEL_TITLE:
|
||||
Id:DIRECTCONNECT_LABEL_TITLE
|
||||
X:0
|
||||
Y:20
|
||||
Width:400
|
||||
Height:25
|
||||
Text:Direct Connect
|
||||
Align:Center
|
||||
Bold:True
|
||||
Label@ADDRESS_LABEL:
|
||||
Id:ADDRESS_LABEL
|
||||
X:50
|
||||
Y:59
|
||||
Width:95
|
||||
Height:25
|
||||
Align:Right
|
||||
Text:Server Address:
|
||||
TextField@SERVER_ADDRESS:
|
||||
Id:SERVER_ADDRESS
|
||||
X:150
|
||||
Y:60
|
||||
Width:200
|
||||
MaxLength:50
|
||||
Height:25
|
||||
Button@JOIN_BUTTON:
|
||||
Id:JOIN_BUTTON
|
||||
X:130
|
||||
Y:PARENT_BOTTOM - 45
|
||||
Width:120
|
||||
Height:25
|
||||
Text:Join
|
||||
Bold:True
|
||||
Button@CANCEL_BUTTON:
|
||||
Id:CANCEL_BUTTON
|
||||
X:260
|
||||
Y:PARENT_BOTTOM - 45
|
||||
Width:120
|
||||
Height:25
|
||||
Text:Cancel
|
||||
Bold:True
|
||||
Background@CONNECTION_FAILED_BG:
|
||||
Id:CONNECTION_FAILED_BG
|
||||
Delegate:ConnectionFailedDelegate
|
||||
X:(WINDOW_RIGHT - WIDTH)/2
|
||||
Y:(WINDOW_BOTTOM - HEIGHT)/2
|
||||
Width:450
|
||||
Height:150
|
||||
Visible:true
|
||||
Children:
|
||||
Label@CONNECTION_FAILED_TITLE:
|
||||
Id:CONNECTION_FAILED_TITLE
|
||||
X:0
|
||||
Y:20
|
||||
Width:450
|
||||
Height:25
|
||||
Text:Connection Failed
|
||||
Align:Center
|
||||
Bold:True
|
||||
Label@CONNECTION_FAILED_DESC:
|
||||
Id:CONNECTION_FAILED_DESC
|
||||
X:0
|
||||
Y:60
|
||||
Width:PARENT_RIGHT
|
||||
Height:25
|
||||
Text:Could not connect to AAA.BBB.CCC.DDD:EEEE
|
||||
Align:Center
|
||||
Button@CONNECTION_BUTTON_RETRY:
|
||||
Id:CONNECTION_BUTTON_RETRY
|
||||
X:PARENT_RIGHT - 360
|
||||
Y:PARENT_BOTTOM - 45
|
||||
Width:160
|
||||
Height:25
|
||||
Text:Retry
|
||||
Bold:True
|
||||
Button@CONNECTION_BUTTON_CANCEL:
|
||||
Id:CONNECTION_BUTTON_CANCEL
|
||||
X:PARENT_RIGHT - 180
|
||||
Y:PARENT_BOTTOM - 45
|
||||
Width:160
|
||||
Height:25
|
||||
Text:Cancel
|
||||
Bold:True
|
||||
Background@CONNECTING_BG:
|
||||
Id:CONNECTING_BG
|
||||
Delegate:ConnectionDialogsDelegate
|
||||
X:(WINDOW_RIGHT - WIDTH)/2
|
||||
Y:(WINDOW_BOTTOM - HEIGHT)/2
|
||||
Width:450
|
||||
Height:150
|
||||
Visible:true
|
||||
Children:
|
||||
Label@CONNECTING_TITLE:
|
||||
Id:CONNECTING_TITLE
|
||||
X:0
|
||||
Y:20
|
||||
Width:450
|
||||
Height:25
|
||||
Text:Connecting
|
||||
Align:Center
|
||||
Bold:True
|
||||
Label@CONNECTING_DESC:
|
||||
Id:CONNECTING_DESC
|
||||
X:0
|
||||
Y:60
|
||||
Width:PARENT_RIGHT
|
||||
Height:25
|
||||
Text:Connecting to AAA.BBB.CCC.DDD:EEEE...
|
||||
Align:Center
|
||||
Button@CONNECTION_BUTTON_ABORT:
|
||||
Id:CONNECTION_BUTTON_ABORT
|
||||
X:PARENT_RIGHT - 180
|
||||
Y:PARENT_BOTTOM - 45
|
||||
Width:160
|
||||
Height:25
|
||||
Text:Abort
|
||||
Bold:True
|
||||
|
||||
@@ -1,207 +1,207 @@
|
||||
Background@SETTINGS_MENU:
|
||||
Id:SETTINGS_MENU
|
||||
Delegate:SettingsMenuDelegate
|
||||
X:(WINDOW_RIGHT - WIDTH)/2
|
||||
Y:(WINDOW_BOTTOM- HEIGHT)/2
|
||||
Width: 450
|
||||
Height: 350
|
||||
Visible: false
|
||||
Children:
|
||||
Label@SETTINGS_LABEL_TITLE:
|
||||
Id:SETTINGS_LABEL_TITLE
|
||||
X:0
|
||||
Y:20
|
||||
Width:450
|
||||
Height:25
|
||||
Text:Settings
|
||||
Align:Center
|
||||
Bold:True
|
||||
Button@BUTTON_CLOSE:
|
||||
Id:BUTTON_CLOSE
|
||||
X:PARENT_RIGHT - 180
|
||||
Y:PARENT_BOTTOM - 45
|
||||
Width:160
|
||||
Height:25
|
||||
Text:Close
|
||||
Bold:True
|
||||
Container@TAB_CONTAINER:
|
||||
Id:TAB_CONTAINER
|
||||
X:0
|
||||
Y:50
|
||||
Width:PARENT_RIGHT
|
||||
Height:25
|
||||
Children:
|
||||
Button@GENERAL:
|
||||
Id:GENERAL
|
||||
X:45
|
||||
Y:0
|
||||
Width:90
|
||||
Height:25
|
||||
Text:General
|
||||
Bold:True
|
||||
Button@AUDIO:
|
||||
Id:AUDIO
|
||||
X:135
|
||||
Y:0
|
||||
Width:90
|
||||
Height:25
|
||||
Text:Audio
|
||||
Bold:True
|
||||
Button@DISPLAY:
|
||||
Id:DISPLAY
|
||||
X:225
|
||||
Y:0
|
||||
Width:90
|
||||
Height:25
|
||||
Text:Display
|
||||
Bold:True
|
||||
Button@DEBUG:
|
||||
Id:DEBUG
|
||||
X:315
|
||||
Y:0
|
||||
Width:90
|
||||
Height:25
|
||||
Text:Debug
|
||||
Bold:True
|
||||
Container@GENERAL_PANE:
|
||||
Id:GENERAL_PANE
|
||||
X:37
|
||||
Y:100
|
||||
Width:PARENT_RIGHT - 37
|
||||
Height:PARENT_BOTTOM - 100
|
||||
Visible: true
|
||||
Children:
|
||||
Label@SETTINGS_PLAYER_NAME:
|
||||
Id:SETTINGS_PLAYER_NAME
|
||||
X:0
|
||||
Y:10
|
||||
Text: Player Name:
|
||||
TextField@NAME:
|
||||
Id:NAME
|
||||
Text:Name
|
||||
Width:139
|
||||
Height:25
|
||||
X:90
|
||||
Y:0
|
||||
MaxLength:16
|
||||
Checkbox@EDGE_SCROLL:
|
||||
Id:EDGE_SCROLL
|
||||
X:0
|
||||
Y:30
|
||||
Width:200
|
||||
Height:20
|
||||
Text: Enable Edge Scrolling
|
||||
Checkbox@INVERSE_SCROLL:
|
||||
Id:INVERSE_SCROLL
|
||||
X:0
|
||||
Y:60
|
||||
Width:200
|
||||
Height:20
|
||||
Text: Invert Mouse Drag Scrolling
|
||||
Container@AUDIO_PANE:
|
||||
Id:AUDIO_PANE
|
||||
X:37
|
||||
Y:100
|
||||
Width:PARENT_RIGHT - 37
|
||||
Height:PARENT_BOTTOM - 100
|
||||
Visible: false
|
||||
Children:
|
||||
Label@SOUND_VOLUME_LABEL:
|
||||
Id:SOUND_VOLUME_LABEL
|
||||
X:0
|
||||
Y:10
|
||||
Text: Sound Volume
|
||||
Slider@SOUND_VOLUME:
|
||||
Id:SOUND_VOLUME
|
||||
X:100
|
||||
Y:0
|
||||
Width:250
|
||||
Height:20
|
||||
Ticks:5
|
||||
Label@MUSIC_VOLUME_LABEL:
|
||||
Id:MUSIC_VOLUME_LABEL
|
||||
X:0
|
||||
Y:40
|
||||
Text: Music Volume
|
||||
Slider@MUSIC_VOLUME:
|
||||
Id:MUSIC_VOLUME
|
||||
X:100
|
||||
Y:30
|
||||
Width:250
|
||||
Height:20
|
||||
Ticks:5
|
||||
Container@DISPLAY_PANE:
|
||||
Id:DISPLAY_PANE
|
||||
X:37
|
||||
Y:100
|
||||
Width:PARENT_RIGHT - 37
|
||||
Height:PARENT_BOTTOM - 100
|
||||
Visible: false
|
||||
Children:
|
||||
Checkbox@FULLSCREEN_CHECKBOX:
|
||||
Id:FULLSCREEN_CHECKBOX
|
||||
X:0
|
||||
Y:0
|
||||
Width:300
|
||||
Height:20
|
||||
Text:Fullscreen
|
||||
Label@RESOLUTION_LABEL:
|
||||
Id:RESOLUTION_LABEL
|
||||
X:0
|
||||
Y:50
|
||||
Text: Window Resolution:
|
||||
TextField@SCREEN_WIDTH:
|
||||
Id:SCREEN_WIDTH
|
||||
Text:Width
|
||||
Width:50
|
||||
Height:25
|
||||
X:130
|
||||
Y:40
|
||||
MaxLength:5
|
||||
Label@X:
|
||||
Id:X
|
||||
Text:x
|
||||
X:185
|
||||
Y:50
|
||||
TextField@SCREEN_HEIGHT:
|
||||
Id:SCREEN_HEIGHT
|
||||
Text:Height
|
||||
Width:50
|
||||
Height:25
|
||||
X:195
|
||||
Y:40
|
||||
MaxLength:5
|
||||
Label@RESTART:
|
||||
Id:RESTART
|
||||
Text: Restart Game To Apply Changes
|
||||
X:0
|
||||
Y:PARENT_BOTTOM - 30
|
||||
Container@DEBUG_PANE:
|
||||
Id:DEBUG_PANE
|
||||
X:37
|
||||
Y:100
|
||||
Width:PARENT_RIGHT - 37
|
||||
Height:PARENT_BOTTOM - 100
|
||||
Visible: false
|
||||
Children:
|
||||
Checkbox@PERFDEBUG_CHECKBOX:
|
||||
Id:PERFDEBUG_CHECKBOX
|
||||
X:0
|
||||
Y:0
|
||||
Width:300
|
||||
Height:20
|
||||
Text:Show Performance Information
|
||||
Checkbox@SYNCREPORTS_CHECKBOX:
|
||||
Id:SYNCREPORTS_CHECKBOX
|
||||
X:0
|
||||
Y:30
|
||||
Width:300
|
||||
Height:20
|
||||
Text:Collect Sync Reports
|
||||
Checkbox@GAMETIME_CHECKBOX:
|
||||
Id:GAMETIME_CHECKBOX
|
||||
X:0
|
||||
Y:60
|
||||
Width:300
|
||||
Height:20
|
||||
Text:Show Game Time Counter
|
||||
Background@SETTINGS_MENU:
|
||||
Id:SETTINGS_MENU
|
||||
Delegate:SettingsMenuDelegate
|
||||
X:(WINDOW_RIGHT - WIDTH)/2
|
||||
Y:(WINDOW_BOTTOM- HEIGHT)/2
|
||||
Width: 450
|
||||
Height: 350
|
||||
Visible: true
|
||||
Children:
|
||||
Label@SETTINGS_LABEL_TITLE:
|
||||
Id:SETTINGS_LABEL_TITLE
|
||||
X:0
|
||||
Y:20
|
||||
Width:450
|
||||
Height:25
|
||||
Text:Settings
|
||||
Align:Center
|
||||
Bold:True
|
||||
Button@BUTTON_CLOSE:
|
||||
Id:BUTTON_CLOSE
|
||||
X:PARENT_RIGHT - 180
|
||||
Y:PARENT_BOTTOM - 45
|
||||
Width:160
|
||||
Height:25
|
||||
Text:Close
|
||||
Bold:True
|
||||
Container@TAB_CONTAINER:
|
||||
Id:TAB_CONTAINER
|
||||
X:0
|
||||
Y:50
|
||||
Width:PARENT_RIGHT
|
||||
Height:25
|
||||
Children:
|
||||
Button@GENERAL:
|
||||
Id:GENERAL
|
||||
X:45
|
||||
Y:0
|
||||
Width:90
|
||||
Height:25
|
||||
Text:General
|
||||
Bold:True
|
||||
Button@AUDIO:
|
||||
Id:AUDIO
|
||||
X:135
|
||||
Y:0
|
||||
Width:90
|
||||
Height:25
|
||||
Text:Audio
|
||||
Bold:True
|
||||
Button@DISPLAY:
|
||||
Id:DISPLAY
|
||||
X:225
|
||||
Y:0
|
||||
Width:90
|
||||
Height:25
|
||||
Text:Display
|
||||
Bold:True
|
||||
Button@DEBUG:
|
||||
Id:DEBUG
|
||||
X:315
|
||||
Y:0
|
||||
Width:90
|
||||
Height:25
|
||||
Text:Debug
|
||||
Bold:True
|
||||
Container@GENERAL_PANE:
|
||||
Id:GENERAL_PANE
|
||||
X:37
|
||||
Y:100
|
||||
Width:PARENT_RIGHT - 37
|
||||
Height:PARENT_BOTTOM - 100
|
||||
Visible: true
|
||||
Children:
|
||||
Label@SETTINGS_PLAYER_NAME:
|
||||
Id:SETTINGS_PLAYER_NAME
|
||||
X:0
|
||||
Y:10
|
||||
Text: Player Name:
|
||||
TextField@NAME:
|
||||
Id:NAME
|
||||
Text:Name
|
||||
Width:139
|
||||
Height:25
|
||||
X:90
|
||||
Y:0
|
||||
MaxLength:16
|
||||
Checkbox@EDGE_SCROLL:
|
||||
Id:EDGE_SCROLL
|
||||
X:0
|
||||
Y:30
|
||||
Width:200
|
||||
Height:20
|
||||
Text: Enable Edge Scrolling
|
||||
Checkbox@INVERSE_SCROLL:
|
||||
Id:INVERSE_SCROLL
|
||||
X:0
|
||||
Y:60
|
||||
Width:200
|
||||
Height:20
|
||||
Text: Invert Mouse Drag Scrolling
|
||||
Container@AUDIO_PANE:
|
||||
Id:AUDIO_PANE
|
||||
X:37
|
||||
Y:100
|
||||
Width:PARENT_RIGHT - 37
|
||||
Height:PARENT_BOTTOM - 100
|
||||
Visible: false
|
||||
Children:
|
||||
Label@SOUND_VOLUME_LABEL:
|
||||
Id:SOUND_VOLUME_LABEL
|
||||
X:0
|
||||
Y:10
|
||||
Text: Sound Volume
|
||||
Slider@SOUND_VOLUME:
|
||||
Id:SOUND_VOLUME
|
||||
X:100
|
||||
Y:0
|
||||
Width:250
|
||||
Height:20
|
||||
Ticks:5
|
||||
Label@MUSIC_VOLUME_LABEL:
|
||||
Id:MUSIC_VOLUME_LABEL
|
||||
X:0
|
||||
Y:40
|
||||
Text: Music Volume
|
||||
Slider@MUSIC_VOLUME:
|
||||
Id:MUSIC_VOLUME
|
||||
X:100
|
||||
Y:30
|
||||
Width:250
|
||||
Height:20
|
||||
Ticks:5
|
||||
Container@DISPLAY_PANE:
|
||||
Id:DISPLAY_PANE
|
||||
X:37
|
||||
Y:100
|
||||
Width:PARENT_RIGHT - 37
|
||||
Height:PARENT_BOTTOM - 100
|
||||
Visible: false
|
||||
Children:
|
||||
Checkbox@FULLSCREEN_CHECKBOX:
|
||||
Id:FULLSCREEN_CHECKBOX
|
||||
X:0
|
||||
Y:0
|
||||
Width:300
|
||||
Height:20
|
||||
Text:Fullscreen
|
||||
Label@RESOLUTION_LABEL:
|
||||
Id:RESOLUTION_LABEL
|
||||
X:0
|
||||
Y:50
|
||||
Text: Window Resolution:
|
||||
TextField@SCREEN_WIDTH:
|
||||
Id:SCREEN_WIDTH
|
||||
Text:Width
|
||||
Width:50
|
||||
Height:25
|
||||
X:130
|
||||
Y:40
|
||||
MaxLength:5
|
||||
Label@X:
|
||||
Id:X
|
||||
Text:x
|
||||
X:185
|
||||
Y:50
|
||||
TextField@SCREEN_HEIGHT:
|
||||
Id:SCREEN_HEIGHT
|
||||
Text:Height
|
||||
Width:50
|
||||
Height:25
|
||||
X:195
|
||||
Y:40
|
||||
MaxLength:5
|
||||
Label@RESTART:
|
||||
Id:RESTART
|
||||
Text: Restart Game To Apply Changes
|
||||
X:0
|
||||
Y:PARENT_BOTTOM - 30
|
||||
Container@DEBUG_PANE:
|
||||
Id:DEBUG_PANE
|
||||
X:37
|
||||
Y:100
|
||||
Width:PARENT_RIGHT - 37
|
||||
Height:PARENT_BOTTOM - 100
|
||||
Visible: false
|
||||
Children:
|
||||
Checkbox@PERFDEBUG_CHECKBOX:
|
||||
Id:PERFDEBUG_CHECKBOX
|
||||
X:0
|
||||
Y:0
|
||||
Width:300
|
||||
Height:20
|
||||
Text:Show Performance Information
|
||||
Checkbox@SYNCREPORTS_CHECKBOX:
|
||||
Id:SYNCREPORTS_CHECKBOX
|
||||
X:0
|
||||
Y:30
|
||||
Width:300
|
||||
Height:20
|
||||
Text:Collect Sync Reports
|
||||
Checkbox@GAMETIME_CHECKBOX:
|
||||
Id:GAMETIME_CHECKBOX
|
||||
X:0
|
||||
Y:60
|
||||
Width:300
|
||||
Height:20
|
||||
Text:Show Game Time Counter
|
||||
|
||||
Reference in New Issue
Block a user