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); }
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)); }