// Sets KeyCode binding only if action is missing // This is to ensure default actions are restored if missing // and to push out new actions to existing keybind files private void TestSetAxisBinding(String code, AxisActions action) { if (!axisActionKeyDict.ContainsValue(action)) { SetAxisBinding(code, action); } }
/// <summary> /// Unbinds an Input Axis to an AxisAction via the AxisAction /// </summary> public void ClearAxisBinding(AxisActions action) { foreach (var binding in axisActionKeyDict.Where(kvp => kvp.Value == action).ToList()) { axisActionKeyDict.Remove(binding.Key); } }
/// <summary> /// Binds an Input Axis to an AxisAction /// </summary> public void SetAxisBinding(String code, AxisActions action) { // Not allowing multi-bind at this time as the front-end doesn't support it ClearAxisBinding(action); if (!axisActionKeyDict.ContainsKey(code)) { axisActionKeyDict.Add(code, action); } else { axisActionKeyDict.Remove(code); axisActionKeyDict.Add(code, action); } }
/// <summary> /// Finds first unity axis input string bound to a specific action. /// </summary> public String GetAxisBinding(AxisActions action) { if (axisActionKeyDict.ContainsValue(action)) { foreach (var k in axisActionKeyDict.Keys) { if (axisActionKeyDict[k] == action) { return(k); } } } return(String.Empty); }