280 lines
7.9 KiB
C#
280 lines
7.9 KiB
C#
using System;
|
|
|
|
namespace UnityEngine.Timeline
|
|
{
|
|
// Token: 0x02000004 RID: 4
|
|
internal struct DiscreteTime : IComparable
|
|
{
|
|
// Token: 0x06000008 RID: 8 RVA: 0x0000216A File Offset: 0x0000036A
|
|
public DiscreteTime(DiscreteTime time)
|
|
{
|
|
this.m_DiscreteTime = time.m_DiscreteTime;
|
|
}
|
|
|
|
// Token: 0x06000009 RID: 9 RVA: 0x0000217A File Offset: 0x0000037A
|
|
private DiscreteTime(long time)
|
|
{
|
|
this.m_DiscreteTime = time;
|
|
}
|
|
|
|
// Token: 0x0600000A RID: 10 RVA: 0x00002184 File Offset: 0x00000384
|
|
public DiscreteTime(double time)
|
|
{
|
|
this.m_DiscreteTime = DiscreteTime.DoubleToDiscreteTime(time);
|
|
}
|
|
|
|
// Token: 0x0600000B RID: 11 RVA: 0x00002193 File Offset: 0x00000393
|
|
public DiscreteTime(float time)
|
|
{
|
|
this.m_DiscreteTime = DiscreteTime.FloatToDiscreteTime(time);
|
|
}
|
|
|
|
// Token: 0x0600000C RID: 12 RVA: 0x000021A2 File Offset: 0x000003A2
|
|
public DiscreteTime(int time)
|
|
{
|
|
this.m_DiscreteTime = DiscreteTime.IntToDiscreteTime(time);
|
|
}
|
|
|
|
// Token: 0x0600000D RID: 13 RVA: 0x000021B1 File Offset: 0x000003B1
|
|
public DiscreteTime(int frame, double fps)
|
|
{
|
|
this.m_DiscreteTime = DiscreteTime.DoubleToDiscreteTime((double)frame * fps);
|
|
}
|
|
|
|
// Token: 0x17000001 RID: 1
|
|
// (get) Token: 0x0600000E RID: 14 RVA: 0x000021C4 File Offset: 0x000003C4
|
|
public static double tickValue
|
|
{
|
|
get
|
|
{
|
|
return 1E-12;
|
|
}
|
|
}
|
|
|
|
// Token: 0x0600000F RID: 15 RVA: 0x000021E4 File Offset: 0x000003E4
|
|
public DiscreteTime OneTickBefore()
|
|
{
|
|
return new DiscreteTime(this.m_DiscreteTime - 1L);
|
|
}
|
|
|
|
// Token: 0x06000010 RID: 16 RVA: 0x00002208 File Offset: 0x00000408
|
|
public DiscreteTime OneTickAfter()
|
|
{
|
|
return new DiscreteTime(this.m_DiscreteTime + 1L);
|
|
}
|
|
|
|
// Token: 0x06000011 RID: 17 RVA: 0x0000222C File Offset: 0x0000042C
|
|
public long GetTick()
|
|
{
|
|
return this.m_DiscreteTime;
|
|
}
|
|
|
|
// Token: 0x06000012 RID: 18 RVA: 0x00002248 File Offset: 0x00000448
|
|
public int CompareTo(object obj)
|
|
{
|
|
int num;
|
|
if (obj is DiscreteTime)
|
|
{
|
|
num = this.m_DiscreteTime.CompareTo(((DiscreteTime)obj).m_DiscreteTime);
|
|
}
|
|
else
|
|
{
|
|
num = 1;
|
|
}
|
|
return num;
|
|
}
|
|
|
|
// Token: 0x06000013 RID: 19 RVA: 0x00002288 File Offset: 0x00000488
|
|
public bool Equals(DiscreteTime other)
|
|
{
|
|
return this.m_DiscreteTime == other.m_DiscreteTime;
|
|
}
|
|
|
|
// Token: 0x06000014 RID: 20 RVA: 0x000022AC File Offset: 0x000004AC
|
|
public override bool Equals(object obj)
|
|
{
|
|
return obj is DiscreteTime && this.Equals((DiscreteTime)obj);
|
|
}
|
|
|
|
// Token: 0x06000015 RID: 21 RVA: 0x000022E0 File Offset: 0x000004E0
|
|
private static long DoubleToDiscreteTime(double time)
|
|
{
|
|
double num = time / 1E-12 + 0.5;
|
|
if (num < 9.223372036854776E+18 && num > -9.223372036854776E+18)
|
|
{
|
|
return (long)num;
|
|
}
|
|
throw new ArgumentOutOfRangeException("Time is over the discrete range.");
|
|
}
|
|
|
|
// Token: 0x06000016 RID: 22 RVA: 0x00002338 File Offset: 0x00000538
|
|
private static long FloatToDiscreteTime(float time)
|
|
{
|
|
float num = time / 1E-12f + 0.5f;
|
|
if (num < 9.223372E+18f && num > -9.223372E+18f)
|
|
{
|
|
return (long)num;
|
|
}
|
|
throw new ArgumentOutOfRangeException("Time is over the discrete range.");
|
|
}
|
|
|
|
// Token: 0x06000017 RID: 23 RVA: 0x00002380 File Offset: 0x00000580
|
|
private static long IntToDiscreteTime(int time)
|
|
{
|
|
return DiscreteTime.DoubleToDiscreteTime((double)time);
|
|
}
|
|
|
|
// Token: 0x06000018 RID: 24 RVA: 0x0000239C File Offset: 0x0000059C
|
|
private static double ToDouble(long time)
|
|
{
|
|
return (double)time * 1E-12;
|
|
}
|
|
|
|
// Token: 0x06000019 RID: 25 RVA: 0x000023C0 File Offset: 0x000005C0
|
|
private static float ToFloat(long time)
|
|
{
|
|
return (float)DiscreteTime.ToDouble(time);
|
|
}
|
|
|
|
// Token: 0x0600001A RID: 26 RVA: 0x000023DC File Offset: 0x000005DC
|
|
public static explicit operator double(DiscreteTime b)
|
|
{
|
|
return DiscreteTime.ToDouble(b.m_DiscreteTime);
|
|
}
|
|
|
|
// Token: 0x0600001B RID: 27 RVA: 0x00002400 File Offset: 0x00000600
|
|
public static explicit operator float(DiscreteTime b)
|
|
{
|
|
return DiscreteTime.ToFloat(b.m_DiscreteTime);
|
|
}
|
|
|
|
// Token: 0x0600001C RID: 28 RVA: 0x00002424 File Offset: 0x00000624
|
|
public static explicit operator long(DiscreteTime b)
|
|
{
|
|
return b.m_DiscreteTime;
|
|
}
|
|
|
|
// Token: 0x0600001D RID: 29 RVA: 0x00002440 File Offset: 0x00000640
|
|
public static explicit operator DiscreteTime(double time)
|
|
{
|
|
return new DiscreteTime(time);
|
|
}
|
|
|
|
// Token: 0x0600001E RID: 30 RVA: 0x0000245C File Offset: 0x0000065C
|
|
public static explicit operator DiscreteTime(float time)
|
|
{
|
|
return new DiscreteTime(time);
|
|
}
|
|
|
|
// Token: 0x0600001F RID: 31 RVA: 0x00002478 File Offset: 0x00000678
|
|
public static implicit operator DiscreteTime(int time)
|
|
{
|
|
return new DiscreteTime(time);
|
|
}
|
|
|
|
// Token: 0x06000020 RID: 32 RVA: 0x00002494 File Offset: 0x00000694
|
|
public static bool operator ==(DiscreteTime lhs, DiscreteTime rhs)
|
|
{
|
|
return lhs.m_DiscreteTime == rhs.m_DiscreteTime;
|
|
}
|
|
|
|
// Token: 0x06000021 RID: 33 RVA: 0x000024BC File Offset: 0x000006BC
|
|
public static bool operator !=(DiscreteTime lhs, DiscreteTime rhs)
|
|
{
|
|
return !(lhs == rhs);
|
|
}
|
|
|
|
// Token: 0x06000022 RID: 34 RVA: 0x000024DC File Offset: 0x000006DC
|
|
public static bool operator >(DiscreteTime lhs, DiscreteTime rhs)
|
|
{
|
|
return lhs.m_DiscreteTime > rhs.m_DiscreteTime;
|
|
}
|
|
|
|
// Token: 0x06000023 RID: 35 RVA: 0x00002504 File Offset: 0x00000704
|
|
public static bool operator <(DiscreteTime lhs, DiscreteTime rhs)
|
|
{
|
|
return lhs.m_DiscreteTime < rhs.m_DiscreteTime;
|
|
}
|
|
|
|
// Token: 0x06000024 RID: 36 RVA: 0x0000252C File Offset: 0x0000072C
|
|
public static bool operator <=(DiscreteTime lhs, DiscreteTime rhs)
|
|
{
|
|
return lhs.m_DiscreteTime <= rhs.m_DiscreteTime;
|
|
}
|
|
|
|
// Token: 0x06000025 RID: 37 RVA: 0x00002554 File Offset: 0x00000754
|
|
public static bool operator >=(DiscreteTime lhs, DiscreteTime rhs)
|
|
{
|
|
return lhs.m_DiscreteTime >= rhs.m_DiscreteTime;
|
|
}
|
|
|
|
// Token: 0x06000026 RID: 38 RVA: 0x0000257C File Offset: 0x0000077C
|
|
public static DiscreteTime operator +(DiscreteTime lhs, DiscreteTime rhs)
|
|
{
|
|
return new DiscreteTime(lhs.m_DiscreteTime + rhs.m_DiscreteTime);
|
|
}
|
|
|
|
// Token: 0x06000027 RID: 39 RVA: 0x000025A8 File Offset: 0x000007A8
|
|
public static DiscreteTime operator -(DiscreteTime lhs, DiscreteTime rhs)
|
|
{
|
|
return new DiscreteTime(lhs.m_DiscreteTime - rhs.m_DiscreteTime);
|
|
}
|
|
|
|
// Token: 0x06000028 RID: 40 RVA: 0x000025D4 File Offset: 0x000007D4
|
|
public override string ToString()
|
|
{
|
|
return this.m_DiscreteTime.ToString();
|
|
}
|
|
|
|
// Token: 0x06000029 RID: 41 RVA: 0x000025FC File Offset: 0x000007FC
|
|
public override int GetHashCode()
|
|
{
|
|
return this.m_DiscreteTime.GetHashCode();
|
|
}
|
|
|
|
// Token: 0x0600002A RID: 42 RVA: 0x00002624 File Offset: 0x00000824
|
|
public static DiscreteTime Min(DiscreteTime lhs, DiscreteTime rhs)
|
|
{
|
|
return new DiscreteTime(Math.Min(lhs.m_DiscreteTime, rhs.m_DiscreteTime));
|
|
}
|
|
|
|
// Token: 0x0600002B RID: 43 RVA: 0x00002654 File Offset: 0x00000854
|
|
public static DiscreteTime Max(DiscreteTime lhs, DiscreteTime rhs)
|
|
{
|
|
return new DiscreteTime(Math.Max(lhs.m_DiscreteTime, rhs.m_DiscreteTime));
|
|
}
|
|
|
|
// Token: 0x0600002C RID: 44 RVA: 0x00002684 File Offset: 0x00000884
|
|
public static double SnapToNearestTick(double time)
|
|
{
|
|
long num = DiscreteTime.DoubleToDiscreteTime(time);
|
|
return DiscreteTime.ToDouble(num);
|
|
}
|
|
|
|
// Token: 0x0600002D RID: 45 RVA: 0x000026A8 File Offset: 0x000008A8
|
|
public static float SnapToNearestTick(float time)
|
|
{
|
|
long num = DiscreteTime.FloatToDiscreteTime(time);
|
|
return DiscreteTime.ToFloat(num);
|
|
}
|
|
|
|
// Token: 0x0600002E RID: 46 RVA: 0x000026CC File Offset: 0x000008CC
|
|
public static long GetNearestTick(double time)
|
|
{
|
|
return DiscreteTime.DoubleToDiscreteTime(time);
|
|
}
|
|
|
|
// Token: 0x04000009 RID: 9
|
|
private const double k_Tick = 1E-12;
|
|
|
|
// Token: 0x0400000A RID: 10
|
|
public static readonly DiscreteTime MaxTime = new DiscreteTime
|
|
{
|
|
m_DiscreteTime = long.MaxValue
|
|
};
|
|
|
|
// Token: 0x0400000B RID: 11
|
|
private long m_DiscreteTime;
|
|
}
|
|
}
|