summaryrefslogtreecommitdiff
path: root/Runtime/Graphs/UnityEngine.Graphs/LogicNodeLibrary/Input/OnAxis.cs
blob: f9bdcb6648df2009a2af2bd2967ad81ee17d8c3c (plain)
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
using UnityEngine;

namespace UnityEngine.Graphs.LogicGraph
{
	public partial class InputNodes
	{
		[Logic]
		[Title("Input/On Axis")]
		public sealed class OnAxis : OnInputNode
		{
			private float m_Value;
			public float value { get { return m_Value; } }

			private string m_AxisName;
			public string axisName { set { m_AxisName = value; } }

			public OnAxis (GraphBehaviour graphBehaviour) : base (graphBehaviour) { }
			public OnAxis (IMonoBehaviourEventCaller graphBehaviour, string axisName) : base (graphBehaviour)
			{
				m_AxisName = axisName;
			}

			protected override void OnUpdate ()
			{
				if (down == null && up == null)
					return;

				m_Value = Input.GetAxis (m_AxisName);

				var stateDelegate = Input.GetButton (m_AxisName) ? down : up;
				if (stateDelegate != null)
					stateDelegate ();
			}
		}
	}
}