/// <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(); }
/// <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; }