diff options
author | chai <chaifix@163.com> | 2022-03-10 14:07:40 +0800 |
---|---|---|
committer | chai <chaifix@163.com> | 2022-03-10 14:07:40 +0800 |
commit | 22891bf59032ba88262824255a706d652031384b (patch) | |
tree | 7595439ba9966c9402d37e37cee5e8cf098757d5 /Assets/ThirdParty/Behavior Designer/Runtime/Conditionals/HasReceivedEvent.cs | |
parent | 8b04ea73e540067f83870b61d89db4868fea5e8a (diff) |
* move folder
Diffstat (limited to 'Assets/ThirdParty/Behavior Designer/Runtime/Conditionals/HasReceivedEvent.cs')
-rw-r--r-- | Assets/ThirdParty/Behavior Designer/Runtime/Conditionals/HasReceivedEvent.cs | 114 |
1 files changed, 0 insertions, 114 deletions
diff --git a/Assets/ThirdParty/Behavior Designer/Runtime/Conditionals/HasReceivedEvent.cs b/Assets/ThirdParty/Behavior Designer/Runtime/Conditionals/HasReceivedEvent.cs deleted file mode 100644 index 964ecc3a..00000000 --- a/Assets/ThirdParty/Behavior Designer/Runtime/Conditionals/HasReceivedEvent.cs +++ /dev/null @@ -1,114 +0,0 @@ -namespace BehaviorDesigner.Runtime.Tasks
-{
- [TaskDescription("Returns success as soon as the event specified by eventName has been received.")]
- [HelpURL("http://www.opsive.com/assets/BehaviorDesigner/documentation.php?id=123")]
- [TaskIcon("{SkinColor}HasReceivedEventIcon.png")]
- public class HasReceivedEvent : Conditional
- {
- [Tooltip("The name of the event to receive")]
- public SharedString eventName = "";
- [Tooltip("Optionally store the first sent argument")]
- [SharedRequired]
- public SharedVariable storedValue1;
- [Tooltip("Optionally store the second sent argument")]
- [SharedRequired]
- public SharedVariable storedValue2;
- [Tooltip("Optionally store the third sent argument")]
- [SharedRequired]
- public SharedVariable storedValue3;
-
- private bool eventReceived = false;
- private bool registered = false;
-
- public override void OnStart()
- {
- // Let the behavior tree know that we are interested in receiving the event specified
- if (!registered) {
- Owner.RegisterEvent(eventName.Value, ReceivedEvent);
- Owner.RegisterEvent<object>(eventName.Value, ReceivedEvent);
- Owner.RegisterEvent<object, object>(eventName.Value, ReceivedEvent);
- Owner.RegisterEvent<object, object, object>(eventName.Value, ReceivedEvent);
- registered = true;
- }
- }
-
- public override TaskStatus OnUpdate()
- {
- return eventReceived ? TaskStatus.Success : TaskStatus.Failure;
- }
-
- public override void OnEnd()
- {
- if (eventReceived) {
- Owner.UnregisterEvent(eventName.Value, ReceivedEvent);
- Owner.UnregisterEvent<object>(eventName.Value, ReceivedEvent);
- Owner.UnregisterEvent<object, object>(eventName.Value, ReceivedEvent);
- Owner.UnregisterEvent<object, object, object>(eventName.Value, ReceivedEvent);
- registered = false;
- }
- eventReceived = false;
- }
-
- private void ReceivedEvent()
- {
- eventReceived = true;
- }
-
- private void ReceivedEvent(object arg1)
- {
- ReceivedEvent();
-
- if (storedValue1 != null && !storedValue1.IsNone) {
- storedValue1.SetValue(arg1);
- }
- }
-
- private void ReceivedEvent(object arg1, object arg2)
- {
- ReceivedEvent();
-
- if (storedValue1 != null && !storedValue1.IsNone) {
- storedValue1.SetValue(arg1);
- }
-
- if (storedValue2 != null && !storedValue2.IsNone) {
- storedValue2.SetValue(arg2);
- }
- }
-
- private void ReceivedEvent(object arg1, object arg2, object arg3)
- {
- ReceivedEvent();
-
- if (storedValue1 != null && !storedValue1.IsNone) {
- storedValue1.SetValue(arg1);
- }
-
- if (storedValue2 != null && !storedValue2.IsNone) {
- storedValue2.SetValue(arg2);
- }
-
- if (storedValue3 != null && !storedValue3.IsNone) {
- storedValue3.SetValue(arg3);
- }
- }
-
- public override void OnBehaviorComplete()
- {
- // Stop receiving the event when the behavior tree is complete
- Owner.UnregisterEvent(eventName.Value, ReceivedEvent);
- Owner.UnregisterEvent<object>(eventName.Value, ReceivedEvent);
- Owner.UnregisterEvent<object, object>(eventName.Value, ReceivedEvent);
- Owner.UnregisterEvent<object, object, object>(eventName.Value, ReceivedEvent);
-
- eventReceived = false;
- registered = false;
- }
-
- public override void OnReset()
- {
- // Reset the properties back to their original values
- eventName = "";
- }
- }
-}
\ No newline at end of file |