예제 #1
0
        public void AllResourceCharactersCanBeResolvedBySpriteFont()
        {
            var SupportedLanguages = new[] { "en-US", "de-DE", "es-ES", "pl" };

            foreach (var Language in SupportedLanguages)
            {
                var GameSettings = new GameSettings()
                {
                    Culture = Language
                };

                using (var GraphicsDevice = Mock.CreateGraphicsDevice())
                    using (var Runner = new SessionSevenTestEngine(new TestGame(), Mock.Wrap(GraphicsDevice), Mock.Input, GameSettings))
                    {
                        Runner.StartGame();
                        Runner.AdvanceToInteractive();

                        var Text        = Runner.Game.World.GetScene(TestGame.SCENE_ID).GetObject(TestGame.ENTITY_OUTLINE_ID).Get <Text>();
                        var OutlineText = Runner.Game.World.GetScene(TestGame.SCENE_ID).GetObject(TestGame.ENTITY_OUTLINE_ID).Get <Text>();

                        foreach (var ResourceString in GetResourceStrings())
                        {
                            // this throws if the sprite font cannot resolve a character
                            Text.Set(ResourceString, TextDuration.Persistent, Vector2.Zero);
                            OutlineText.Set(ResourceString, TextDuration.Persistent, Vector2.Zero);
                        }
                    }
            }
        }
예제 #2
0
        private void SolveSessionThree(SessionSevenTestEngine runner, ScoreType targetScore)
        {
            Assert.IsTrue(Tree.Cutscenes.Director.FinishedSession(Cutscenes.Sessions.Two));

            runner.Interact(Tree.Basement.LandonPortrait, Verbs.Pick);
            runner.Interact(Tree.InventoryItems.Portrait, Verbs.Look);
            runner.Interact(Tree.InventoryItems.DrawerKey, Tree.Basement.DrawerRight, Verbs.Use);
            runner.Interact(Tree.Basement.DrawerRight, Verbs.Open, false);
            runner.AdvanceToNonInteractive();
            runner.AdvanceToInteractive();
            runner.MouseClick();
            runner.AdvanceToInteractive();
            runner.Interact(Tree.Basement.Shelf, Verbs.Look);
            runner.Interact(Tree.Basement.ShelfBlanketFlashlight, Verbs.Pick);

            runner.AnswerDialog(targetScore);
        }
예제 #3
0
        private void PlaceNut(SessionSevenTestEngine runner, Vector2 absolutePosition)
        {
            runner.Interact(Tree.InventoryItems.Hazelnuts, Verbs.Use);

            var ClickPos = Tree.Basement.Scene.Get <Camera>().Transform(absolutePosition);

            runner.MouseClick(ClickPos);
            runner.AdvanceToInteractive();
        }
예제 #4
0
        /// <summary>
        /// Creates a new SessionSevenTestEngine and executes an action with it.
        /// </summary>
        /// <param name="action"></param>
        public static void Execute(Action <SessionSevenTestEngine> action)
        {
            using (var GraphicsDevice = Mock.CreateGraphicsDevice())
                using (var Runner = new SessionSevenTestEngine(new Game(), Mock.Wrap(GraphicsDevice), Mock.Input))
                {
                    Runner.StartGame();
                    Runner.AdvanceToInteractive();

                    action(Runner);
                }
        }
예제 #5
0
        private void SetupRFIDAntenna(SessionSevenTestEngine runner)
        {
            var ClickPos = Tree.Basement.Scene.Get <Camera>().Transform(new Vector2(422, 334));

            runner.MouseClick(ClickPos);
            runner.AdvanceToInteractive();

            ClickPos = Tree.Basement.Scene.Get <Camera>().Transform(Basement.WoodenPanel.Collider.Center);

            runner.MouseClick(ClickPos);
            runner.AdvanceToInteractive();

            ClickPos = Tree.Basement.Scene.Get <Camera>().Transform(new Vector2(620, 333));

            runner.MouseClick(ClickPos);
            runner.AdvanceToInteractive();

            ClickPos = Tree.Basement.Scene.Get <Camera>().Transform(Basement.WoodenPanel.Collider.Center);

            runner.MouseClick(ClickPos);
            runner.AdvanceToInteractive();
        }