void InitializePlastic() { if (mForceToOpen) { mForceToOpen = false; return; } try { if (UnityConfigurationChecker.NeedsConfiguration()) { return; } mWkInfo = FindWorkspace.InfoForApplicationPath( Application.dataPath, mPlasticAPI); if (mWkInfo == null) { return; } AssetsProcessors.Enable(mPlasticAPI); mIsGluonMode = mPlasticAPI.IsGluonWorkspace(mWkInfo); mPingEventLoop.SetWorkspace(mWkInfo); mEventSenderRestApi.SetToken(BuildToken.FromServerProfile( ClientConfig.Get().GetDefaultProfile())); InitializeNewIncomingChanges(mWkInfo, mIsGluonMode); ViewHost viewHost = new ViewHost(); PlasticGui.WorkspaceWindow.PendingChanges.PendingChanges pendingChanges = new PlasticGui.WorkspaceWindow.PendingChanges.PendingChanges(mWkInfo); mViewSwitcher = new ViewSwitcher( mWkInfo, viewHost, mIsGluonMode, pendingChanges, mDeveloperNewIncomingChangesUpdater, mGluonNewIncomingChangesUpdater, mIncomingChangesNotificationPanel, this); mPlasticClient = new PlasticGUIClient( mWkInfo, mViewSwitcher, mViewSwitcher, viewHost, pendingChanges, mDeveloperNewIncomingChangesUpdater, mGluonNewIncomingChangesUpdater, this, new UnityPlasticGuiMessage(this)); mViewSwitcher.SetPlasticGUIClient(mPlasticClient); mViewSwitcher.ShowInitialView(); mLastUpdateTime = EditorApplication.timeSinceStartup; } catch (Exception ex) { mException = ex; ExceptionsHandler.HandleException("InitializePlastic", ex); } }
void OnGUI() { if (mException != null) { DoExceptionErrorArea(); return; } try { if (!IsExeAvailable.ForMode(mIsGluonMode)) { DrawToolNotAvailableNotification. ForMode(position.width, mIsGluonMode); return; } if (UnityConfigurationChecker.NeedsConfiguration()) { DoNoConfigAvailableArea(mIsGluonMode); return; } if (mWkInfo == null) { GetCreateWorkspaceView().OnGUI(); return; } DoHeader( mWkInfo, mPlasticClient, mViewSwitcher, mViewSwitcher, mIsGluonMode, mIncomingChangesNotificationPanel); DoTabToolbar( mWkInfo, mPlasticClient, mViewSwitcher, mIsGluonMode); mViewSwitcher.TabViewGUI(); if (mPlasticClient.IsOperationInProgress()) { DrawProgressForOperations.For( mPlasticClient, mPlasticClient.Progress, position.width); } } catch (Exception ex) { if (IsExitGUIException(ex)) { throw; } mException = ex; GUI.enabled = true; DoExceptionErrorArea(); ExceptionsHandler.HandleException("OnGUI", ex); } }