public void StartParameterChange(string sParamName)
 {
     paramChange           = new PrimitiveSOParamChange <float>();
     paramChange.so        = (target as PrimitiveSO);
     paramChange.paramName = sParamName;
     paramChange.before    = paramChange.so.Parameters.GetValue <float>(sParamName);
 }
        public virtual bool DoneTransformation(bool bEmitChanges)
        {
            (target as PrimitiveSO).Parameters.SetValue("defer_rebuild", false);

            bool bModified = false;

            paramChange.after = paramChange.so.Parameters.GetValue <float>(paramChange.paramName);
            if (paramChange.after != paramChange.before)
            {
                bModified = true;
                if (bEmitChanges)
                {
                    target.GetScene().History.PushChange(paramChange, true);
                }
            }
            paramChange = null;
            return(bModified);
        }