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; } }
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; } }