using System; using OpenTK.Input; namespace SM.Game.Controls { public class GameKeybind { public Func Keyboard; public Func Controller; public Func AI; public Func this[GameKeybindActorType type] { get { switch (type) { case GameKeybindActorType.AI: return AI; case GameKeybindActorType.Keyboard: return Keyboard; break; case GameKeybindActorType.Controller: return Controller; break; default: throw new ArgumentOutOfRangeException(nameof(type), type, null); } } } } }