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);
            }
        }
Ejemplo n.º 3
0
 public void AddListener(AxisInputHandler handler)
 {
     _broadcaster += handler;
 }
Ejemplo n.º 4
0
 public void RemoveListener(AxisInputHandler handler)
 {
     _broadcaster -= handler;
 }