BadScript 2
Loading...
Searching...
No Matches
BadInteropRunnable.cs
Go to the documentation of this file.
2
4
9{
14
15
21 public BadInteropRunnable(IEnumerator<BadObject> enumerator, bool setLastAsReturn = false)
22 {
23 Enumerator = setLastAsReturn ? CreateEnumerator(enumerator) : enumerator;
24 }
25
27 public override IEnumerator<BadObject> Enumerator { get; }
28
34 private IEnumerator<BadObject> CreateEnumerator(IEnumerator<BadObject> enumerator)
35 {
36 BadObject last = enumerator.Current ?? BadObject.Null;
37
38 while (enumerator.MoveNext())
39 {
40 last = enumerator.Current ?? BadObject.Null;
41
42 yield return last;
43 }
44
45 SetReturn(last);
46 }
47
52 public void SetReturn(BadObject obj)
53 {
54 m_ReturnValue = obj;
55 }
56
58 public override BadObject GetReturn()
59 {
60 return m_ReturnValue;
61 }
62}
Implements a Runnable that can return a value.
BadInteropRunnable(IEnumerator< BadObject > enumerator, bool setLastAsReturn=false)
Creates a new Runnable.
IEnumerator< BadObject > CreateEnumerator(IEnumerator< BadObject > enumerator)
Creates the Enumerator.
void SetReturn(BadObject obj)
Sets the Return Value.
Implements a Runnable Object.
The Base Class for all BadScript Objects.
Definition BadObject.cs:14
static readonly BadObject Null
The Null Value for the BadScript Language.
Definition BadObject.cs:28
Contains task/async Extensions and Integrations for the BadScript2 Runtime.
Contains the Runtime Objects.
Definition BadArray.cs:10