Beispiel #1
0
        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;
            }
        }
Beispiel #2
0
        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);
            }
Beispiel #4
0
        public DepthFS() : base(false)
        {
            var n       = BreadthFS.SampleData();
            var current = n.Nodes['a'];

            Queuer.Add(current);
            current.hasVisited = true;
            Transverse(current);
            Console.WriteLine(result);
        }
Beispiel #5
0
 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));
 }