first commit
This commit is contained in:
@@ -0,0 +1,73 @@
|
||||
using System;
|
||||
using System.Linq;
|
||||
using UnityEditor;
|
||||
using UnityEngine;
|
||||
using UnityEngine.Playables;
|
||||
using UnityEngine.Timeline;
|
||||
|
||||
namespace UnityEditor.Timeline
|
||||
{
|
||||
static class FrameRateDisplayUtility
|
||||
{
|
||||
private static string[] s_FrameRateLabels;
|
||||
public static bool GetStandardFromFrameRate(double frameRate, out StandardFrameRates standard)
|
||||
{
|
||||
FrameRate frameRateObj = TimeUtility.GetClosestFrameRate(RoundFrameRate(frameRate));
|
||||
return TimeUtility.ToStandardFrameRate(frameRateObj, out standard);
|
||||
}
|
||||
|
||||
public static double RoundFrameRate(double frameRate)
|
||||
{
|
||||
double trunc = Math.Truncate(frameRate * (1 / TimeUtility.kFrameRateRounding)) * TimeUtility.kFrameRateRounding;
|
||||
return Math.Min(Math.Max(TimelineAsset.EditorSettings.kMinFrameRate, trunc),
|
||||
TimelineAsset.EditorSettings.kMaxFrameRate);
|
||||
}
|
||||
|
||||
public static string[] GetDefaultFrameRatesLabels(StandardFrameRates option)
|
||||
{
|
||||
string[] labels;
|
||||
if (s_FrameRateLabels == null || !s_FrameRateLabels.Any())
|
||||
{
|
||||
var frameRates = (StandardFrameRates[])Enum.GetValues(typeof(StandardFrameRates));
|
||||
labels = Array.ConvertAll(frameRates, GetLabelForStandardFrameRate);
|
||||
s_FrameRateLabels = labels;
|
||||
}
|
||||
else
|
||||
{
|
||||
labels = s_FrameRateLabels;
|
||||
}
|
||||
|
||||
if (!Enum.IsDefined(typeof(StandardFrameRates), option))
|
||||
{
|
||||
Array.Resize(ref labels, (int)option + 1);
|
||||
labels[(int)option] = GetLabelForStandardFrameRate(option);
|
||||
}
|
||||
return labels;
|
||||
}
|
||||
|
||||
static string GetLabelForStandardFrameRate(StandardFrameRates option)
|
||||
{
|
||||
switch (option)
|
||||
{
|
||||
case StandardFrameRates.Fps23_97:
|
||||
return L10n.Tr("Film NTSC: 23.97 fps");
|
||||
case StandardFrameRates.Fps24:
|
||||
return L10n.Tr("Film: 24 fps");
|
||||
case StandardFrameRates.Fps25:
|
||||
return L10n.Tr("PAL: 25 fps");
|
||||
case StandardFrameRates.Fps29_97:
|
||||
return L10n.Tr("NTSC: 29.97 fps");
|
||||
case StandardFrameRates.Fps30:
|
||||
return L10n.Tr("HD: 30 fps");
|
||||
case StandardFrameRates.Fps50:
|
||||
return L10n.Tr("Interlaced PAL: 50 fps");
|
||||
case StandardFrameRates.Fps59_94:
|
||||
return L10n.Tr("Interlaced NTSC: 59.94 fps");
|
||||
case StandardFrameRates.Fps60:
|
||||
return L10n.Tr("Game: 60 fps");
|
||||
default:
|
||||
return L10n.Tr("Custom");
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user