Example #1
0
        public void AddPlayerAndGroupLobbyTest()
        {
            var lobby  = new Lobby(new LobbyConfig());
            var player = new BasePlayer();

            lobby.AddPlayers(new BasePlayerGroup(player));
            var group = CreateXPlayerGroup(2);

            lobby.AddPlayers(group);
            Assert.AreEqual(3, lobby.PlayerList.Count);
        }
Example #2
0
        public void AddPlayerLobbyTest()
        {
            var lobby  = new Lobby(new LobbyConfig());
            var player = new BasePlayer();

            lobby.AddPlayers(new BasePlayerGroup(player));
            Assert.IsTrue(lobby.PlayerList.Contains(player));
        }
Example #3
0
        private Lobby CreateXPersonLobby(int numberOfPlayers = 4, int numberOfGroups = 1)
        {
            var lobby = new Lobby(new LobbyConfig());

            for (var i = 0; i < numberOfGroups; i++)
            {
                lobby.AddPlayers(CreateXPlayerGroup(numberOfPlayers));
            }
            return(lobby);
        }
Example #4
0
        private static string CallServerAndCreateLobby(string lobbyName)
        {
            Controller.Instance().CreateLobby(lobbyName);
            Lobby lobby = Controller.Instance().GetLobbyInstance(Guid.NewGuid().ToString(), lobbyName);

            lobby.AddPlayers
            (
                characterFactory.Create(CharacterClass.BattleMage),
                characterFactory.Create(CharacterClass.Necromancer),
                characterFactory.Create(CharacterClass.Wizard),
                characterFactory.Create(CharacterClass.Paladin)
            );

            Controller.Instance().PrintAllPlayers();
            Character target = Controller.Instance().GetLobbyInstance(lobby.Id, lobby.Name).GetFirstPlayer();


            foreach (Character player in lobby.Characters)
            {
                Console.WriteLine($"Actions of {player.Name}");
                if (player is INecromancer necromancer)
                {
                    necromancer.Resurrect(target);
                }
                if (player is IAttacker attacker)
                {
                    attacker.Attack(target);
                }
                if (player is IMagician magician)
                {
                    magician.ThrowSpell(target);
                }
                if (player is IStunner stunner)
                {
                    stunner.Stun(target);
                }
                Console.WriteLine();
            }
            return(lobby.Id);
        }