예제 #1
0
        /// <summary>
        /// Make the meter go
        /// </summary>
        /// <param name="_mode"></param>
        private void run()
        {
            parser = new Parser(this);
            //The players group
            group = new Group();
            //The DOT and HOT tracker
            effect_tracker = new OverTimeEffectTracker();
            //The Pet tracker
            pet_tracker = new PetTracker();

            //Init the log reader and file watcher
            log_tracker = new LogReader();
        }
예제 #2
0
 /// <summary>
 /// Internal dispose
 /// </summary>
 /// <param name="disposing"></param>
 protected virtual void Dispose(bool disposing)
 {
     //If system hasn't disposed already
     if (!disposed)
     {
         //And we are disposing
         if (disposing)
         {
             //Kill running thread, parser, group, effect tracker, pet tracker, and log tracker
             if (thread != null)
             {
                 thread.Abort();
                 thread = null;
             }
             if (parser != null)
             {
                 parser.Dispose();
                 parser = null;
             }
             if (group != null)
             {
                 group.Dispose();
                 group = null;
             }
             if (effect_tracker != null)
             {
                 effect_tracker.Dispose();
                 effect_tracker = null;
             }
             if (pet_tracker != null)
             {
                 pet_tracker.Dispose();
                 pet_tracker = null;
             }
             if (log_tracker != null)
             {
                 log_tracker.Dispose();
                 log_tracker = null;
             }
             Meter.active_meter = null;
             GC.Collect();
         }
     }
     disposed = true;
 }