static Bootstrap() { CollabVersionControl collabVersionControl = new CollabVersionControl(); Collab.SetVersionControl(collabVersionControl); JSProxyMgr.GetInstance().AddGlobalObject("unity/collab/proxy", new JsProxyClient(collabVersionControl)); }
public void CloseToolbarWindow() { if (Collab.CloseToolbar != null) { Collab.CloseToolbar(); } }
public void GoToHistory() { if (Collab.ShowHistoryWindow != null) { Collab.ShowHistoryWindow(); } }
protected static void DrawOverlayElement(Collab.CollabStates singleState, Rect itemRect) { Texture2D textured; if (s_Overlays.TryGetValue(singleState, out textured) && (textured != null)) { GUI.DrawTexture(itemRect, textured); } }
public void UpdateCollabToolbarState() { if (Collab.instance.GetCollabInfo().whitelisted) { Toolbar.CollabToolbarState collabToolbarState = Toolbar.CollabToolbarState.UpToDate; bool flag = UnityConnect.instance.connectInfo.online && UnityConnect.instance.connectInfo.loggedIn; this.m_DynamicTooltip = ""; if (flag) { Collab instance = Collab.instance; bool flag2 = instance.JobRunning(0); CollabInfo collabInfo = instance.collabInfo; if (!collabInfo.ready) { collabToolbarState = Toolbar.CollabToolbarState.InProgress; } else if (collabInfo.error) { collabToolbarState = Toolbar.CollabToolbarState.OperationError; this.m_DynamicTooltip = "Last operation failed. " + collabInfo.lastErrorMsg; } else if (flag2) { collabToolbarState = Toolbar.CollabToolbarState.InProgress; } else { bool flag3 = CollabAccess.Instance.IsServiceEnabled(); if (!UnityConnect.instance.projectInfo.projectBound || !flag3) { collabToolbarState = Toolbar.CollabToolbarState.NeedToEnableCollab; } else if (collabInfo.update) { collabToolbarState = Toolbar.CollabToolbarState.ServerHasChanges; } else if (collabInfo.conflict) { collabToolbarState = Toolbar.CollabToolbarState.Conflict; } else if (collabInfo.publish) { collabToolbarState = Toolbar.CollabToolbarState.FilesToPush; } } } else { collabToolbarState = Toolbar.CollabToolbarState.Offline; } if (collabToolbarState != this.m_CollabToolbarState || CollabToolbarWindow.s_ToolbarIsVisible == Toolbar.m_ShowCollabTooltip) { this.m_CollabToolbarState = collabToolbarState; Toolbar.m_ShowCollabTooltip = !CollabToolbarWindow.s_ToolbarIsVisible; Toolbar.RepaintToolbar(); } } }
protected static Collab.CollabStates GetOverlayStateForAsset(Collab.CollabStates assetStates) { foreach (Collab.CollabStates states in s_Overlays.Keys) { if (HasState(assetStates, states)) { return states; } } return Collab.CollabStates.kCollabNone; }
public static void DrawOverlays(Collab.CollabStates assetState, Rect itemRect) { if (((assetState != Collab.CollabStates.kCollabInvalidState) && (assetState != Collab.CollabStates.kCollabNone)) && (Event.current.type == EventType.Repaint)) { if (!AreOverlaysLoaded()) { LoadOverlays(); } DrawOverlayElement(GetOverlayStateForAsset(assetState), itemRect); } }
public void UpdateCollabToolbarState() { Toolbar.CollabToolbarState collabToolbarState = Toolbar.CollabToolbarState.UpToDate; Collab instance = Collab.instance; bool flag = instance.JobRunning(0); CollabInfo collabInfo = instance.collabInfo; this.m_DynamicTooltip = string.Empty; if (!Collab.instance.collabInfo.whitelisted) { this.m_DynamicTooltip = "Please check that this project is part of an organization that has been accepted into the collaborate beta.\r\n\r\nGo to Services > Settings > Organization and change your project Organization to the one that has been accepted into the Collaborate beta."; collabToolbarState = Toolbar.CollabToolbarState.Disabled; } else if (!collabInfo.ready) { collabToolbarState = Toolbar.CollabToolbarState.InProgress; } else if (collabInfo.error) { collabToolbarState = Toolbar.CollabToolbarState.OperationError; this.m_DynamicTooltip = "Last operation failed. " + collabInfo.lastErrorMsg; } else if (flag) { collabToolbarState = Toolbar.CollabToolbarState.InProgress; } else { bool flag2 = CollabAccess.Instance.IsServiceEnabled(); if (!UnityConnect.instance.projectInfo.projectBound || !flag2) { collabToolbarState = Toolbar.CollabToolbarState.NeedToEnableCollab; } else if (collabInfo.update) { collabToolbarState = Toolbar.CollabToolbarState.ServerHasChanges; } else if (collabInfo.conflict) { collabToolbarState = Toolbar.CollabToolbarState.Conflict; } else if (collabInfo.publish) { collabToolbarState = Toolbar.CollabToolbarState.FilesToPush; } } if (collabToolbarState != this.m_CollabToolbarState || CollabToolbarWindow.s_ToolbarIsVisible == Toolbar.m_ShowCollabTooltip) { this.m_CollabToolbarState = collabToolbarState; Toolbar.m_ShowCollabTooltip = !CollabToolbarWindow.s_ToolbarIsVisible; Toolbar.RepaintToolbar(); } }
void ShowPopup(Rect rect) { // window should be centered on the button ReserveRight(kCollabButtonWidth / 2, ref rect); ReserveBottom(5, ref rect); // calculate screen rect before saving assets since it might open the AssetSaveDialog window var screenRect = GUIToScreenRect(rect); if (Collab.ShowToolbarAtPosition != null && Collab.ShowToolbarAtPosition(screenRect)) { GUIUtility.ExitGUI(); } }
public void UpdateCollabToolbarState() { var currentCollabState = CollabToolbarState.UpToDate; bool networkAvailable = UnityConnect.instance.connectInfo.online && UnityConnect.instance.connectInfo.loggedIn; m_DynamicTooltip = ""; if (UnityConnect.instance.isDisableCollabWindow) { currentCollabState = CollabToolbarState.Disabled; } else if (networkAvailable) { Collab collab = Collab.instance; CollabInfo currentInfo = collab.collabInfo; UnityErrorInfo errInfo; bool error = false; if (collab.GetError(UnityConnect.UnityErrorFilter.ByContext | UnityConnect.UnityErrorFilter.ByChild, out errInfo)) { error = errInfo.priority <= (int)UnityConnect.UnityErrorPriority.Error; m_DynamicTooltip = errInfo.shortMsg; } if (!currentInfo.ready) { currentCollabState = CollabToolbarState.InProgress; } else if (error) { currentCollabState = CollabToolbarState.OperationError; } else if (currentInfo.inProgress) { currentCollabState = CollabToolbarState.InProgress; } else if (m_IsGettingChanges) { currentCollabState = CollabToolbarState.InProgress; } else { bool collabEnable = Collab.instance.IsCollabEnabledForCurrentProject(); if (UnityConnect.instance.projectInfo.projectBound == false || !collabEnable) { currentCollabState = CollabToolbarState.NeedToEnableCollab; } else if (currentInfo.update) { currentCollabState = CollabToolbarState.ServerHasChanges; } else if (currentInfo.conflict) { currentCollabState = CollabToolbarState.Conflict; } else if (currentInfo.publish) { currentCollabState = CollabToolbarState.FilesToPush; } } } else { currentCollabState = CollabToolbarState.Offline; } if (Collab.IsToolbarVisible == null || currentCollabState == m_CollabToolbarState && Collab.IsToolbarVisible() != m_ShowCollabTooltip) { return; } m_CollabToolbarState = currentCollabState; m_ShowCollabTooltip = !Collab.IsToolbarVisible(); Toolbar.RepaintToolbar(); }
public void UpdateCollabToolbarState() { Toolbar.CollabToolbarState collabToolbarState = Toolbar.CollabToolbarState.UpToDate; bool flag = UnityConnect.instance.connectInfo.online && UnityConnect.instance.connectInfo.loggedIn; this.m_DynamicTooltip = ""; if (flag) { Collab instance = Collab.instance; CollabInfo collabInfo = instance.collabInfo; int num = 0; int num2 = 4; int num3 = 2; string text = ""; string dynamicTooltip = ""; bool flag2 = false; if (instance.GetError(5, out num, out num2, out num3, out text, out dynamicTooltip)) { flag2 = (num2 <= 1); this.m_DynamicTooltip = dynamicTooltip; } if (!collabInfo.ready) { collabToolbarState = Toolbar.CollabToolbarState.InProgress; } else if (flag2) { collabToolbarState = Toolbar.CollabToolbarState.OperationError; } else if (collabInfo.inProgress) { collabToolbarState = Toolbar.CollabToolbarState.InProgress; } else { bool flag3 = CollabAccess.Instance.IsServiceEnabled(); if (!UnityConnect.instance.projectInfo.projectBound || !flag3) { collabToolbarState = Toolbar.CollabToolbarState.NeedToEnableCollab; } else if (collabInfo.update) { collabToolbarState = Toolbar.CollabToolbarState.ServerHasChanges; } else if (collabInfo.conflict) { collabToolbarState = Toolbar.CollabToolbarState.Conflict; } else if (collabInfo.publish) { collabToolbarState = Toolbar.CollabToolbarState.FilesToPush; } } } else { collabToolbarState = Toolbar.CollabToolbarState.Offline; } if (collabToolbarState != this.m_CollabToolbarState || CollabToolbarWindow.s_ToolbarIsVisible == Toolbar.m_ShowCollabTooltip) { this.m_CollabToolbarState = collabToolbarState; Toolbar.m_ShowCollabTooltip = !CollabToolbarWindow.s_ToolbarIsVisible; Toolbar.RepaintToolbar(); } }
public override void EnterState() { //If we haven't received new bound info, fetch them var generalTemplate = EditorGUIUtility.Load(k_CollaborateEnabledUxmlPath) as VisualTreeAsset; var scrollContainer = provider.rootVisualElement.Q(null, k_ServiceScrollContainerClassName); var newVisual = generalTemplate.CloneTree().contentContainer; ServicesUtils.TranslateStringsInTree(newVisual); scrollContainer.Clear(); scrollContainer.Add(newVisual); m_CollabPublishSection = scrollContainer.Q(k_CollabPublishSection); m_CollabHistorySection = scrollContainer.Q(k_CollabHistorySection); // Don't show the Publish and History section by default if (m_CollabHistorySection != null) { m_CollabHistorySection.style.display = DisplayStyle.None; } if (m_CollabPublishSection != null) { m_CollabPublishSection.style.display = DisplayStyle.None; } var openHistory = provider.rootVisualElement.Q(k_OpenHistoryLink) as Button; if (openHistory != null) { openHistory.clicked += () => { if (Collab.ShowHistoryWindow != null) { Collab.ShowHistoryWindow(); } }; } Button openChangesLinkBtn = provider.rootVisualElement.Q(k_OpenChangesLink) as Button; if (openChangesLinkBtn != null) { openChangesLinkBtn.clicked += () => { if (Collab.ShowChangesWindow != null) { Collab.ShowChangesWindow(); } }; } var gotoWebDashboard = scrollContainer.Q(k_GoToWebDashboardLink); if (gotoWebDashboard != null) { var clickable = new Clickable(() => { ServicesConfiguration.instance.RequestBaseCloudUsageDashboardUrl(baseCloudUsageDashboardUrl => { provider.OpenDashboardOrgAndProjectIds(baseCloudUsageDashboardUrl); }); }); gotoWebDashboard.AddManipulator(clickable); } // Prepare the package section and update the package information PreparePackageSection(scrollContainer); UpdatePackageInformation(); provider.HandlePermissionRestrictedControls(); }
public void UpdateCollabToolbarState() { var currentCollabState = CollabToolbarState.UpToDate; bool networkAvailable = UnityConnect.instance.connectInfo.online && UnityConnect.instance.connectInfo.loggedIn; m_DynamicTooltip = ""; if (networkAvailable) { Collab collab = Collab.instance; CollabInfo currentInfo = collab.collabInfo; int errorCode = 0; int errorPriority = (int)UnityConnect.UnityErrorPriority.None; int errorBehaviour = (int)UnityConnect.UnityErrorBehaviour.Hidden; string errorMsg = ""; string errorShortMsg = ""; bool error = false; if (collab.GetError((int)(UnityConnect.UnityErrorFilter.ByContext | UnityConnect.UnityErrorFilter.ByChild), out errorCode, out errorPriority, out errorBehaviour, out errorMsg, out errorShortMsg)) { error = (errorPriority <= (int)UnityConnect.UnityErrorPriority.Error); m_DynamicTooltip = errorShortMsg; } if (!currentInfo.ready) { currentCollabState = CollabToolbarState.InProgress; } else if (error) { currentCollabState = CollabToolbarState.OperationError; } else if (currentInfo.inProgress) { currentCollabState = CollabToolbarState.InProgress; } else { bool collabEnable = Collab.instance.IsCollabEnabledForCurrentProject(); if (UnityConnect.instance.projectInfo.projectBound == false || !collabEnable) { currentCollabState = CollabToolbarState.NeedToEnableCollab; } else if (currentInfo.update) { currentCollabState = CollabToolbarState.ServerHasChanges; } else if (currentInfo.conflict) { currentCollabState = CollabToolbarState.Conflict; } else if (currentInfo.publish) { currentCollabState = CollabToolbarState.FilesToPush; } } } else { currentCollabState = CollabToolbarState.Offline; } if (currentCollabState != m_CollabToolbarState || CollabToolbarWindow.s_ToolbarIsVisible == m_ShowCollabTooltip) { m_CollabToolbarState = currentCollabState; m_ShowCollabTooltip = !CollabToolbarWindow.s_ToolbarIsVisible; RepaintToolbar(); } }
protected static bool HasState(Collab.CollabStates assetStates, Collab.CollabStates includesState) { return ((assetStates & includesState) == includesState); }