コード例 #1
0
        static Bootstrap()
        {
            CollabVersionControl collabVersionControl = new CollabVersionControl();

            Collab.SetVersionControl(collabVersionControl);
            JSProxyMgr.GetInstance().AddGlobalObject("unity/collab/proxy", new JsProxyClient(collabVersionControl));
        }
コード例 #2
0
 public void CloseToolbarWindow()
 {
     if (Collab.CloseToolbar != null)
     {
         Collab.CloseToolbar();
     }
 }
コード例 #3
0
 public void GoToHistory()
 {
     if (Collab.ShowHistoryWindow != null)
     {
         Collab.ShowHistoryWindow();
     }
 }
コード例 #4
0
ファイル: Overlay.cs プロジェクト: CarlosHBC/UnityDecompiled
 protected static void DrawOverlayElement(Collab.CollabStates singleState, Rect itemRect)
 {
     Texture2D textured;
     if (s_Overlays.TryGetValue(singleState, out textured) && (textured != null))
     {
         GUI.DrawTexture(itemRect, textured);
     }
 }
コード例 #5
0
ファイル: Toolbar.cs プロジェクト: lsx6244413/UnityDecomplie
 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();
         }
     }
 }
コード例 #6
0
ファイル: Overlay.cs プロジェクト: CarlosHBC/UnityDecompiled
 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;
 }
コード例 #7
0
ファイル: Overlay.cs プロジェクト: CarlosHBC/UnityDecompiled
 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);
     }
 }
コード例 #8
0
ファイル: Toolbar.cs プロジェクト: yiifans/UnityDecompiled
        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();
            }
        }
コード例 #9
0
        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();
            }
        }
コード例 #10
0
        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();
        }
コード例 #11
0
ファイル: Toolbar.cs プロジェクト: zzrx79/UnityDecompiled
        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();
            }
        }
コード例 #12
0
            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();
            }
コード例 #13
0
        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();
            }
        }
コード例 #14
0
ファイル: Overlay.cs プロジェクト: CarlosHBC/UnityDecompiled
 protected static bool HasState(Collab.CollabStates assetStates, Collab.CollabStates includesState)
 {
     return ((assetStates & includesState) == includesState);
 }