Example #1
0
 public virtual void OnAttributeValueChanged(BaseNodeAttr attr = null)
 {
     // 所有变量一起改变
     if (attr == null)
     {
         CachePreValue();
     }
     else
     {
         List <object> preValues = new List <object>();
         List <object> curValues = new List <object>();
         for (int i = 0; i < _attrs.Count; i++)
         {
             preValues.Add(_preValues[i]);
             curValues.Add(GetAttrByIndex(i).GetValueString());
         }
         OpNodeAttrValuesModificationHM hm = new OpNodeAttrValuesModificationHM
         {
             nodeIndex = NodeManager.GetNodeIndex(this),
             preValues = preValues,
             curValues = curValues,
         };
         Undo.AddToUndoTask(hm);
         CachePreValue();
     }
     UpdateDesc();
 }
Example #2
0
        protected override HistoryMemento OnUndo()
        {
            BaseNode curNode = NodeManager.FindNodeByIndex(nodeIndex);

            curNode.SetAttrsValues(preValues);
            var hm = new OpNodeAttrValuesModificationHM
            {
                nodeIndex = nodeIndex,
                preValues = curValues,
                curValues = preValues,
            };

            return(hm);
        }