public static string GetStatusText(VersionControlStatus assetStatus) { if (assetStatus.reflectionLevel == VCReflectionLevel.Pending) { return("Pending"); } if (assetStatus.fileStatus == VCFileStatus.Conflicted) { return("Conflicted"); } if (assetStatus.fileStatus == VCFileStatus.Deleted) { return("Deleted"); } if (assetStatus.lockStatus == VCLockStatus.LockedHere) { return(Terminology.getlock + (assetStatus.fileStatus == VCFileStatus.Modified?"*":"")); } if (assetStatus.LocalEditAllowed()) { return(Terminology.allowLocalEdit + (assetStatus.fileStatus == VCFileStatus.Modified ? "*" : "")); } if (assetStatus.ModifiedWithoutLock()) { return("Modified!"); } if (assetStatus.lockStatus == VCLockStatus.LockedOther) { return(Terminology.lockedBy + "'" + assetStatus.owner + "'"); } if (assetStatus.fileStatus == VCFileStatus.Modified) { return("Modified"); } if (assetStatus.fileStatus == VCFileStatus.Unversioned) { return(Terminology.unversioned); } if (assetStatus.fileStatus == VCFileStatus.Added) { return("Added"); } if (assetStatus.fileStatus == VCFileStatus.Replaced) { return("Replaced"); } if (assetStatus.fileStatus == VCFileStatus.Ignored) { return("Ignored"); } if (assetStatus.remoteStatus == VCRemoteFileStatus.Modified) { return("Modified on server"); } if (assetStatus.fileStatus == VCFileStatus.Normal) { return("Normal"); } return("-"); }
public static void VersionControlStatusGUI(GUIStyle style, VersionControlStatus assetStatus, Object obj, bool showAddCommit, bool showLockAndAllowLocalEdit, bool showRevert, bool confirmRevert = false) { using (new PushState <bool>(GUI.enabled, VCCommands.Instance.Ready, v => GUI.enabled = v)) { if (assetStatus.lockStatus == VCLockStatus.LockedHere || assetStatus.ModifiedOrLocalEditAllowed() || !VCUtility.ManagedByRepository(assetStatus)) { if (!assetStatus.ModifiedOrLocalEditAllowed() && obj.GetAssetPath() != "" && showAddCommit) { if (GUILayout.Button((VCUtility.ManagedByRepository(assetStatus) ? Terminology.commit : Terminology.add), GetPrefabToolbarStyle(style, true))) { VCUtility.ApplyAndCommit(obj, Terminology.commit + " from Inspector"); } } } if (!VCUtility.HaveVCLock(assetStatus) && VCUtility.ManagedByRepository(assetStatus) && showLockAndAllowLocalEdit) { if (assetStatus.fileStatus == VCFileStatus.Added) { if (GUILayout.Button(Terminology.commit, GetPrefabToolbarStyle(style, true))) { VCUtility.ApplyAndCommit(obj, Terminology.commit + " from Inspector"); } } else if (assetStatus.lockStatus != VCLockStatus.LockedOther) { if (GUILayout.Button(Terminology.getlock, GetPrefabToolbarStyle(style, true))) { VCCommands.Instance.GetLockTask(obj.ToAssetPaths()); } } if (!assetStatus.LocalEditAllowed()) { if (GUILayout.Button(Terminology.allowLocalEdit, GetPrefabToolbarStyle(style, true))) { VCCommands.Instance.AllowLocalEdit(obj.ToAssetPaths()); } } } if (showRevert) { if (GUILayout.Button(Terminology.revert, GetPrefabToolbarStyle(style, VCUtility.ShouldVCRevert(obj)))) { if ((!confirmRevert || Event.current.shift) || VCUtility.VCDialog(Terminology.revert, obj)) { var seletedGo = Selection.activeGameObject; var revertedObj = VCUtility.Revert(obj); OnNextUpdate.Do(() => Selection.activeObject = ((obj is GameObject) ? revertedObj : seletedGo)); } } } } }
public static string GetLockStatusMessage(VersionControlStatus assetStatus) { string lockMessage = assetStatus.lockStatus.ToString(); if (assetStatus.lockStatus == VCLockStatus.LockedOther) { lockMessage = Terminology.getlock + " by: " + assetStatus.owner; } if (assetStatus.lockStatus == VCLockStatus.LockedHere) { lockMessage = Terminology.getlock + " Here: " + assetStatus.owner; } if (assetStatus.lockStatus == VCLockStatus.NoLock) { if (ComposedString.IsNullOrEmpty(assetStatus.assetPath)) { lockMessage = "Not saved"; } else if (assetStatus.fileStatus == VCFileStatus.Added) { lockMessage = "Added"; } else if (assetStatus.fileStatus == VCFileStatus.Replaced) { lockMessage = "Replaced"; } else { lockMessage = VCUtility.ManagedByRepository(assetStatus) ? "Not " + Terminology.getlock : "Not on Version Control"; } } if (assetStatus.LocalEditAllowed()) { lockMessage = Terminology.allowLocalEdit; if ((assetStatus.lockStatus == VCLockStatus.LockedOther)) { lockMessage += " (" + Terminology.getlock + " By: " + assetStatus.owner + " )"; } } if (assetStatus.fileStatus == VCFileStatus.Modified) { lockMessage += "*"; } return(lockMessage); }
public static Color GetStatusColor(VersionControlStatus assetStatus, bool includeLockStatus) { if (assetStatus.treeConflictStatus == VCTreeConflictStatus.TreeConflict) { return(conflictedColor); } if (assetStatus.fileStatus == VCFileStatus.Conflicted) { return(conflictedColor); } if (assetStatus.fileStatus == VCFileStatus.Missing) { return(missingColor); } if (assetStatus.fileStatus == VCFileStatus.Ignored) { return(ignoreColor); } if (assetStatus.LocalEditAllowed()) { return(localEditColor); } if (assetStatus.ModifiedWithoutLock()) { return(modifiedNoLockColor); } if (assetStatus.fileStatus == VCFileStatus.Deleted) { return(deletedColor); } if (assetStatus.fileStatus == VCFileStatus.Added) { return(addedColor); } if (includeLockStatus) { if (assetStatus.lockStatus == VCLockStatus.LockedHere) { return(lockedColor); } if (assetStatus.lockStatus == VCLockStatus.LockedOther) { return(lockedOtherColor); } } if (assetStatus.fileStatus == VCFileStatus.Modified) { return(modifiedColor); } if (assetStatus.reflectionLevel == VCReflectionLevel.Pending) { return(pendingColor); } if (assetStatus.fileStatus == VCFileStatus.Unversioned) { return(unversionedColor); } if (assetStatus.remoteStatus == VCRemoteFileStatus.Modified) { return(remoteModifiedColor); } if (assetStatus.fileStatus == VCFileStatus.Normal) { return(normalColor); } return(pink); }
public static void VersionControlStatusGUI(GUIStyle style, VersionControlStatus assetStatus, Object obj, bool showAddCommit, bool showLockAndAllowLocalEdit, bool showRevert, bool confirmRevert = false) { using (new PushState<bool>(GUI.enabled, VCCommands.Instance.Ready, v => GUI.enabled = v)) { if (assetStatus.lockStatus == VCLockStatus.LockedHere || assetStatus.ModifiedOrLocalEditAllowed() || !VCUtility.ManagedByRepository(assetStatus)) { if (!assetStatus.ModifiedOrLocalEditAllowed() && obj.GetAssetPath() != "" && showAddCommit) { if (GUILayout.Button((VCUtility.ManagedByRepository(assetStatus) ? Terminology.commit : Terminology.add), GetPrefabToolbarStyle(style, true))) { VCUtility.ApplyAndCommit(obj, Terminology.commit + " from Inspector"); } } } if (!VCUtility.HaveVCLock(assetStatus) && VCUtility.ManagedByRepository(assetStatus) && showLockAndAllowLocalEdit) { if (assetStatus.fileStatus == VCFileStatus.Added) { if (GUILayout.Button(Terminology.commit, GetPrefabToolbarStyle(style, true))) { VCUtility.ApplyAndCommit(obj, Terminology.commit + " from Inspector"); } } else if (assetStatus.lockStatus != VCLockStatus.LockedOther) { if (GUILayout.Button(Terminology.getlock, GetPrefabToolbarStyle(style, true))) { VCCommands.Instance.GetLockTask(obj.ToAssetPaths()); } } if (!assetStatus.LocalEditAllowed()) { if (GUILayout.Button(Terminology.allowLocalEdit, GetPrefabToolbarStyle(style, true))) { VCCommands.Instance.AllowLocalEdit(obj.ToAssetPaths()); } } } if (showRevert) { if (GUILayout.Button(Terminology.revert, GetPrefabToolbarStyle(style, VCUtility.ShouldVCRevert(obj)))) { if ((!confirmRevert || Event.current.shift) || VCUtility.VCDialog(Terminology.revert, obj)) { var seletedGo = Selection.activeGameObject; var revertedObj = VCUtility.Revert(obj); OnNextUpdate.Do(() => Selection.activeObject = ((obj is GameObject) ? revertedObj : seletedGo)); } } } } }