예제 #1
0
        internal static void Enqueue(RazorEnhanced.Journal.JournalEntry entry)
        {
            bool needsCleanup = false;

            foreach (WeakReference <Journal> j in allInstances)
            {
                if (j == null)
                {
                    continue;
                }
                Journal journal;
                j.TryGetTarget(out journal);
                if (journal != null)
                {
                    if (journal.Active)
                    {
                        journal.enqueue(entry);
                    }
                }
                else
                {
                    needsCleanup = true;
                }
            }
            if (needsCleanup)
            {
                allInstances.RemoveAll(wr => wr.TryGetTarget(out var el) && el == null);
            }
        }
예제 #2
0
 internal void enqueue(RazorEnhanced.Journal.JournalEntry entry)
 {
     m_journal.Enqueue(entry);
     if (m_journal.Count > m_MaxJournalEntries)
     {
         RazorEnhanced.Journal.JournalEntry ra;
         m_journal.TryDequeue(out ra);
     }
 }