Esempio n. 1
0
        public List <UserModeInfo> ParseUserModeString(string modeString)
        {
            List <UserModeInfo> userModes = new List <UserModeInfo>();

            try
            {
                bool   set     = true;
                char[] modeArr = modeString.ToCharArray();
                for (int i = 1; i <= modeArr.GetUpperBound(0); i++)
                {
                    UserModeInfo newMode = new UserModeInfo();
                    if (modeArr[i].Equals('-'))
                    {
                        set = false;
                    }
                    else if (modeArr[i].Equals('+'))
                    {
                        set = true;
                    }
                    else if (modeArr[i].Equals('*'))
                    {
                        newMode.Mode = UserMode.o;
                        newMode.Set  = set;
                        userModes.Add(newMode);
                    }
                    else
                    {
                        UserMode foundMode;
                        bool     validMode = Enum.TryParse(modeArr[i].ToString(), false, out foundMode);
                        if (validMode)
                        {
                            newMode.Mode = foundMode;
                            newMode.Set  = set;
                            userModes.Add(newMode);
                        }
                    }
                }
            }
            catch (Exception ex)
            {
                ThrowException(ex, "Unable to parse User Mode.");
            }
            return(userModes);
        }
Esempio n. 2
0
 public static string ModeToString(this UserModeInfo mode)
 {
     return(string.Format("{0}{1}", (mode.Set) ? "+" : "-", mode.Mode.ToString()));
 }