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; } } }