From 15740faf9fe9fe4be08965098bbf2947e096aeeb Mon Sep 17 00:00:00 2001 From: chai Date: Wed, 14 Aug 2019 22:50:43 +0800 Subject: +Unity Runtime code --- .../LogicNodeLibrary/Input/OnMouseButton.cs | 38 ++++++++++++++++++++++ 1 file changed, 38 insertions(+) create mode 100644 Runtime/Graphs/UnityEngine.Graphs/LogicNodeLibrary/Input/OnMouseButton.cs (limited to 'Runtime/Graphs/UnityEngine.Graphs/LogicNodeLibrary/Input/OnMouseButton.cs') diff --git a/Runtime/Graphs/UnityEngine.Graphs/LogicNodeLibrary/Input/OnMouseButton.cs b/Runtime/Graphs/UnityEngine.Graphs/LogicNodeLibrary/Input/OnMouseButton.cs new file mode 100644 index 0000000..544a1e8 --- /dev/null +++ b/Runtime/Graphs/UnityEngine.Graphs/LogicNodeLibrary/Input/OnMouseButton.cs @@ -0,0 +1,38 @@ +using UnityEngine; + +namespace UnityEngine.Graphs.LogicGraph +{ + public partial class InputNodes + { + [Logic] + [Title("Input/On Mouse Button")] + public sealed class OnMouseButton : OnStateInputNode + { + private int m_MouseButton; + public int mouseButton { set { m_MouseButton = value; } } + + public OnMouseButton (GraphBehaviour graphBehaviour) : base (graphBehaviour) { } + public OnMouseButton (IMonoBehaviourEventCaller graphBehaviour, int mouseButton) : base (graphBehaviour) + { + m_MouseButton = mouseButton; + } + + protected override void OnUpdate () + { + if (onDown != null && Input.GetMouseButtonDown (m_MouseButton)) + onDown (); + + if (onUp != null && Input.GetMouseButtonUp (m_MouseButton)) + onUp (); + + if (down != null || up != null) + { + var stateDelegate = Input.GetMouseButton (m_MouseButton) ? down : up; + if (stateDelegate != null) + stateDelegate (); + } + } + } + } +} + -- cgit v1.1-26-g67d0