diff options
Diffstat (limited to 'Runtime/Graphs/UnityEngine.Graphs/LogicNodeLibrary/Input/OnInputNode.cs')
-rw-r--r-- | Runtime/Graphs/UnityEngine.Graphs/LogicNodeLibrary/Input/OnInputNode.cs | 50 |
1 files changed, 50 insertions, 0 deletions
diff --git a/Runtime/Graphs/UnityEngine.Graphs/LogicNodeLibrary/Input/OnInputNode.cs b/Runtime/Graphs/UnityEngine.Graphs/LogicNodeLibrary/Input/OnInputNode.cs new file mode 100644 index 0000000..70032f2 --- /dev/null +++ b/Runtime/Graphs/UnityEngine.Graphs/LogicNodeLibrary/Input/OnInputNode.cs @@ -0,0 +1,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) { } + } + } +} |