using UnityEngine;
using UnityEngine.AdaptivePerformance;
namespace UnityEditor.AdaptivePerformance.Simulator.Editor
{
///
/// Provider Settings for Simulator Provider which controls the editor runtime asset instance which stores the Settings.
///
[System.Serializable]
[AdaptivePerformanceConfigurationData("Simulator", SimulatorProviderConstants.k_SettingsKey)]
public class SimulatorProviderSettings : IAdaptivePerformanceSettings
{
static SimulatorProviderSettings m_Settings = null;
///
/// Returns Samsung Provider Settings which are used by Adaptive Performance to apply Provider Settings.
///
/// Samsung Provider Settings
public static SimulatorProviderSettings GetSettings()
{
if (m_Settings == null)
{
SimulatorProviderSettings settings;
EditorBuildSettings.TryGetConfigObject(SimulatorProviderConstants.k_SettingsKey, out settings);
// Create a copy, as we do not want to save the settings we apply during runtime to our settings in the Editor.
m_Settings = ScriptableObject.CreateInstance();
EditorUtility.CopySerialized(settings, m_Settings);
}
return m_Settings;
}
}
}