Example #1
0
        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);
        }
Example #2
0
        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);
        }
Example #3
0
        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));
        }
Example #4
0
        public ToolbarMediator()
        {
            RuntimeGuiManager guiManager = GameFacade.Instance.RetrieveMediator <RuntimeGuiManager>();

            mNavigationBar = new NavigationBar(guiManager);
            mTopBar        = new TopBar(guiManager);
            mNavigationBar.DisableButtons();
            mTopBar.Mode = TopBar.TopBarMode.LoggingIn;
        }
Example #5
0
    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();
        }
    }
Example #6
0
        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);
        }
Example #7
0
        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);
        }
Example #8
0
        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);
        }
Example #9
0
        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());
            }
        }
Example #10
0
        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);
        }
Example #11
0
        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);
            }
        }
Example #12
0
        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);
        }