private Controller BindToDefinition(ControllerDefinition def, IDictionary<string, Dictionary<string, string>> allbinds, IDictionary<string, Dictionary<string, Config.AnalogBind>> analogbinds) { var ret = new Controller(def); Dictionary<string, string> binds; if (allbinds.TryGetValue(def.Name, out binds)) { foreach (var cbutton in def.BoolButtons) { string bind; if (binds.TryGetValue(cbutton, out bind)) { ret.BindMulti(cbutton, bind); } } } Dictionary<string, Config.AnalogBind> abinds; if (analogbinds.TryGetValue(def.Name, out abinds)) { foreach (var cbutton in def.FloatControls) { Config.AnalogBind bind; if (abinds.TryGetValue(cbutton, out bind)) { ret.BindFloat(cbutton, bind); } } } return ret; }
private static void InitControls() { var controls = new Controller( new ControllerDefinition { Name = "Emulator Frontend Controls", BoolButtons = Global.Config.HotkeyBindings.Select(x => x.DisplayName).ToList() }); foreach (var b in Global.Config.HotkeyBindings) { controls.BindMulti(b.DisplayName, b.Bindings); } Global.ClientControls = controls; Global.AutofireNullControls = new AutofireController(NullEmulator.NullController, Global.Emulator); }