playtest-unity/playtest/Library/PackageCache/com.unity.timeline@1.7.4/Runtime/AssetUpgrade/ClipUpgrade.cs

35 lines
1.1 KiB
C#

namespace UnityEngine.Timeline
{
partial class TimelineClip
{
enum Versions
{
Initial = 0,
ClipInFromGlobalToLocal = 1
}
const int k_LatestVersion = (int)Versions.ClipInFromGlobalToLocal;
[SerializeField, HideInInspector] int m_Version;
//fields that are used for upgrading should be put here, ideally as read-only
void UpgradeToLatestVersion()
{
if (m_Version < (int)Versions.ClipInFromGlobalToLocal)
{
TimelineClipUpgrade.UpgradeClipInFromGlobalToLocal(this);
}
}
static class TimelineClipUpgrade
{
// version 0->1, clipIn move from global to local
public static void UpgradeClipInFromGlobalToLocal(TimelineClip clip)
{
// case 936751 -- clipIn was serialized in global, not local offset
if (clip.m_ClipIn > 0 && clip.m_TimeScale > float.Epsilon)
clip.m_ClipIn *= clip.m_TimeScale;
}
}
}
}