2365ddfc36
* Delete old HLE.Input * Add new HLE Input. git shows Hid.cs as modified because of the same name. It is new. * Change HID Service * Change Ryujinx UI to reflect new Input * Add basic ControllerApplet * Add DebugPad Should fix Kirby Star Allies * Address Ac_K's comments * Moved all of HLE.Input to Services.Hid * Separated all structs and enums each to a file * Removed vars * Made some naming changes to align with switchbrew * Added official joycon colors As an aside, fixed a mistake in touchscreen headers and added checks to important SharedMem structs at init time. * Further address Ac_K's comments * Addressed gdkchan's and some more Ac_K's comments * Address AcK's review comments * Address AcK's second review comments * Replace missed Marshal.SizeOf and address gdkchan's comments
31 lines
980 B
C#
31 lines
980 B
C#
using Ryujinx.HLE.HOS.Services.Am.AppletAE;
|
|
using System;
|
|
using System.Collections.Generic;
|
|
|
|
namespace Ryujinx.HLE.HOS.Applets
|
|
{
|
|
static class AppletManager
|
|
{
|
|
private static Dictionary<AppletId, Type> _appletMapping;
|
|
|
|
static AppletManager()
|
|
{
|
|
_appletMapping = new Dictionary<AppletId, Type>
|
|
{
|
|
{ AppletId.PlayerSelect, typeof(PlayerSelectApplet) },
|
|
{ AppletId.Controller, typeof(ControllerApplet) },
|
|
{ AppletId.SoftwareKeyboard, typeof(SoftwareKeyboardApplet) }
|
|
};
|
|
}
|
|
|
|
public static IApplet Create(AppletId applet, Horizon system)
|
|
{
|
|
if (_appletMapping.TryGetValue(applet, out Type appletClass))
|
|
{
|
|
return (IApplet)Activator.CreateInstance(appletClass, system);
|
|
}
|
|
|
|
throw new NotImplementedException($"{applet} applet is not implemented.");
|
|
}
|
|
}
|
|
}
|