KeyBindAxis GetKeyBindAxis(TrollAxis key) { switch(key) { default: case TrollAxis.Horizontal: return horizontal; case TrollAxis.Vertical: return vertical; case TrollAxis.AimHorizontal: return aimHorizontal; case TrollAxis.AimVertical: return aimVertical; } }
public float GetAxis(TrollAxis axis) { KeyBindAxis bindings = GetKeyBindAxis(axis); float val = 0; if (useGamepad) { for (int i = 0; i < bindings.gamepad.Length; i++) val += Input.GetAxis(bindings.gamepad[i]); if (!useBoth) return val; } for (int i = 0; i < bindings.keyboardNegative.Length; i++) { if (Input.GetKey(bindings.keyboardNegative[i])) val--; if (Input.GetKey(bindings.keyboardPositive[i])) val++; } return Mathf.Clamp(val, -1, 1); }