internal static void SetKeyRightTangentMode(ref MovieCurve curve, int index, TangentUtility.TangentMode tangentMode)
        {
            int curTangentMode = curve.GetTangentMode(index);

            curTangentMode &= ~TangentUtility.kRightTangentMask;
            curTangentMode |= (int)((int)tangentMode << 5);
            curve.SetTangentMode(index, curTangentMode);
        }
        internal static void SetKeyBroken(ref MovieCurve curve, int index, bool broken)
        {
            int curTangentMode = curve.GetTangentMode(index);

            if (broken)
            {
                curTangentMode |= TangentUtility.kBrokenMask;
            }
            else
            {
                curTangentMode &= ~TangentUtility.kBrokenMask;
            }
            curve.SetTangentMode(index, curTangentMode);
        }
示例#3
0
        internal static XElement SerializeCurve(MovieCurve curve)
        {
            XElement elem = new XElement("MovieCurve",
                                         curve.keyframes.Select((key, i) => SerializeKeyframe(key, curve.GetTangentMode(i))));


            elem.SetAttributeValue("name", curve.name);
            elem.SetAttributeValue("preWrapMode", (int)curve.curve.preWrapMode);
            elem.SetAttributeValue("postWrapMode", (int)curve.curve.postWrapMode);

            return(elem);
        }
 internal static bool GetKeyBroken(MovieCurve curve, int index)
 {
     return((curve.GetTangentMode(index) & TangentUtility.kBrokenMask) != 0);
 }
 internal static TangentUtility.TangentMode GetKeyRightTangentMode(MovieCurve curve, int index)
 {
     return((TangentUtility.TangentMode)((curve.GetTangentMode(index) & TangentUtility.kRightTangentMask) >> 5));
 }