public override void Process() { currentStep++; float t = (float)currentStep / (float)stepCount; Vector3 pos = path.GetStep(t); setValue(pos); if (currentStep < stepCount) { return; } AnimationList.Remove(this); RaiseAnimationFinishedEvent(); }
public override void Process() { float value = getValue(); //Debug.WriteLine ("Anim: {0} <= {1}", value, this.ToString ()); if (Step > 0f) { value += Step; setValue(value); //Debug.WriteLine(value); if (TargetValue > value) { return; } } else { value += Step; setValue(value); if (TargetValue < value) { return; } } if (Cycle) { Step = -Step; TargetValue = initialValue; Cycle = false; return; } setValue(TargetValue); lock (AnimationList) AnimationList.Remove(this); RaiseAnimationFinishedEvent(); }
public override void Process() { T value = getValue(); //Debug.WriteLine ("Anim: {0} <= {1}", value, this.ToString ()); if (Operator.GreaterThan(Step, zero)) { value = Operator.Add(value, Step); setValue(value); //Debug.WriteLine(value); if (Operator.GreaterThan(Operator.Subtract(TargetValue, value), zero)) { return; } } else { value = Operator.Add(value, Step); setValue(value); if (Operator.LessThan(Operator.Subtract(TargetValue, value), zero)) { return; } } if (Cycle) { Step = Operator.Negate(Step); TargetValue = initialValue; Cycle = false; return; } setValue(TargetValue); AnimationList.Remove(this); RaiseAnimationFinishedEvent(); }