InputManager.cs 824 Bytes
Newer Older
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
using UnityEngine;
using System.Collections;

public enum Buttons{
	Right,
	Left,
	Up,
	Down,
	A,
	B,
	X,
	Y,
	RT,
	LT,
	RB,
	LB
}

public enum Condition{
	GreaterThan,
	LessThan
}

[System.Serializable]
public class InputAxisState{
	public string axisName;
	public float offValue;
	public Buttons buttons;
	public Condition condition;
	public bool value{
		get{
			var val = Input.GetAxisRaw (axisName);
			switch (condition) {
			case Condition.GreaterThan:
				return val > offValue;
			case Condition.LessThan:
				return val < offValue;
			}
			return false;
		}
	}
}

44
public class InputManager : SingletonBehaviour<InputManager> {
45
46
47
48
49
50
51
52
53
54

	public InputAxisState[] inputs;
	public InputState inputState;

	void Update () {
		foreach(var input in inputs){
			inputState.SetButtonValue (input.buttons, input.value);
		}
	}
}