示例#1
0
        public static void SendTo(Arena arena, MemoryStream inStream, SendToType sendToType)
        {
            if (arena == null)
            {
                return;
            }

            Packet packet = new Packet(inStream);

            for (Byte i = 0; i < arena.ArenaPlayers.Count; i++)
            {
                ArenaPlayer arenaPlayer = arena.ArenaPlayers[i];

                if (arenaPlayer == null)
                {
                    continue;
                }

                if (sendToType.HasFlag(SendToType.All))
                {
                    Send(arenaPlayer.WorldPlayer, packet);
                    continue;
                }

                if (sendToType.HasFlag(SendToType.Arena))
                {
                    if (arenaPlayer.WorldPlayer.ActiveArena == arena)
                    {
                        Send(arenaPlayer.WorldPlayer, packet);
                    }
                }
            }
        }
示例#2
0
        public static void SendTo(MemoryStream inStream, SendToType sendToType)
        {
            Packet packet = new Packet(inStream);

            for (Int16 i = 0; i < PlayerManager.Players.Count; i++)
            {
                Player p = PlayerManager.Players[i];

                if (p == null)
                {
                    continue;
                }

                if (sendToType.HasFlag(SendToType.All))
                {
                    Send(p, packet);
                    continue;
                }

                if (sendToType.HasFlag(SendToType.World))
                {
                    if (p.TableId > 0)
                    {
                        Send(p, packet);
                        continue;
                    }
                }

                if (sendToType.HasFlag(SendToType.Tavern))
                {
                    if (p.TableId >= 50)
                    {
                        Send(p, packet);
                    }
                }
            }
        }
示例#3
0
        public static void SendTo(Player player, MemoryStream inStream, SendToType sendToType, Boolean toSelf)
        {
            if (player == null)
            {
                return;
            }

            Packet packet = new Packet(inStream);

            for (Int16 i = 0; i < PlayerManager.Players.Count; i++)
            {
                Player p = PlayerManager.Players[i];

                if (p == null || (!toSelf && p == player))
                {
                    continue;
                }

                if (sendToType.HasFlag(SendToType.All))
                {
                    Send(p, packet);
                    continue;
                }

                if (sendToType.HasFlag(SendToType.World))
                {
                    if (p.TableId > 0)
                    {
                        Send(p, packet);
                        continue;
                    }
                }

                if (sendToType.HasFlag(SendToType.Tavern))
                {
                    if (p.TableId >= 50)
                    {
                        Send(p, packet);
                        continue;
                    }
                }

                if (sendToType.HasFlag(SendToType.Table))
                {
                    if (p.TableId == player.TableId)
                    {
                        Send(p, packet);
                        continue;
                    }
                }

                if (sendToType.HasFlag(SendToType.Arena))
                {
                    if (player.ActiveArena != null && p.ActiveArena == player.ActiveArena)
                    {
                        Send(p, packet);
                        continue;
                    }
                }

                if (sendToType.HasFlag(SendToType.Team))
                {
                    if (p.ActiveArena != null && p.ActiveArena == player.ActiveArena && p.ActiveTeam == player.ActiveTeam)
                    {
                        Send(p, packet);
                    }
                }
            }
        }