| 821 | } |
| 822 | |
| 823 | void GameCookerService::Update() |
| 824 | { |
| 825 | if (IsRunning) |
| 826 | { |
| 827 | PROFILE_MEM(Editor); |
| 828 | ScopeLock lock(ProgressLocker); |
| 829 | |
| 830 | if (ProgressMsg.HasChars()) |
| 831 | { |
| 832 | if (Internal_OnProgress == nullptr) |
| 833 | { |
| 834 | auto c = GameCooker::GetStaticClass(); |
| 835 | if (c) |
| 836 | Internal_OnProgress = c->GetMethod("Internal_OnProgress", 2); |
| 837 | ASSERT(GameCookerImpl::Internal_OnProgress); |
| 838 | } |
| 839 | |
| 840 | MainThreadManagedInvokeAction::ParamsBuilder params; |
| 841 | params.AddParam(ProgressMsg, Scripting::GetScriptsDomain()); |
| 842 | params.AddParam(ProgressValue); |
| 843 | MainThreadManagedInvokeAction::Invoke(Internal_OnProgress, params); |
| 844 | GameCooker::OnProgress(ProgressMsg, ProgressValue); |
| 845 | |
| 846 | ProgressMsg.Clear(); |
| 847 | ProgressValue = 1.0f; |
| 848 | } |
| 849 | } |
| 850 | } |
| 851 | |
| 852 | void GameCookerService::Dispose() |
| 853 | { |