Ejemplo n.º 1
0
        public static void ClientLeave(IPEndPoint remoteIP)
        {
            UserInfo user = UserInfoManager.FindUser(remoteIP);

            if (user == null)
            {
                return;
            }

            s_singleton.Invoke(new DoAction(delegate
            {
                IPAddress addr = remoteIP.Address;
                int port       = remoteIP.Port;

                Logger.WriteLine(string.Format("User Leave: {0}, IP: {1}", user.Username, user.RemoteIP));

                user.IsAlive = false;
                s_singleton.m_users.DeleteUser(user);

                GroupInfo[] groups = GroupInfoManager.GetGroupArray();
                foreach (GroupInfo group in groups)
                {
                    group.DeleteUser(user);
                }
            }));
        }
Ejemplo n.º 2
0
        public GroupList()
        {
            InitializeComponent();

            GroupConfig.Load();
            m_list.Items.AddRange(GroupInfoManager.GetGroupArray());
        }
Ejemplo n.º 3
0
        public static void AddClient(string name, IPEndPoint remoteIP)
        {
            s_singleton.Invoke(new DoAction(delegate
            {
                IPAddress addr = remoteIP.Address;
                int port       = remoteIP.Port;

                UserInfo user = UserInfoManager.FindUser(remoteIP);
                if (user == null)
                {
                    user = new UserInfo(new IPEndPoint(addr, port), name);
                    UserInfoManager.AddUser(user);

                    GroupInfo[] groups = GroupInfoManager.GetGroupArray();
                    foreach (GroupInfo grp in groups)
                    {
                        OutgoingPackagePool.AddFirst(NetPackageGenerater.FindGroupUser(grp.Key, remoteIP));
                    }
                }
                else if (user.Username != name)
                {
                    user.Username = name;
                    s_singleton.m_users.UpdateUserName(user);
                }

                user.IsAlive = true;
                s_singleton.m_users.AddUser(user);
            }));
        }
Ejemplo n.º 4
0
        public GroupSelectionForm()
        {
            InitializeComponent();

            comboBox1.Items.AddRange(GroupInfoManager.GetGroupArray());
        }