Example #1
0
        private void InitializeTiltingCurve()
        {
            TiltingCurve.AddKey(0, 0);
            TiltingCurve.AddKey(1, 0);

            OnTiltingCurveUpdated();
        }
Example #2
0
        /// <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));
        }
Example #3
0
        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();
        }
Example #4
0
        public void RemoveKeyFromTiltingCurve(float timestamp)
        {
            var index = Utilities.GetIndexAtTimestamp(TiltingCurve, timestamp);

            TiltingCurve.RemoveKey(index);
        }
Example #5
0
        public void AddKeyToTiltingCurve(float time)
        {
            var valueAtTime = TiltingCurve.Evaluate(time);

            TiltingCurve.AddKey(time, valueAtTime);
        }
Example #6
0
 public float GetTiltingValueAtTime(float timestamp)
 {
     return(TiltingCurve.Evaluate(timestamp));
 }