void ScriptEditorWindow::endRefresh(const ScriptObjectBackup& backupData) { if (isDestroyed()) { // We couldn't restore managed instance because window class cannot be found _onManagedInstanceDeleted(false); } PersistentScriptObjectBase::endRefresh(backupData); }
void ScriptManagedResource::endRefresh(const ScriptObjectBackup& backupData) { ResourceBackupData resourceBackup = any_cast<ResourceBackupData>(backupData.data); mResource->restore(mManagedInstance, resourceBackup); // If we could not find resource type after refresh, treat it as if it was destroyed if (mManagedInstance == nullptr) _onManagedInstanceDeleted(); ScriptResourceBase::endRefresh(backupData); }
void ScriptEditorWindow::endRefresh(const ScriptObjectBackup& backupData) { mRefreshInProgress = false; if (!isDestroyed()) mManagedInstance = mEditorWidget->getManagedInstance(); else mManagedInstance = nullptr; if (mManagedInstance != nullptr) { auto iterFind = OpenScriptEditorWindows.find(mName); if (iterFind != OpenScriptEditorWindows.end()) iterFind->second.gcHandle = MonoUtil::newGCHandle(mManagedInstance); } else { // We couldn't restore managed instance because window class cannot be found _onManagedInstanceDeleted(); } PersistentScriptObjectBase::endRefresh(backupData); }