示例#1
0
        private void HandlePlanetWarsMessages(Talker.SpringEventArgs e)
        {
            if (!Program.main.config.PlanetWarsEnabled || Program.main.PlanetWars == null)
            {
                return;
            }
            if (e.Param >= Talker.TO_EVERYONE_LEGACY)
            {
                return;
            }

            int count;

            if (!PlanetWarsMessages.TryGetValue(e.Text, out count))
            {
                count = 0;
            }
            count++;
            PlanetWarsMessages[e.Text] = count;
            if (count != 2)
            {
                return;             // only send if count matches 2 exactly
            }
            if (Program.main.PlanetWars != null)
            {
                Program.main.PlanetWars.SpringMessage(e.Text);
            }
        }
示例#2
0
        void talker_SpringEvent(object sender, Talker.SpringEventArgs e)
        {
            switch (e.EventType)
            {
            case Talker.SpringEventType.PLAYER_JOINED:
                if (PlayerJoined != null)
                {
                    PlayerJoined(this, new SpringLogEventArgs(e.PlayerName));
                }
                break;

            case Talker.SpringEventType.PLAYER_LEFT:
                if (e.Param == 0)
                {
                    if (PlayerDisconnected != null)
                    {
                        PlayerDisconnected(this, new SpringLogEventArgs(e.PlayerName));
                    }
                    else if (PlayerLeft != null)
                    {
                        PlayerLeft(this, new SpringLogEventArgs(e.PlayerName));
                    }
                }
                break;

            case Talker.SpringEventType.PLAYER_CHAT:
                if (PlayerSaid != null)
                {
                    PlayerSaid(this, new SpringLogEventArgs(e.PlayerName, e.Text));
                }
                break;

            case Talker.SpringEventType.PLAYER_DEFEATED:
                if (PlayerLost != null)
                {
                    PlayerLost(this, new SpringLogEventArgs(e.PlayerName));
                }
                break;

            case Talker.SpringEventType.SERVER_GAMEOVER:
//          if (GameOver != null) GameOver(this, new SpringLogEventArgs(e.PlayerName));
                break;

            case Talker.SpringEventType.SERVER_QUIT:
                if (GameOver != null)
                {
                    GameOver(this, new SpringLogEventArgs(e.PlayerName));
                }
                break;
            }
        }
示例#3
0
        private void talker_SpringEvent(object sender, Talker.SpringEventArgs e)
        {
            switch (e.EventType)
            {
            case Talker.SpringEventType.PLAYER_JOINED:
                //Program.main.AutoHost.SayBattle("dbg joined " + e.PlayerName);
                if (PlayerJoined != null)
                {
                    PlayerJoined(this, new SpringLogEventArgs(e.PlayerName));
                }
                break;

            case Talker.SpringEventType.PLAYER_LEFT:
                //Program.main.AutoHost.SayBattle("dbg left " + e.PlayerName);
                if (e.Param == 0 && PlayerDisconnected != null)
                {
                    PlayerDisconnected(this, new SpringLogEventArgs(e.PlayerName));
                }
                if (PlayerLeft != null)
                {
                    PlayerLeft(this, new SpringLogEventArgs(e.PlayerName));
                }

                break;

            case Talker.SpringEventType.PLAYER_CHAT:

                HandlePlanetWarsMessages(e);

                // only public chat
                if (PlayerSaid != null && (e.Param == Talker.TO_EVERYONE || e.Param == Talker.TO_EVERYONE_LEGACY))
                {
                    PlayerSaid(this, new SpringLogEventArgs(e.PlayerName, e.Text));
                }
                break;

            case Talker.SpringEventType.PLAYER_DEFEATED:
                //Program.main.AutoHost.SayBattle("dbg defeated " + e.PlayerName);
                if (PlayerLost != null)
                {
                    PlayerLost(this, new SpringLogEventArgs(e.PlayerName));
                }
                break;

            case Talker.SpringEventType.SERVER_GAMEOVER:
                //Program.main.AutoHost.SayBattle("dbg gameover " + e.PlayerName);
                if (GameOver != null)
                {
                    GameOver(this, new SpringLogEventArgs(e.PlayerName));
                }
                break;

            case Talker.SpringEventType.PLAYER_READY:
                //Program.main.AutoHost.SayBattle("dbg ready " + e.PlayerName);
                if (e.Param == 1)
                {
                    readyPlayers.Add(e.PlayerName);
                }
                break;

            case Talker.SpringEventType.SERVER_QUIT:
                //Program.main.AutoHost.SayBattle("dbg quit ");
                //if (GameOver != null) GameOver(this, new SpringLogEventArgs(e.PlayerName));
                break;
            }
        }