summaryrefslogtreecommitdiff
path: root/Runtime/Graphs/UnityEngine.Graphs/LogicNodeLibrary/Input/OnInputNode.cs
blob: 70032f26ff31111249fa1ebdd0a7619349bf2c81 (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
38
39
40
41
42
43
44
45
46
47
48
49
50
using System;


namespace UnityEngine.Graphs.LogicGraph
{
	public partial class InputNodes
	{
		public abstract class OnInputNode
		{
			protected IMonoBehaviourEventCaller m_GraphBehaviour;

			protected float m_DeltaTime;
			public float deltaTime { get { return m_DeltaTime; } }

			public Action down;
			public Action up;

			protected OnInputNode () { }

			protected OnInputNode (GraphBehaviour graphBehaviour)
			{
				m_GraphBehaviour = graphBehaviour;
				m_GraphBehaviour.OnUpdate += OnBaseUpdate;
			}

			protected OnInputNode (IMonoBehaviourEventCaller graphBehaviour)
			{
				m_GraphBehaviour = graphBehaviour;
				m_GraphBehaviour.OnUpdate += OnBaseUpdate;
			}

			private void OnBaseUpdate (float deltaTime)
			{
				m_DeltaTime = deltaTime;
				OnUpdate ();
			}

			protected abstract void OnUpdate ();
		}

		public abstract class OnStateInputNode : OnInputNode
		{
			public Action onDown;
			public Action onUp;

			protected OnStateInputNode (GraphBehaviour graphBehaviour) : base (graphBehaviour) { }
			protected OnStateInputNode (IMonoBehaviourEventCaller graphBehaviour) : base (graphBehaviour) { }
		}
	}
}