35 lines
1.1 KiB
C#
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;
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
}
|