Example #1
0
    public override void OnGUI(string searchContext)
    {
        using (new SettingsWindow.GUIScope())
        {
            m_SerializedObject.Update();
            EditorGUI.BeginChangeCheck();
            EditorGUILayout.LabelField(Styles.TimelineAssetLabel, EditorStyles.boldLabel);

            int framerateIdx = Array.IndexOf(TimelineProjectSettings.framerateValues, m_Framerate.floatValue);
            if (m_customFramerate || framerateIdx == -1)
            {
                framerateIdx = TimelineProjectSettings.framerateValues.Length;
            }

            framerateIdx = EditorGUILayout.Popup(Styles.DefaultFramerateLabel, framerateIdx, TimelineProjectSettings.framerateLabels);

            if (framerateIdx == TimelineProjectSettings.framerateValues.Length || framerateIdx == -1)
            {
                m_customFramerate = true;
                float newFramerate = EditorGUILayout.FloatField(Styles.CustomFramerateLabel, m_Framerate.floatValue);
                m_Framerate.floatValue = TimelineAsset.GetValidFramerate(newFramerate);
            }
            else
            {
                m_customFramerate      = false;
                m_Framerate.floatValue = TimelineProjectSettings.framerateValues[framerateIdx];
            }

            if (EditorGUI.EndChangeCheck())
            {
                m_SerializedObject.ApplyModifiedProperties();
                TimelineProjectSettings.instance.Save();
            }
        }
    }