public UiInputBinding(ContentManager Content) : base(Content, new string[0]) { rebindTime = -1; bindingOrder = new List <Bindings>(); foreach (Bindings command in Enum.GetValues(typeof(Bindings))) { bindingOrder.Add(command); } this.setStrings(buildStrings(-1)); this.addCallback(element => { if (selected == bindingOrder.Count) // Defaults { InputBindings.loadDefaults(); this.setStrings(buildStrings(-1)); this.finished = false; } else if (selected == bindingOrder.Count + 1) // Save+Exit { InputBindings.saveKeybinds(); } else if (selected == bindingOrder.Count + 2) // Discard+Exit { InputBindings.loadKeybinds(); } else // editing binding at bindingOrder[selected] { rebind = bindingOrder[selected]; this.setStrings(buildStrings(selected)); rebindTime = 0; this.finished = false; } }); }