diff options
Diffstat (limited to 'modules/mono/glue/Managed/Files/SignalAwaiter.cs')
-rw-r--r-- | modules/mono/glue/Managed/Files/SignalAwaiter.cs | 60 |
1 files changed, 0 insertions, 60 deletions
diff --git a/modules/mono/glue/Managed/Files/SignalAwaiter.cs b/modules/mono/glue/Managed/Files/SignalAwaiter.cs deleted file mode 100644 index 9483b6ffb4..0000000000 --- a/modules/mono/glue/Managed/Files/SignalAwaiter.cs +++ /dev/null @@ -1,60 +0,0 @@ -using System; -using System.Runtime.CompilerServices; - -namespace Godot -{ - public class SignalAwaiter : IAwaiter<object[]>, IAwaitable<object[]> - { - private bool completed; - private object[] result; - private Action action; - - public SignalAwaiter(Object source, string signal, Object target) - { - godot_icall_SignalAwaiter_connect(Object.GetPtr(source), signal, Object.GetPtr(target), this); - } - - [MethodImpl(MethodImplOptions.InternalCall)] - internal extern static Error godot_icall_SignalAwaiter_connect(IntPtr source, string signal, IntPtr target, SignalAwaiter awaiter); - - public bool IsCompleted - { - get - { - return completed; - } - } - - public void OnCompleted(Action action) - { - this.action = action; - } - - public object[] GetResult() - { - return result; - } - - public IAwaiter<object[]> GetAwaiter() - { - return this; - } - - internal void SignalCallback(object[] args) - { - completed = true; - result = args; - - if (action != null) - { - action(); - } - } - - internal void FailureCallback() - { - action = null; - completed = true; - } - } -} |