Remove another hardcoded widget reference and prepare for saner init code.

This commit is contained in:
Paul Chote
2011-05-09 19:42:37 +12:00
parent 2e1e8fd7e8
commit 3d347848f3
5 changed files with 28 additions and 4 deletions

View File

@@ -299,8 +299,7 @@ namespace OpenRA
JoinLocal();
viewport = new Viewport(new int2(Renderer.Resolution), Rectangle.Empty, Renderer);
Widget.RootWidget.RemoveChildren();
modData.WidgetLoader.LoadWidget( new Dictionary<string,object>(), Widget.RootWidget, "INIT_SETUP" );
modData.LoadScreen.StartGame();
}
public static void LoadShellMap()

View File

@@ -120,5 +120,10 @@ namespace OpenRA
}
public interface ILoadScreen { void Display(); void Init(); }
public interface ILoadScreen
{
void Display();
void Init();
void StartGame();
}
}

View File

@@ -70,6 +70,12 @@ namespace OpenRA.Mods.Cnc
Font.DrawText(text, new float2(Renderer.Resolution.Width - textSize.X - 20, Renderer.Resolution.Height - textSize.Y - 20), Color.Black);
r.EndFrame( new NullInputHandler() );
}
public void StartGame()
{
Widget.RootWidget.RemoveChildren();
Game.modData.WidgetLoader.LoadWidget( new Dictionary<string,object>(), Widget.RootWidget, "INIT_SETUP" );
}
}
}

View File

@@ -8,6 +8,9 @@
*/
#endregion
using System.Collections.Generic;
using OpenRA.Widgets;
namespace OpenRA.Mods.RA
{
public class NullLoadScreen : ILoadScreen
@@ -22,6 +25,12 @@ namespace OpenRA.Mods.RA
Game.Renderer.BeginFrame(float2.Zero);
Game.Renderer.EndFrame( new NullInputHandler() );
}
public void StartGame()
{
Widget.RootWidget.RemoveChildren();
Game.modData.WidgetLoader.LoadWidget( new Dictionary<string,object>(), Widget.RootWidget, "INIT_SETUP" );
}
}
}

View File

@@ -47,7 +47,6 @@ namespace OpenRA.Mods.RA
LogoPos = new float2(Renderer.Resolution.Width/2 - 128, Renderer.Resolution.Height/2 - 128);
}
public void Display()
{
if (r == null)
@@ -67,6 +66,12 @@ namespace OpenRA.Mods.RA
Font.DrawText(text, new float2(Renderer.Resolution.Width - textSize.X - 20, Renderer.Resolution.Height - textSize.Y - 20), Color.White);
r.EndFrame( new NullInputHandler() );
}
public void StartGame()
{
Widget.RootWidget.RemoveChildren();
Game.modData.WidgetLoader.LoadWidget( new Dictionary<string,object>(), Widget.RootWidget, "INIT_SETUP" );
}
}
}