public void UnsubscribeFromAxisInput(string axisName, AxisInputHandler handler) { if (_axesInputs.TryGetValue(axisName, out var axisInput)) { axisInput.RemoveListener(handler); } }
public void SubscribeToAxisInput(string axisName, AxisInputHandler handler) { if (_blacklist.Contains(axisName)) { return; } try { Input.GetAxis(axisName); } catch (ArgumentException) { _blacklist.Add(axisName); Debug.LogError($"Requested input from unregistered axis. \"{axisName}\" is added to black ist"); return; } if (!_axesInputs.ContainsKey(axisName)) { _axesInputs.Add(axisName, new AxisInput()); } if (_axesInputs.TryGetValue(axisName, out var axisInput)) { axisInput.AddListener(handler); } }
public void AddListener(AxisInputHandler handler) { _broadcaster += handler; }
public void RemoveListener(AxisInputHandler handler) { _broadcaster -= handler; }