/// <summary> /// Single shot tracker. Saves the value of that variable at that point to draw during the next Render. /// </summary> /// <typeparam name="T"></typeparam> /// <param name="name">The display name of the tracker.</param> /// <param name="variable">The ValueType based variable you wish to track.</param> public void TrackValueType <T>(String name, T variable) where T : struct { if (!GameSettings.Default.DrawDebugData || FirstFrameAfterShown) { return; } Tracker t; if (internalTrackers.TryGetValue(name, out t)) { if (!(t is ValueTypeTracker <T>)) { Debug.WriteLine("'" + name + "' is not a ValueTypeTracker type."); return; } } else { t = new ValueTypeTracker <T>(this, name); lock (internalTrackerLockObject) { internalTrackers.Add(name, t); } } (t as ValueTypeTracker <T>).Update(variable); }
/// <summary> /// Single shot tracker. Saves the value of that variable at that point to draw during the next Render. /// </summary> /// <typeparam name="T"></typeparam> /// <param name="name">The display name of the tracker.</param> /// <param name="variable">The ValueType based variable you wish to track.</param> public void TrackValueType <T>(String name, T variable) where T : struct { Tracker t; if (internalTrackers.TryGetValue(name, out t)) { if (!(t is ValueTypeTracker <T>)) { Debug.WriteLine("'" + name + "' is not a ValueTypeTracker type."); return; } } else { t = new ValueTypeTracker <T>(this, name); internalTrackers.Add(name, t); trackers.Add(t); } (t as ValueTypeTracker <T>).Update(variable); }