mirror of
https://github.com/ConjureETS/PixelSphinx.git
synced 2026-03-24 18:40:57 +00:00
70 lines
2.1 KiB
C#
70 lines
2.1 KiB
C#
using UnityEngine;
|
|
using System.Collections;
|
|
using System.Collections.Generic;
|
|
using System;
|
|
|
|
namespace InputHandler
|
|
{
|
|
public class InputContext
|
|
{
|
|
private Dictionary<int, string> _mappedButtons;
|
|
private Dictionary<int, string> _mappedStates;
|
|
private Dictionary<int, string> _mappedAxis;
|
|
|
|
private string _name;
|
|
|
|
public string Name
|
|
{
|
|
get { return _name; }
|
|
}
|
|
|
|
|
|
public InputContext(string contextName, InputMap inputMap)
|
|
{
|
|
_name = contextName;
|
|
|
|
_mappedButtons = new Dictionary<int, string>();
|
|
_mappedStates = new Dictionary<int, string>();
|
|
_mappedAxis = new Dictionary<int, string>();
|
|
|
|
foreach (List<InputToActionMap> buttonsToActionsMap in inputMap.ButtonsToActionsMap)
|
|
{
|
|
foreach (InputToActionMap buttonToActionMap in buttonsToActionsMap)
|
|
{
|
|
_mappedButtons.Add(buttonToActionMap.input, buttonToActionMap.action);
|
|
}
|
|
}
|
|
|
|
foreach (List<InputToActionMap> buttonsToStatesMap in inputMap.ButtonsToStatesMap)
|
|
{
|
|
foreach (InputToActionMap buttonToStateMap in buttonsToStatesMap)
|
|
{
|
|
_mappedStates.Add(buttonToStateMap.input, buttonToStateMap.action);
|
|
}
|
|
}
|
|
|
|
foreach (List<InputToActionMap> axisToRangesMap in inputMap.AxisToRangesMap)
|
|
{
|
|
foreach (InputToActionMap axisToRangeMap in axisToRangesMap)
|
|
{
|
|
_mappedAxis.Add(axisToRangeMap.input, axisToRangeMap.action);
|
|
}
|
|
}
|
|
}
|
|
|
|
public string GetActionForButton(int button)
|
|
{
|
|
return _mappedButtons.ContainsKey(button) ? _mappedButtons[button] : null;
|
|
}
|
|
|
|
public string GetStateForButton(int button)
|
|
{
|
|
return _mappedStates.ContainsKey(button) ? _mappedStates[button] : null;
|
|
}
|
|
|
|
public string GetRangeForAxis(int axis)
|
|
{
|
|
return _mappedAxis.ContainsKey(axis) ? _mappedAxis[axis] : null;
|
|
}
|
|
}
|
|
} |