Sabayang pagtakbo at execution
Sabayang pagtakbo at execution
Tumatakbo ang karaniwang tawag sa kasalukuyang flow at maaaring maghintay sa capture, pagproseso, gesture, UI, o user input. Magkaibang mekanismo ang parallel sa touch at Flow.start. Ang blocking ay paghihintay sa caller, hindi pag-freeze ng Android UI.
Background flow
Nagbubukas ng isolated branch ang Flow.start(name, params=None) at nagbabalik ng Int ordinal. Hanggang dalawang background branch bawat Run. Walang Flow.stop(), pause(), resume(), join(), o handle API. Hinihintay ng main ang background; anumang branch error o System.stop() ay humihinto sa buong Run.
# I-configure muna ang macro flow na watch_enemy bago patakbuhin
ordinal = Flow.start("watch_enemy", {"task": "status"})
print(ordinal)Mga touch sa queue
Naglalagay sa queue ng touch ang parallel=True; sa labas ng collect, naghihintay pa rin ang delay_before at delay_after sa caller. Iniipon ng Touch.collect() ang mga touch para sa Touch.send(); hinihintay ng Touch.wait() ang pagtatapos. Shared ang Android input channel, hindi magkakahiwalay na device. Kailangan ng Android 8 pataas para kanselahin ang aktibong gesture.
# Kolektahin ang magkakapatong na touch, saka hintaying matapos
Touch.collect()
click((300, 900), hold_ms=1500, parallel=True)
click((780, 900), delay_before=500, parallel=True)
Touch.send()
Touch.wait()Pagkilala at paghihintay sa UI
Hinahanap ng Region.find* ang paglitaw; hinihintay ng Region.wait* ang pagkawala. May oras ng pagproseso kahit isang pagkilala lang. Limitado sa 1–60 Hz ang polling. Nakasunod at naghihintay sa user ang interactive MacroPanel prompts. Pag-aari ng flow ang OverlayText; nililinis lang ng off_all() ang sarili nitong overlay, at dumadaan ang UI sa Android Main.