Ejemplo n.º 1
0
 public void Do()
 {
     _commands.Clear();
     for (var i = 0; i < _valuesForKeyframeRestoration.Count; i++)
     {
         var curveOpPart = GetCurveOpPartAtIndex(i);
         var curve       = curveOpPart.Func as ICurve;
         curve.RemoveV(_valuesForKeyframeRestoration[i].KeyframeTime);
         if (!curve.GetPoints().Any())
         {
             var opPart = GetOperatorPart(_opPartsAndLastValues[curveOpPart.Parent.ID].Item1);
             var removeAnimationCommand = new RemoveAnimationCommand(opPart, _opPartsAndLastValues[curveOpPart.Parent.ID].Item2);
             _commands.Add(removeAnimationCommand);
             removeAnimationCommand.Do();
         }
     }
 }
Ejemplo n.º 2
0
        public ResetInputToGroupCommand(IEnumerable <OperatorPart> opParts)
        {
            _name = "Reset parameter group";

            foreach (var opPart in opParts)
            {
                OperatorPart animationOpPart = Animation.GetRegardingAnimationOpPart(opPart);
                var          isAnimated      = animationOpPart != null;
                var          isConnected     = !isAnimated && opPart.Connections.Count > 0;

                // Don't reset connected parameters that are not animations
                if (!isConnected)
                {
                    if (isAnimated)
                    {
                        var removeAnimationCmd = new RemoveAnimationCommand(opPart, 0); // Last Value will be restored anyways
                        _commands.Add(removeAnimationCmd);
                    }

                    var resetCmd = new ResetInputToDefault(opPart);
                    _commands.Add(resetCmd);
                }
            }
        }