Example #1
0
        public void AddPlayerTest()
        {
            Pug pug = new Pug();

            pug.AddPlayer( player1, PlayerClass.Medic );
            Assert.Contains( player1, pug.Players[PlayerClass.Medic] );
        }
Example #2
0
        public void ReAddPlayerTest()
        {
            Pug pug = new Pug();

            pug.AddPlayer( player1, PlayerClass.Medic );
            pug.AddPlayer( player1, PlayerClass.Demo );

            Assert.IsEmpty( pug.Players[PlayerClass.Medic] );
        }
Example #3
0
        public void AddTooManyPlayersTest()
        {
            Pug pug = new Pug();

            pug.AddPlayer( player1, PlayerClass.Medic );
            pug.AddPlayer( player2, PlayerClass.Medic );
            pug.AddPlayer( player3, PlayerClass.Medic );

            Assert.That( pug.Players[PlayerClass.Medic].Count, Is.EqualTo( 2 ) );
        }
Example #4
0
 public StatusCommand( Pug currentPug, IrcBot bot )
     : base(currentPug, bot)
 {
     b_command = new Regex( @"^status", RegexOptions.Compiled | RegexOptions.IgnoreCase );
 }
Example #5
0
 public AddCommand( Pug currentPug, IrcBot bot )
     : base(currentPug, bot)
 {
 }
Example #6
0
        void irc_OnConnected( object sender, EventArgs e )
        {
            IrcClient.Login( new string[] { @"TF2-PUG-Bot", @"TF2PugBot", @"TF2Pugs" }, @"TF2 PUG Bot", 0, @"TF2PUGBot" );
            IrcClient.WriteLine( String.Format( "AUTHSERV AUTH {0} {1}", gameSurgeAuth, gameSurgeAuthPassword ) );
            IrcClient.RfcJoin( Channel );

            CurrentPug = new Pug();
            UpdateTopic();
            CurrentPug.OnPlayerAdded += new PlayerAddedOrRemovedHandler( CurrentPug_OnPlayerAdded );
            CurrentPug.OnPlayerRemoved += new PlayerAddedOrRemovedHandler( CurrentPug_OnPlayerRemoved );
            CurrentPug.OnPugFull += new PugFullHandler( CurrentPug_OnPugFull );
            CurrentPug.OnPugStarted += new PugStartedHandler( CurrentPug_OnPugStarted );

            CommandList = new List<Commands.PlayerCommand>();

            CommandList.Add( new Commands.AddCommand( CurrentPug, this ) );
            CommandList.Add( new Commands.RemoveCommand( CurrentPug, this ) );
            CommandList.Add( new Commands.SkillCommand( CurrentPug, this ) );
            CommandList.Add( new Commands.HelpCommand( CurrentPug, this ) );
            CommandList.Add( new Commands.MumbleCommand( CurrentPug, this ) );
            CommandList.Add( new Commands.TestCommand( CurrentPug, this ) );
            CommandList.Add( new Commands.TopicCommand( CurrentPug, this ) );
            CommandList.Add( new Commands.QuitCommand( CurrentPug, this ) );
            CommandList.Add( new Commands.StatusCommand( CurrentPug, this ) );
            CommandList.Add( new Commands.ServerCommand( CurrentPug, this ) );
            CommandList.Add( new Commands.NextServerCommand( CurrentPug, this ) );
            CommandList.Add( new Commands.MapCommand( CurrentPug, this ) );
            CommandList.Add( new Commands.NextMapCommand( CurrentPug, this ) );
        }
Example #7
0
        void CurrentPug_OnPugStarted( object sender, PugStartedEventsArgs e )
        {
            IrcClient.SendMessage( SendType.Message, Channel, String.Format( "\x3\x32 BLU Team: {0} medic, {1} demo, {2} soldier, {3} soldier, {4} scout, {5} scout", new string[] { e.BluTeam.Players[PlayerClass.Medic][0].Name, e.BluTeam.Players[PlayerClass.Demo][0].Name, e.BluTeam.Players[PlayerClass.Soldier][0].Name, e.BluTeam.Players[PlayerClass.Soldier][1].Name, e.BluTeam.Players[PlayerClass.Scout][0].Name, e.BluTeam.Players[PlayerClass.Scout][1].Name } ) );
            IrcClient.SendMessage( SendType.Message, Channel, String.Format( "\x3\x34 RED Team: {0} medic, {1} demo, {2} soldier, {3} soldier, {4} scout, {5} scout", new string[] { e.RedTeam.Players[PlayerClass.Medic][0].Name, e.RedTeam.Players[PlayerClass.Demo][0].Name, e.RedTeam.Players[PlayerClass.Soldier][0].Name, e.RedTeam.Players[PlayerClass.Soldier][1].Name, e.RedTeam.Players[PlayerClass.Scout][0].Name, e.RedTeam.Players[PlayerClass.Scout][1].Name } ) );
            IrcClient.SendMessage( SendType.Message, Channel, String.Format( "PUG will be played on {0} on the map {1}", ((Pug)sender).Server.FriendlyName, ((Pug)sender).Map.FriendlyName ) );
            CurrentPug = null;
            CurrentPug = new Pug();
            UpdateTopic();
            CurrentPug.OnPlayerAdded += new PlayerAddedOrRemovedHandler( CurrentPug_OnPlayerAdded );
            CurrentPug.OnPlayerRemoved += new PlayerAddedOrRemovedHandler( CurrentPug_OnPlayerRemoved );
            CurrentPug.OnPugFull += new PugFullHandler( CurrentPug_OnPugFull );
            CurrentPug.OnPugStarted += new PugStartedHandler( CurrentPug_OnPugStarted );

            // Eventually do something to clean this up:
            CommandList = new List<Commands.PlayerCommand>();

            CommandList.Add( new Commands.AddCommand( CurrentPug, this ) );
            CommandList.Add( new Commands.RemoveCommand( CurrentPug, this ) );
            CommandList.Add( new Commands.SkillCommand( CurrentPug, this ) );
            CommandList.Add( new Commands.HelpCommand( CurrentPug, this ) );
            CommandList.Add( new Commands.MumbleCommand( CurrentPug, this ) );
            CommandList.Add( new Commands.TestCommand( CurrentPug, this ) );
            CommandList.Add( new Commands.TopicCommand( CurrentPug, this ) );
            CommandList.Add( new Commands.QuitCommand( CurrentPug, this ) );
            CommandList.Add( new Commands.StatusCommand( CurrentPug, this ) );
            CommandList.Add( new Commands.ServerCommand( CurrentPug, this ) );
            CommandList.Add( new Commands.NextServerCommand( CurrentPug, this ) );
            CommandList.Add( new Commands.MapCommand( CurrentPug, this ) );
            CommandList.Add( new Commands.NextMapCommand( CurrentPug, this ) );
        }
Example #8
0
 public RemoveCommand( Pug currentPug, IrcBot bot )
     : base(currentPug, bot)
 {
 }
Example #9
0
 public TestCommand( Pug currentPug, IrcBot bot )
     : base(currentPug, bot)
 {
     b_command = new Regex( @"^test", RegexOptions.Compiled | RegexOptions.IgnoreCase );
 }
Example #10
0
        public void StartTest()
        {
            Pug pug = new Pug();
            pug.AddPlayer( player1, PlayerClass.Medic );
            pug.AddPlayer( player2, PlayerClass.Medic );
            pug.AddPlayer( player3, PlayerClass.Demo );
            pug.AddPlayer( player4, PlayerClass.Demo );
            pug.AddPlayer( player5, PlayerClass.Scout );
            pug.AddPlayer( player6, PlayerClass.Scout );
            pug.AddPlayer( player7, PlayerClass.Scout );
            pug.AddPlayer( player8, PlayerClass.Scout );
            pug.AddPlayer( player9, PlayerClass.Soldier );
            pug.AddPlayer( player10, PlayerClass.Soldier );
            pug.AddPlayer( player11, PlayerClass.Soldier );
            pug.AddPlayer( player12, PlayerClass.Soldier );

            PugStartedHandler anonDelegate = delegate( object sender, PugStartedEventsArgs data )
            {
                Assert.IsFalse( (player1 == data.RedTeam.Players[PlayerClass.Medic][0]) && (player3 == data.RedTeam.Players[PlayerClass.Demo][0]), @"Teams are not balanced." );
                Assert.IsFalse( (player1 == data.BluTeam.Players[PlayerClass.Medic][0]) && (player3 == data.BluTeam.Players[PlayerClass.Demo][0]), @"Teams are not balanced." );
            };

            pug.OnPugStarted += anonDelegate;

            pug.Start( map, server );

            pug.OnPugStarted -= anonDelegate;
        }
Example #11
0
 public void PugStartWithNotEnoughPlayersTest()
 {
     Pug pug = new Pug();
     pug.AddPlayer( player1, PlayerClass.Medic );
     pug.Start( map, server );
 }
Example #12
0
 public HelpCommand( Pug currentPug, IrcBot bot )
     : base(currentPug, bot)
 {
     b_command = new Regex( @"^help|^man", RegexOptions.Compiled | RegexOptions.IgnoreCase );
 }
Example #13
0
 public MumbleCommand( Pug currentPug, IrcBot bot )
     : base(currentPug, bot)
 {
     b_command = new Regex( @"^mumble|^vent", RegexOptions.Compiled | RegexOptions.IgnoreCase );
 }
Example #14
0
 public PlayerCommand( Pug currentPug, IrcBot bot )
 {
     this.CurrentPug = currentPug;
     this.IrcBot = bot;
 }