Beispiel #1
0
        void HandleMessage(MessageCommon msg)
        {
            switch (msg.message_type)
            {
            case MessageCommon.FantasyFighterMessage.Login:
                fighter.name = (msg as FantasyLoginMessage).username;
                events(fighter.name + " connected");
                //MessageBox.Show( (msg as FantasyLoginMessage).username + " connected" );
                break;

            case MessageCommon.FantasyFighterMessage.ChangeWeapon:
                fighter.weapon = (msg as FantasyFighterWeapon).weapon;
                arena.NotifyPeers(this);
                events(fighter.name + " new weapon " + fighter.weapon);
                break;

            case MessageCommon.FantasyFighterMessage.ChangeStance:
                fighter.stance = (msg as FantasyFighterStance).stance;
                arena.NotifyPeers(this);
                events(fighter.name + " new stance " + fighter.weapon);
                break;

            case MessageCommon.FantasyFighterMessage.CreateArena:
                FantasyArena      created = FantasyArenaList.CreateArena((msg as FantasyArenaCreate).arena_name);
                FantasyArenaAdded added   = new FantasyArenaAdded(created.name);
                Byte[]            output  = added.Serialize();
                foreach (FantasyFighterPlayer player in FantasyServer.lobby_fighters)
                {
                    player.Send(output);
                }
                break;

            case MessageCommon.FantasyFighterMessage.JoinArena:
                arena = FantasyArenaList.JoinArena(this, (msg as FantasyArenaJoin).arena_name);

                {
                    FantasyFighterProtocol.FantasyArenaJoined send = new FantasyFighterProtocol.FantasyArenaJoined(arena.name);
                    Send(send.Serialize());
                }
                break;

            case MessageCommon.FantasyFighterMessage.ListArenas:
            {
                FantasyFighterProtocol.FantasyArenaList send = new FantasyFighterProtocol.FantasyArenaList(FantasyArenaList.GetNames());
                Send(send.Serialize());
            }
            break;
            }
        }
Beispiel #2
0
        void HandleMessage(MessageCommon msg)
        {
            switch (msg.message_type)
            {
            case MessageCommon.FantasyFighterMessage.ChangeWeapon:
            {
                FantasyFighterWeapon Msg = (FantasyFighterWeapon)msg;
                if (Msg.id == Guid.Empty)
                {
                }
                else
                {
                    FighterState fighter = arena.GetFighter(Msg.id);
                    if (fighter != null)
                    {
                        fighter.weapon = Msg.weapon;
                    }
                }
            }
            break;

            case MessageCommon.FantasyFighterMessage.ChangeStance:
            {
                FantasyFighterStance Msg = (FantasyFighterStance)msg;
                if (Msg.id == Guid.Empty)
                {
                }
                else
                {
                    FighterState fighter = arena.GetFighter(Msg.id);
                    if (fighter != null)
                    {
                        fighter.stance = Msg.stance;
                    }
                }
            }
            break;

            case MessageCommon.FantasyFighterMessage.ArenaList:
            {
                FantasyArenaList list = (FantasyArenaList)msg;
                ArenaTable.Rows.Clear();
                foreach (String s in list.arenas)
                {
                    DataRow row = ArenaTable.NewRow();
                    row["name"] = s;
                    ArenaTable.Rows.Add(row);
                }
                ArenaTable.AcceptChanges();
            }
            break;

            case MessageCommon.FantasyFighterMessage.ArenaAdded:
            {
                FantasyArenaAdded list = (FantasyArenaAdded)msg;

                DataRow row = ArenaTable.NewRow();
                row["name"] = list.arenas;
                ArenaTable.Rows.Add(row);

                ArenaTable.AcceptChanges();
            }
            break;

            case MessageCommon.FantasyFighterMessage.ArenaJoined:
            {
                FantasyArenaJoined list = (FantasyArenaJoined)msg;
                arena = new FantasyArena();

                new Arena(this).Show();
            }
            break;
            }
        }