public void ChildFramesKeepName() { RuntimeGuiManager manager = new RuntimeGuiManager(false, new Logger()); // A window named 'TestWindow' with an empty main frame named 'TestFrame' IGuiFrame testFrame = new GuiFrame ( "TestFrame", new FixedSize(new Vector2(32.0f, 32.0f)), new Dictionary <IWidget, IGuiPosition>(), null ); Window testWindow = new Window ( "TestWindow", new FixedSize(new Vector2(150.0f, 200.0f)), manager, testFrame, null, null ); Assert.AreEqual("TestFrame", testWindow.MainFrame.Key.Name); }
public void SingleDepthSingleElementSelectNegativeTest() { RuntimeGuiManager manager = new RuntimeGuiManager(false, new Logger()); // A window named 'TestWindow' with an empty main frame named 'TestFrame' IGuiFrame testFrame = new GuiFrame ( "TestFrame", new FixedSize(new Vector2(32.0f, 32.0f)), new Dictionary <IWidget, IGuiPosition>(), null ); ITopLevel testWindow = new Window ( "TestWindow", new FixedSize(new Vector2(132.0f, 232.0f)), manager, testFrame, null ); // All of these paths should return the testFrame object GuiPath testPath1 = new GuiPath("/foo"); GuiPath testPath2 = new GuiPath("bar"); IGuiElement test1 = testPath1.SelectSingleElement(testWindow); IGuiElement test2 = testPath2.SelectSingleElement(testWindow); Assert.AreNotEqual <IGuiElement>(testFrame, test1); Assert.AreNotEqual <IGuiElement>(testFrame, test2); }
public void ReverseHeiarchyClimbMultipleQueryMultipleDepth() { RuntimeGuiManager manager = new RuntimeGuiManager(false, new Logger()); IGuiFrame testFrame1 = new GuiFrame("TestFrame1", new FillParent()); IGuiFrame testFrame2 = new GuiFrame("TestFrame2", new FillParent()); testFrame1.AddChildWidget(testFrame2, new FixedPosition(0.0f, 0.0f)); IGuiFrame testFrame3 = new GuiFrame("TestFrame3", new FillParent()); testFrame2.AddChildWidget(testFrame3, new FixedPosition(0.0f, 0.0f)); IGuiFrame testFrame4 = new GuiFrame("TestFrame4", new FillParent()); testFrame3.AddChildWidget(testFrame4, new FixedPosition(0.0f, 0.0f)); IGuiFrame testFrame5 = new GuiFrame("TestFrame5", new FillParent()); testFrame4.AddChildWidget(testFrame5, new FixedPosition(0.0f, 0.0f)); new Window("TestWindow", new FixedSize(new Vector2(128.0f, 128.0f)), manager, testFrame1); GuiPath testPath = new GuiPath("../../../*"); Assert.AreEqual("TestFrame3", testPath.SelectSingleElement(testFrame5).Name); Assert.AreEqual("TestFrame2", testPath.SelectSingleElement(testFrame4).Name); Assert.AreEqual("TestFrame1", testPath.SelectSingleElement(testFrame3).Name); GuiPath testPath2 = new GuiPath("../../../../../TestFrame1/TestFrame2/TestFrame3/TestFrame4/TestFrame5"); Assert.AreEqual(testFrame5, testPath2.SelectSingleElement <IGuiFrame>(testFrame5)); }
public ToolbarMediator() { RuntimeGuiManager guiManager = GameFacade.Instance.RetrieveMediator <RuntimeGuiManager>(); mNavigationBar = new NavigationBar(guiManager); mTopBar = new TopBar(guiManager); mNavigationBar.DisableButtons(); mTopBar.Mode = TopBar.TopBarMode.LoggingIn; }
protected override void Awake() { try { base.Awake(); // Application settings go here Application.runInBackground = true; Application.targetFrameRate = 60; // Set up required components, and just the bare minimum of MVC actors. We don't have config data yet, so // anything that requires real data off the network should be registered in StartupCommand or later mGuiManager = new RuntimeGuiManager(mLogger); mLogger.AddReporter(new DebugLogReporter()); mGameFacade = GameFacade.Instance; // Nulls out the reference on application exit for editor integration // Register Required Mediators GameFacade.Instance.RegisterMediator(new LoggerMediator(mLogger)); GameFacade.Instance.RegisterMediator(new InputManagerMediator()); GameFacade.Instance.RegisterMediator(new SchedulerMediator(this.Scheduler)); GameFacade.Instance.RegisterMediator((IMediator)mGuiManager); RuntimeConsole runtimeConsole = new RuntimeConsole(mGuiManager); runtimeConsole.AddCommand("showTasks", ((Scheduler)this.Scheduler).ShowTasks); ((Scheduler)this.Scheduler).Logger = mLogger; GameFacade.Instance.RegisterMediator(runtimeConsole); mLogger.AddReporter(runtimeConsole); mLogger.Log("SceneInit.Awake", LogLevel.Info); ConnectionProxy connectionProxy = new ConnectionProxy(); GameFacade.Instance.RegisterProxy(connectionProxy); // Get configuration data before doing anything else. This sends STARTUP_COMMAND when done getting the config data ConfigManagerClient configManager = new ConfigManagerClient(); GameFacade.Instance.RegisterProxy(configManager); configManager.InitAndStartup(); } catch (System.Exception ex) { // Catch all here is to avoid browser crashes on exit if something becomes unstable. mLogger.Log(ex.ToString(), LogLevel.Error); } finally { mLogger.Flush(); } }
public void WindowsCanBeNamed() { RuntimeGuiManager manager = new RuntimeGuiManager(false, new Logger()); // A window named 'TestWindow' with an empty main frame named 'TestFrame' ITopLevel testWindow = new Window ( "TestWindow", new FixedSize(new Vector2(150.0f, 200.0f)), manager, null, null, null ); Assert.AreEqual("TestWindow", testWindow.Name); }
public void GetWidgetPositionVerification() { RuntimeGuiManager manager = new RuntimeGuiManager(false, new Logger()); IDictionary <IWidget, IGuiPosition> widgets = new Dictionary <IWidget, IGuiPosition>(); Button testWidget = new Button ( "Button01", new FixedSize(new Vector2(10.0f, 10.0f)), null, null, "OK" ); widgets.Add(testWidget, new FixedPosition(new Vector2(10.0f, 10.0f))); IGuiFrame testFrame = new GuiFrame ( "TestFrame", new FillParent(), widgets, null ); ITopLevel testWindow = new Window ( "TestWindow", new FixedSize(new Vector2(400.0f, 400.0f)), manager, new KeyValuePair <IGuiFrame, IGuiPosition> ( testFrame, new FixedPosition(10.0f, 10.0f) ), null ); manager.SetTopLevelPosition(testWindow, new FixedPosition(10.0f, 10.0f)); UnityAssert.AreClose(Vector2.zero, testFrame.GetWidgetPosition(new Vector2(20.0f, Screen.height - 20.0f)), 0.0001f); UnityAssert.AreClose(Vector2.zero, testWidget.GetWidgetPosition(new Vector2(30.0f, Screen.height - 30.0f)), 0.0001f); UnityAssert.AreClose(new Vector2(0.0f, 5.0f), testFrame.GetWidgetPosition(new Vector2(20.0f, Screen.height - 25.0f)), 0.0001f); UnityAssert.AreClose(new Vector2(5.0f, 0.0f), testWidget.GetWidgetPosition(new Vector2(35.0f, Screen.height - 30.0f)), 0.0001f); }
public void SingleDepthMultipleElementSelectTest() { RuntimeGuiManager manager = new RuntimeGuiManager(false, new Logger()); // A window named 'TestWindow' with an empty main frame named 'TestFrame' IGuiFrame testFrame = new GuiFrame ( "TestFrame", new FixedSize(new Vector2(32.0f, 32.0f)), new Dictionary <IWidget, IGuiPosition>(), null ); ITopLevel testWindow = new Window ( "TestWindow", new FixedSize(new Vector2(132.0f, 232.0f)), manager, testFrame, testFrame, null ); // All of these paths should return the testFrame object GuiPath testPath1 = new GuiPath("/TestFrame"); GuiPath testPath2 = new GuiPath("TestFrame"); GuiPath testPath3 = new GuiPath("/*"); GuiPath testPath4 = new GuiPath("*"); IGuiElement[] test1 = testPath1.SelectElements(testWindow); IGuiElement[] test2 = testPath2.SelectElements(testWindow); IGuiElement[] test3 = testPath3.SelectElements(testWindow); IGuiElement[] test4 = testPath4.SelectElements(testWindow); IGuiElement[] testFrames = new IGuiElement[2] { testFrame, testFrame }; Assert.ArraysAreEqual(testFrames, test1); Assert.ArraysAreEqual(testFrames, test2); Assert.ArraysAreEqual(testFrames, test3); Assert.ArraysAreEqual(testFrames, test4); }
public void GetTopLevelVerification() { RuntimeGuiManager manager = new RuntimeGuiManager(false, new Logger()); IDictionary <IWidget, IGuiPosition> widgets = new Dictionary <IWidget, IGuiPosition>(); widgets.Add ( new Button ( "Button01", new FixedSize(new Vector2(10.0f, 10.0f)), null, null, "OK" ), new FixedPosition(Vector2.zero) ); widgets.Add ( new Button ( "Button02", new FixedSize(new Vector2(10.0f, 10.0f)), null, null, "OK" ), new FixedPosition(Vector2.zero) ); widgets.Add ( new Button ( "Button03", new FixedSize(new Vector2(10.0f, 10.0f)), null, null, "OK" ), new FixedPosition(Vector2.zero) ); IGuiFrame testFrame = new GuiFrame ( "TestFrame", new FixedSize(new Vector2(32.0f, 32.0f)), widgets, null ); ITopLevel testWindow = new Window ( "TestWindow", new FixedSize(new Vector2(132.0f, 232.0f)), manager, testFrame, null ); Assert.AreEqual(testWindow, testFrame.GetTopLevel()); foreach (KeyValuePair <IWidget, IGuiPosition> widget in widgets) { Assert.AreEqual(testWindow, widget.Key.GetTopLevel()); } }
public void UnknownDepthElementSelectTest() { RuntimeGuiManager manager = new RuntimeGuiManager(false, new Logger()); IDictionary <IWidget, IGuiPosition> widgets = new Dictionary <IWidget, IGuiPosition>(); widgets.Add ( new Button ( "Button01", new FixedSize(new Vector2(10.0f, 10.0f)), null, null, "OK" ), new FixedPosition(Vector2.zero) ); widgets.Add ( new Button ( "Button02", new FixedSize(new Vector2(10.0f, 10.0f)), null, null, "OK" ), new FixedPosition(Vector2.zero) ); widgets.Add ( new Button ( "Button03", new FixedSize(new Vector2(10.0f, 10.0f)), null, null, "OK" ), new FixedPosition(Vector2.zero) ); // A window named 'TestWindow' with an empty main frame named 'TestFrame' IGuiFrame testFrame = new GuiFrame ( "TestFrame", new FixedSize(new Vector2(32.0f, 32.0f)), widgets, null ); ITopLevel testWindow = new Window ( "TestWindow", new FixedSize(new Vector2(132.0f, 232.0f)), manager, testFrame, null, null ); GuiPath testPath = new GuiPath("**/Button01"); IGuiElement test = testPath.SelectSingleElement(testWindow); Assert.AreEqual("Button01", test.Name); }
public void MultipleDepthMultipleElementSelectTest() { RuntimeGuiManager manager = new RuntimeGuiManager(false, new Logger()); IDictionary <IWidget, IGuiPosition> widgets = new Dictionary <IWidget, IGuiPosition>(); widgets.Add ( new Button ( "Button01", new FixedSize(new Vector2(10.0f, 10.0f)), null, null, "OK" ), new FixedPosition(Vector2.zero) ); widgets.Add ( new Button ( "Button02", new FixedSize(new Vector2(10.0f, 10.0f)), null, null, "OK" ), new FixedPosition(Vector2.zero) ); widgets.Add ( new Button ( "Button03", new FixedSize(new Vector2(10.0f, 10.0f)), null, null, "OK" ), new FixedPosition(Vector2.zero) ); // A window named 'TestWindow' with an empty main frame named 'TestFrame' IGuiFrame testFrame = new GuiFrame ( "TestFrame", new FixedSize(new Vector2(32.0f, 32.0f)), widgets, null ); ITopLevel testWindow = new Window ( "TestWindow", new FixedSize(new Vector2(132.0f, 232.0f)), manager, testFrame, null, null ); // All of these paths should return all of the Buttons GuiPath testPath1 = new GuiPath("/TestFrame/*"); GuiPath testPath2 = new GuiPath("TestFrame/*"); IGuiElement[] test1 = testPath1.SelectElements(testWindow); IGuiElement[] test2 = testPath2.SelectElements(testWindow); Assert.AreEqual(3, test1.Length); Assert.AreEqual(3, test2.Length); foreach (IGuiElement testElement in test1) { Assert.IsTrue(testElement is Button); } foreach (IGuiElement testElement in test2) { Assert.IsTrue(testElement is Button); } }
public void MultipleDepthSingleElementSelectTest() { RuntimeGuiManager manager = new RuntimeGuiManager(false, new Logger()); IDictionary <IWidget, IGuiPosition> widgets = new Dictionary <IWidget, IGuiPosition>(); widgets.Add ( new Button ( "Button01", new FixedSize(new Vector2(10.0f, 10.0f)), null, null, "OK" ), new FixedPosition(Vector2.zero) ); widgets.Add ( new Button ( "Button02", new FixedSize(new Vector2(10.0f, 10.0f)), null, null, "OK" ), new FixedPosition(Vector2.zero) ); widgets.Add ( new Button ( "Button03", new FixedSize(new Vector2(10.0f, 10.0f)), null, null, "OK" ), new FixedPosition(Vector2.zero) ); // A window named 'TestWindow' with an empty main frame named 'TestFrame' IGuiFrame testFrame = new GuiFrame ( "TestFrame", new FixedSize(new Vector2(32.0f, 32.0f)), widgets, null ); ITopLevel testWindow = new Window ( "TestWindow", new FixedSize(new Vector2(132.0f, 232.0f)), manager, testFrame, null, null ); // All of these paths should return a button GuiPath testPath1 = new GuiPath("/TestFrame/Button01"); GuiPath testPath2 = new GuiPath("TestFrame/Button01"); GuiPath testPath3 = new GuiPath("/TestFrame/*"); GuiPath testPath4 = new GuiPath("TestFrame/*"); IGuiElement test1 = testPath1.SelectSingleElement(testWindow); IGuiElement test2 = testPath2.SelectSingleElement(testWindow); IGuiElement test3 = testPath3.SelectSingleElement(testWindow); IGuiElement test4 = testPath4.SelectSingleElement(testWindow); Assert.IsTrue(test1 is Button); Assert.IsTrue(test2 is Button); Assert.IsTrue(test3 is Button); Assert.IsTrue(test4 is Button); }