public static void DoDialog(MainForm owner, string title)
 {
     if (GlobalWin.Emulator is Emulation.Cores.Waterbox.NymaCore core)
     {
         var desc = new Emulation.Cores.Waterbox.NymaTypeDescriptorProvider(core.SettingsInfo);
         try
         {
             // OH GOD THE HACKS WHY
             TypeDescriptor.AddProvider(desc, typeof(Emulation.Cores.Waterbox.NymaCore.NymaSettings));
             TypeDescriptor.AddProvider(desc, typeof(Emulation.Cores.Waterbox.NymaCore.NymaSyncSettings));
             DoDialog(owner, "Nyma Core", !core.HasSettings, !core.HasSyncSettings);
         }
         finally
         {
             TypeDescriptor.RemoveProvider(desc, typeof(Emulation.Cores.Waterbox.NymaCore.NymaSettings));
             TypeDescriptor.RemoveProvider(desc, typeof(Emulation.Cores.Waterbox.NymaCore.NymaSyncSettings));
         }
     }
     else
     {
         using var dlg = new GenericCoreConfig(owner)
               {
                   Text = title
               };
         dlg.ShowDialog(owner);
     }
 }
示例#2
0
 public static void DoDialog(IMainFormForConfig owner, string title)
 {
     if (owner.Emulator is Emulation.Cores.Waterbox.NymaCore core)
     {
         var desc = new Emulation.Cores.Waterbox.NymaTypeDescriptorProvider(core.SettingsInfo);
         try
         {
             // OH GOD THE HACKS WHY
             TypeDescriptor.AddProvider(desc, typeof(Emulation.Cores.Waterbox.NymaCore.NymaSettings));
             TypeDescriptor.AddProvider(desc, typeof(Emulation.Cores.Waterbox.NymaCore.NymaSyncSettings));
             DoDialog(owner, "Nyma Core", !core.SettingsInfo.HasSettings, !core.SettingsInfo.HasSyncSettings);
         }
         finally
         {
             TypeDescriptor.RemoveProvider(desc, typeof(Emulation.Cores.Waterbox.NymaCore.NymaSettings));
             TypeDescriptor.RemoveProvider(desc, typeof(Emulation.Cores.Waterbox.NymaCore.NymaSyncSettings));
         }
     }
     else if (owner.Emulator is Emulation.Cores.Arcades.MAME.MAME mame)
     {
         var desc = new Emulation.Cores.Arcades.MAME.MAMETypeDescriptorProvider(mame.CurrentDriverSettings);
         try
         {
             TypeDescriptor.AddProvider(desc, typeof(Emulation.Cores.Arcades.MAME.MAME.MAMESyncSettings));
             DoDialog(owner, "MAME", true, false);
         }
         finally
         {
             TypeDescriptor.RemoveProvider(desc, typeof(Emulation.Cores.Arcades.MAME.MAME.MAMESyncSettings));
         }
     }
     else
     {
         using var dlg = new GenericCoreConfig(owner)
               {
                   Text = title
               };
         owner.ShowDialogAsChild(dlg);
     }
 }
示例#3
0
 public static void DoDialog(IMainFormForConfig owner, string title, bool isMovieActive)
 {
     if (owner.Emulator is Emulation.Cores.Waterbox.NymaCore core)
     {
         var desc = new Emulation.Cores.Waterbox.NymaTypeDescriptorProvider(core.SettingsInfo);
         try
         {
             // OH GOD THE HACKS WHY
             TypeDescriptor.AddProvider(desc, typeof(Emulation.Cores.Waterbox.NymaCore.NymaSettings));
             TypeDescriptor.AddProvider(desc, typeof(Emulation.Cores.Waterbox.NymaCore.NymaSyncSettings));
             DoDialog(owner, "Nyma Core", isMovieActive, !core.SettingsInfo.HasSettings, !core.SettingsInfo.HasSyncSettings);
         }
         finally
         {
             TypeDescriptor.RemoveProvider(desc, typeof(Emulation.Cores.Waterbox.NymaCore.NymaSettings));
             TypeDescriptor.RemoveProvider(desc, typeof(Emulation.Cores.Waterbox.NymaCore.NymaSyncSettings));
         }
     }
     else if (owner.Emulator is Emulation.Cores.Arcades.MAME.MAME mame)
     {
         var desc = new Emulation.Cores.Arcades.MAME.MAMETypeDescriptorProvider(mame.CurrentDriverSettings);
         try
         {
             TypeDescriptor.AddProvider(desc, typeof(Emulation.Cores.Arcades.MAME.MAME.MAMESyncSettings));
             DoDialog(owner, "MAME", isMovieActive, true, false);
         }
         finally
         {
             TypeDescriptor.RemoveProvider(desc, typeof(Emulation.Cores.Arcades.MAME.MAME.MAMESyncSettings));
         }
     }
     else
     {
         DoDialog(owner, title, isMovieActive, false, false);
     }
 }