| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354 | using System.ComponentModel;using SRF.Service;using UnityEngine;using UnityEngine.Scripting;public delegate void SROptionsPropertyChanged(object sender, string propertyName);#if !DISABLE_SRDEBUGGER[Preserve]#endifpublic partial class SROptions : INotifyPropertyChanged{    private static SROptions _current;    public static SROptions Current    {        get { return _current; }    }#if !DISABLE_SRDEBUGGER    [RuntimeInitializeOnLoadMethod(RuntimeInitializeLoadType.AfterSceneLoad)]    public static void OnStartup()    {        _current = new SROptions(); // Need to reset options here so if we enter play-mode without a domain reload there will be the default set of options.        SRServiceManager.GetService<SRDebugger.Internal.InternalOptionsRegistry>().AddOptionContainer(Current);    }#endif    public event SROptionsPropertyChanged PropertyChanged;    #if UNITY_EDITOR    [JetBrains.Annotations.NotifyPropertyChangedInvocator]#endif    public void OnPropertyChanged(string propertyName)    {        if (PropertyChanged != null)        {            PropertyChanged(this, propertyName);        }        if (InterfacePropertyChangedEventHandler != null)        {            InterfacePropertyChangedEventHandler(this, new PropertyChangedEventArgs(propertyName));        }    }    private event PropertyChangedEventHandler InterfacePropertyChangedEventHandler;    event PropertyChangedEventHandler INotifyPropertyChanged.PropertyChanged    {        add { InterfacePropertyChangedEventHandler += value; }        remove { InterfacePropertyChangedEventHandler -= value; }    }}
 |