public static ChannelUserModeType HighestMode(Mode mode) { ChannelUserModeType flags = ModeFlags(mode); if ((flags & ChannelUserModeType.Owner) != 0) { return(ChannelUserModeType.Owner); } else if ((flags & ChannelUserModeType.Protected) != 0) { return(ChannelUserModeType.Protected); } else if ((flags & ChannelUserModeType.Op) != 0) { return(ChannelUserModeType.Op); } else if ((flags & ChannelUserModeType.HalfOp) != 0) { return(ChannelUserModeType.HalfOp); } else if ((flags & ChannelUserModeType.Voice) != 0) { return(ChannelUserModeType.Voice); } return(ChannelUserModeType.None); }
public static ChannelUserModeType ModeFlags(Mode modes) { ChannelUserModeType flags = ChannelUserModeType.None; foreach (char mode in modes.Modes) { flags |= ModeType(mode); } return(flags); }