Ejemplo n.º 1
0
        /// <summary>
        /// Creates a new change list entry.
        /// </summary>
        /// <param name="target">The target object in which the change has been made. Must be a GameObject or Component.</param>
        /// <param name="prop">The target objects <see cref="System.Reflection.PropertyInfo">Property</see> that has been changed.</param>
        public void PushChange(object target, PropertyInfo prop)
        {
            if (!prop.CanWrite || !prop.CanRead)
            {
                return;
            }
            object changeVal = prop.GetValue(target, null);

            // Clone the changelist entry value
            changeListValueCloneProvider.ClearObjectMap();
            changeVal = changeListValueCloneProvider.RequestObjectClone(changeVal);

            this.PushChange(target, prop, changeVal);
        }