コード例 #1
0
        public static void SendUserList(UserObject userobj)
        {
            userobj.SendPacket(AresTcpPackets.UserListBotItem());
            Users.ForEach(x => { if (x.LoggedIn && x.Vroom == userobj.Vroom)
                                 {
                                     userobj.SendPacket(AresTcpPackets.UserListItem(x));
                                 }
                          });
            userobj.SendPacket(AresTcpPackets.UserListEnd());

            Users.ForEach(x =>
            {
                if (x.LoggedIn && x.Vroom == userobj.Vroom)
                {
                    if (x.Avatar.Length > 0)
                    {
                        userobj.SendPacket(AresTcpPackets.Avatar(x));
                    }

                    if (!String.IsNullOrEmpty(x.PersonalMessage))
                    {
                        userobj.SendPacket(AresTcpPackets.PersonalMessage(x));
                    }
                }
            });
        }
コード例 #2
0
        private static void Login(UserObject userobj, AresTCPPacketReader packet, uint time)
        {
            userobj.PopulateCredentials(packet);
            if (!ServerEvents.OnJoinCheck(userobj))
            {
                userobj.Expired  = true;
                userobj.LoggedIn = userobj.Ghost;
            }
            if (!userobj.Ghost)
            {
                UserPool.BroadcastToVroom(userobj.Vroom, AresTcpPackets.Join(userobj));
            }

            userobj.LoggedIn = true;
            userobj.SendPacket(AresTcpPackets.LoginAck(userobj));
            userobj.SendPacket(AresTcpPackets.MyFeatures(userobj));
            userobj.SendPacket(AresTcpPackets.TopicFirst());
            UserPool.SendUserList(userobj);
            userobj.SendPacket(AresTcpPackets.OpChange(userobj));
            userobj.SendPacket(Avatars.Server(userobj));
            ServerEvents.OnJoin(userobj);
        }