public void ValidPosition_AfterPlayerProcess()
        {
            Player       player = CreatePlayer("Test_1_Player_1");
            PlayerSystem system = CreateSystem();

            player.Speed = 200;
            system.Add(player);

            // Move left test.
            player.Parent.Position.x = 500;
            player.Direction         = 2;
            system.Update(0.5f);
            Assert.AreEqual(player.Parent.Position.x, 600, 0.001, "Player post-movement coordinates as predicted");

            // Move right test.
            player.Direction = 0;
            system.Update(0.5f);
            Assert.AreEqual(player.Parent.Position.x, 500, 0.001, "Player post-movement coordinates as predicted");

            // Limit right position to 1280 test.
            player.Parent.Position.x = 2000;
            system.Update(0.5f);
            Assert.AreEqual(player.Parent.Position.x, 1280, 0.001, "Player position not being moved within valid boundries.");

            // Limit left position to 0 test.
            player.Parent.Position.x = -500;
            system.Update(0.5f);
            Assert.AreEqual(player.Parent.Position.x, 0, 0.001, "Player position not being moved within valid boundries.");
        }
        public void AddPlayer_SuccessfullyAdded()
        {
            // Create player and system.
            Player       playerOne = CreatePlayer("Test_3_Player_1");
            PlayerSystem system    = CreateSystem();

            system.Add(playerOne);

            // Ensure it was sucesffully added to the system.
            Assert.AreEqual(system.Get("Test_3_Player_1"), playerOne, "Single component not correctly inserted into the system.");
            Assert.AreEqual(system.Count(), 1, "Single component not correctly inserted into the system.");
        }
        public void Player_DirectionIsCapped()
        {
            // Create player and system.
            Player       player = CreatePlayer("Test_2_Player_1");
            PlayerSystem system = CreateSystem();

            system.Add(player);

            // Set direction and check it's successfully capped.
            player.Direction = 5;
            system.Update(0.5f);
            Assert.AreEqual(player.Direction, 2, 0.001, "Player direction upper bound not corrected to 2.");
        }
예제 #4
0
        /// <summary>
        /// Set up the main Player entity.
        /// </summary>
        private void CreatePlayer()
        {
            // Get Player and Collider systems.
            PlayerSystem   playerSystem   = GetSystem <PlayerSystem>();
            ColliderSystem colliderSystem = GetSystem <ColliderSystem>();

            // Create Player Entity and Components.
            GameEntity entity   = new GameEntity("Player", new Vector2(300, 680), "Player");
            Player     player   = new Player(entity);
            Collider   collider = new Collider(entity, 256, 32, true);

            // Add them to the systems.
            playerSystem.Add(player);
            colliderSystem.Add(collider);
        }
        public void AddMultiplePlayers_SuccessfullyAdded()
        {
            // Create multiple players.
            Player playerOne   = CreatePlayer("Test_4_Player_1");
            Player playerTwo   = CreatePlayer("Test_4_Player_2");
            Player playerThree = CreatePlayer("Test_4_Player_3");

            // Add players to the system.
            PlayerSystem  system  = CreateSystem();
            List <Player> players = new List <Player>()
            {
                playerOne,
                playerTwo,
                playerThree
            };

            system.Add(players);

            // Assert players added.
            Assert.AreEqual(system.Get("Test_4_Player_1"), playerOne, "Multiple components not correctly inserted into the system.");
            Assert.AreEqual(system.Get("Test_4_Player_2"), playerTwo, "Multiple components not correctly inserted into the system.");
            Assert.AreEqual(system.Get("Test_4_Player_3"), playerThree, "Multiple components not correctly inserted into the system.");
            Assert.AreEqual(system.Count(), 3, "Multiple components not correctly inserted into the system.");
        }