internal Channel(string name, ChannelVisibility visibility, RantFormat format, Limit limit) { Name = name; Visiblity = visibility; _currentBuffer = new StringBuilder(InitialBufferSize); _buffers = new List<StringBuilder>{_currentBuffer}; _format = format; _articles = false; _limit = limit; }
public void OpenChannel(string name, ChannelVisibility visibility) { OutputChain chain; if (!chains.TryGetValue(name, out chain)) { chain = chains[name] = new OutputChain(sandbox, name); } else if (activeChains.Contains(chain)) { return; } chain.Visibility = visibility; chainStack.Push(chain); activeChains.Add(chain); }
public void OpenChannel(string channelName, ChannelVisibility visibility, RantFormat formatStyle) { Channel ch; if (!_channels.TryGetValue(channelName, out ch)) { ch = new Channel(channelName, visibility, formatStyle, _sizeLimit); _channels[channelName] = ch; } if (channelName == "main") return; ch.Visiblity = visibility; if (_stack.Contains(ch)) return; _stack.Add(ch); _stackSize++; }
public void PushChannel(string channelName, ChannelVisibility visibility) { Channel ch; if (!_channels.TryGetValue(channelName, out ch)) { ch = new Channel(channelName, visibility); _channels[channelName] = ch; } if (channelName == "main") return; ch.Visiblity = visibility; if (_stack.Contains(ch)) return; _stack.Add(ch); _stackSize++; }
private static IEnumerator<RantAction> Chan(Sandbox sb, string channelName, ChannelVisibility visibility, RantAction pattern) { sb.Output.OpenChannel(channelName, visibility); yield return pattern; sb.Output.CloseChannel(); }
internal Channel(string name, ChannelVisibility visibility) { Name = name; Visiblity = visibility; }
internal RantOutputEntry(string name, string value, ChannelVisibility visiblity) { Name = name; Value = value; Visiblity = visiblity; }
/// <summary> /// Parses the parameters portion of the message. /// </summary> protected override void ParseParameters( StringCollection parameters ) { base.ParseParameters( parameters ); this.Visibility = ChannelVisibility.Public; this.Channel = ""; this.Nicks.Clear(); if ( parameters.Count >= 3 ) { switch ( parameters[ 1 ] ) { case "=": this.Visibility = ChannelVisibility.Public; break; case "*": this.Visibility = ChannelVisibility.Private; break; case "@": this.Visibility = ChannelVisibility.Secret; break; } this.Channel = parameters[ 2 ]; if ( parameters.Count > 3 ) { String[] msgNicks = parameters[ 3 ].Split( ' ' ); foreach ( String nick in msgNicks ) { ChannelStatus status = ChannelStatus.None; String parsedNick = nick; if ( parsedNick.Length > 1 ) { String firstLetter = parsedNick.Substring( 0, 1 ); if ( ChannelStatus.Exists( firstLetter ) ) { status = ChannelStatus.GetInstance( firstLetter ); parsedNick = parsedNick.Substring( 1 ); } } this.Nicks.Add( parsedNick, status ); } } } }