private void InitializeTiltingCurve() { TiltingCurve.AddKey(0, 0); TiltingCurve.AddKey(1, 0); OnTiltingCurveUpdated(); }
/// <summary> /// Removes tilting value for a given path node index. /// </summary> /// <param name="nodeTimestamp">Path node timestamp.</param> private void HandleDisableTiltingTool(float nodeTimestamp) { // Get nodes that have tilitng tool enabled. var tiltingCurveTimestamps = Utilities.GetAnimationCurveTimestamps(TiltingCurve); // Find ease index for the given timestamp. var tiltingKeyIndex = tiltingCurveTimestamps.FindIndex(x => x == nodeTimestamp); // Remove key from ease curve. if (tiltingKeyIndex != -1) { TiltingCurve.RemoveKey(tiltingKeyIndex); } Asserts.AssertToolCurveInSync( TiltedNodesNo, TiltingCurveKeysNo, "tilting"); // todo remove //var nodesWithTiltingEnabledNo = GetTiltedNodeTimestamps(); //Utilities.Assert( // () => TiltingCurve.length == nodesWithTiltingEnabledNo.Count, // String.Format( // "Number of tilting curve keys and number of nodes" + // " with enabled tilting tool differs.\n" + // "Tilting curve length: {0}\n" + // "Nodes with enabled tilting tool: {1}", // TiltingCurve.length, // nodesWithTiltingEnabledNo.Count)); }
public void UpdateTiltingValue(int keyIndex, float newValue) { // Copy keyframe. var keyframeCopy = TiltingCurve.keys[keyIndex]; // Update keyframe value. keyframeCopy.value = newValue; // Remove old key. TiltingCurve.RemoveKey(keyIndex); // Add updated key. TiltingCurve.AddKey(keyframeCopy); EaseCurveExtremeNodes(TiltingCurve); OnTiltingCurveUpdated(); }
public void RemoveKeyFromTiltingCurve(float timestamp) { var index = Utilities.GetIndexAtTimestamp(TiltingCurve, timestamp); TiltingCurve.RemoveKey(index); }
public void AddKeyToTiltingCurve(float time) { var valueAtTime = TiltingCurve.Evaluate(time); TiltingCurve.AddKey(time, valueAtTime); }
public float GetTiltingValueAtTime(float timestamp) { return(TiltingCurve.Evaluate(timestamp)); }