| 2605 | } |
| 2606 | |
| 2607 | void WasmRuntime::scheduleUpdate() { |
| 2608 | unscheduleUpdate(); |
| 2609 | _scheduling = std::make_shared<bool>(true); |
| 2610 | _scheduler = Scheduler::create(); |
| 2611 | _postScheduler = Scheduler::create(); |
| 2612 | SharedDirector.getScheduler()->schedule([scheduling = _scheduling, scheduler = WRef<Scheduler>(_scheduler)](double deltaTime) { |
| 2613 | if (!*scheduling) { |
| 2614 | return true; |
| 2615 | } |
| 2616 | if (scheduler) { |
| 2617 | scheduler->update(deltaTime); |
| 2618 | return false; |
| 2619 | } |
| 2620 | return true; |
| 2621 | }); |
| 2622 | SharedDirector.getPostScheduler()->schedule([scheduling = _scheduling, scheduler = WRef<Scheduler>(_postScheduler)](double deltaTime) { |
| 2623 | if (!*scheduling) { |
| 2624 | return true; |
| 2625 | } |
| 2626 | if (scheduler) { |
| 2627 | scheduler->update(deltaTime); |
| 2628 | return false; |
| 2629 | } |
| 2630 | return true; |
| 2631 | }); |
| 2632 | } |
| 2633 | |
| 2634 | void WasmRuntime::clear() { |
| 2635 | unscheduleUpdate(); |
nothing calls this directly
no test coverage detected