protected override void OnDisabled() { base.OnDisabled(); RegisteredChatCommands.Clear(); ChatButtonHighlighted = false; LeaveEventHandled = true; SendEventHandled = true; RegisteredChatCommands.Clear(); ChannelMessages.Clear(); PrivateMessages.Clear(); ConsoleMessages.Clear(); PlayerChannels.Clear(); JoinedChannels.Clear(); JoinedPmChannels.Clear(); HighlightChannel.Clear(); HighlightPm.Clear(); SelectedChannel = null; SelectedPmChannel = null; SelectTextBox = false; SendText = ""; Queuer.Clear(); if (ChatLocked) { InputLockManager.RemoveControlLock(LmpChatLock); ChatLocked = false; } }
public override void Transverse(Node current) { // Console.WriteLine($"Current {current.Sym}"); //Get any linked node that is not visited var anUnvisited = current.Links.ToList().FindAll(e => e.Value.hasVisited == false); //If any, then add one to stack if (anUnvisited.Any()) { var node = anUnvisited.FirstOrDefault(); node.Value.hasVisited = true; Console.WriteLine("Push " + node.Value.Sym); Queuer.Add(node.Value); } //If none exist, then pop left from stack else { result = result + current.Sym; Console.WriteLine("Pop " + current.Sym); Queuer.Remove(current); } if (!Queuer.Any()) { return; } Transverse(Queuer.Last()); }
public static ISync Queue(IObjectPool pool, IRunnable runnable) { Queuer queuer = new Queuer(pool, runnable); Thread thread = new Thread(new ThreadStart(queuer.Queue)); thread.Start(); return(queuer.Sync); }
public DepthFS() : base(false) { var n = BreadthFS.SampleData(); var current = n.Nodes['a']; Queuer.Add(current); current.hasVisited = true; Transverse(current); Console.WriteLine(result); }
public void PrintToSelectedChannel(string text) { if (SelectedChannel == null && SelectedPmChannel == null) { Queuer.QueueChannelMessage(SettingsSystem.CurrentSettings.PlayerName, "", text); } if (SelectedChannel != null && SelectedChannel != SettingsSystem.ServerSettings.ConsoleIdentifier) { Queuer.QueueChannelMessage(SettingsSystem.CurrentSettings.PlayerName, SelectedChannel, text); } if (SelectedChannel == SettingsSystem.ServerSettings.ConsoleIdentifier) { Queuer.QueueSystemMessage(text); } if (SelectedPmChannel != null) { Queuer.QueuePrivateMessage(SettingsSystem.CurrentSettings.PlayerName, SelectedPmChannel, text); } }
public static ISync Queue (IObjectPool pool, IRunnable runnable) { Queuer queuer = new Queuer(pool, runnable); Thread thread = new Thread(new ThreadStart(queuer.Queue)); thread.Start(); return queuer.Sync; }
public void Execute(IRunnable runnable) { // queue the task and remember its ISync ... syncs.Add(Queuer.Queue(pool, runnable)); }