Example #1
0
        /// <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 Object based variable you wish to track.</param>
        public void TrackReferenceType <T>(String name, T variable) where T : class
        {
            if (!GameSettings.Default.DrawDebugData || FirstFrameAfterShown)
            {
                return;
            }

            Tracker t;

            if (internalTrackers.TryGetValue(name, out t))
            {
                if (!(t is ReferenceTypeTracker <T>))
                {
                    Debug.WriteLine("'" + name + "' is not a ReferenceTypeTracker type.");
                    return;
                }
            }
            else
            {
                t = new ReferenceTypeTracker <T>(this, name);
                lock (internalTrackerLockObject)
                {
                    internalTrackers.Add(name, t);
                }
            }

            (t as ReferenceTypeTracker <T>).Update(variable);
        }
Example #2
0
        /// <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 Object based variable you wish to track.</param>
        public void TrackReferenceType <T>(String name, T variable) where T : class
        {
            Tracker t;

            if (internalTrackers.TryGetValue(name, out t))
            {
                if (!(t is ReferenceTypeTracker <T>))
                {
                    Debug.WriteLine("'" + name + "' is not a ReferenceTypeTracker type.");
                    return;
                }
            }
            else
            {
                t = new ReferenceTypeTracker <T>(this, name);
                internalTrackers.Add(name, t);
                trackers.Add(t);
            }

            (t as ReferenceTypeTracker <T>).Update(variable);
        }