示例#1
0
        // helper methods for the settings events
        private object GetCoreSettings <T>()
            where T : IEmulator
        {
            var e = new SettingsLoadArgs(typeof(T));

            if (OnLoadSettings != null)
            {
                OnLoadSettings(this, e);
            }

            return(e.Settings);
        }
示例#2
0
        private object GetCoreSyncSettings(Type t, Type syncSettingsType)
        {
            var e = new SettingsLoadArgs(t, syncSettingsType);

            if (OnLoadSyncSettings == null)
            {
                throw new InvalidOperationException("Frontend failed to provide a sync settings getter");
            }
            OnLoadSyncSettings(this, e);
            if (e.Settings != null && e.Settings.GetType() != syncSettingsType)
            {
                throw new InvalidOperationException($"Frontend did not provide the requested sync settings type: Expected {syncSettingsType}, got {e.Settings.GetType()}");
            }
            return(e.Settings);
        }