A game about forced loneliness, made by TACStudios
at master 4.4 kB view raw
1using UnityEngine; 2 3using Codice.Client.BaseCommands; 4using Codice.Client.Commands; 5using Codice.CM.Common; 6using Codice.ThemeImages; 7using PlasticGui.WorkspaceWindow.Merge; 8using PlasticGui.WorkspaceWindow.PendingChanges; 9using Unity.PlasticSCM.Editor.AssetsOverlays; 10 11using GluonIncomingChangeInfo = PlasticGui.Gluon.WorkspaceWindow.Views.IncomingChanges.IncomingChangeInfo; 12using GluonIncomingChangeCategory = PlasticGui.Gluon.WorkspaceWindow.Views.IncomingChanges.IncomingChangeCategory; 13 14namespace Unity.PlasticSCM.Editor.UI.Tree 15{ 16 static class GetChangesOverlayIcon 17 { 18 internal static Texture ForPlasticMergeChange( 19 MergeChangeInfo mergeChange, 20 bool isSolvedConflict) 21 { 22 if (mergeChange.CategoryType == MergeChangesCategory.Type.FileConflicts || 23 mergeChange.CategoryType == MergeChangesCategory.Type.DirectoryConflicts) 24 return ForConflict(isSolvedConflict); 25 26 if (mergeChange.IsXLink()) 27 return ForXLink(); 28 29 if (mergeChange.CategoryType == MergeChangesCategory.Type.Deleted) 30 return ForDeletedOnServer(); 31 32 if (mergeChange.CategoryType == MergeChangesCategory.Type.Changed) 33 return ForOutOfDate(); 34 35 if (mergeChange.CategoryType == MergeChangesCategory.Type.Added) 36 return ForAdded(); 37 38 return null; 39 } 40 41 internal static Texture ForGluonIncomingChange( 42 GluonIncomingChangeInfo incomingChange, 43 bool isSolvedConflict) 44 { 45 if (incomingChange.CategoryType == GluonIncomingChangeCategory.Type.Conflicted) 46 return ForConflict(isSolvedConflict); 47 48 if (incomingChange.IsXLink()) 49 return ForXLink(); 50 51 if (incomingChange.CategoryType == GluonIncomingChangeCategory.Type.Deleted) 52 return ForDeletedOnServer(); 53 54 if (incomingChange.CategoryType == GluonIncomingChangeCategory.Type.Changed) 55 return ForOutOfDate(); 56 57 if (incomingChange.CategoryType == GluonIncomingChangeCategory.Type.Added) 58 return ForAdded(); 59 60 return null; 61 } 62 63 internal static Texture ForPendingChange( 64 ChangeInfo changeInfo, 65 bool isConflict) 66 { 67 if (isConflict) 68 return ForConflicted(); 69 70 ItemIconImageType type = ChangeInfoView. 71 GetIconImageType(changeInfo); 72 73 if (ChangeTypesOperator.AreAllSet( 74 changeInfo.ChangeTypes, ChangeTypes.Added)) 75 return ForAdded(); 76 77 if (type.HasFlag(ItemIconImageType.Ignored)) 78 return ForIgnored(); 79 80 if (type.HasFlag(ItemIconImageType.Deleted)) 81 return ForDeleted(); 82 83 if (type.HasFlag(ItemIconImageType.CheckedOut)) 84 return ForCheckedOut(); 85 86 if (type.HasFlag(ItemIconImageType.Private)) 87 return ForPrivated(); 88 89 return null; 90 } 91 92 static Texture ForConflict(bool isResolved) 93 { 94 if (isResolved) 95 return ForConflictResolved(); 96 97 return ForConflicted(); 98 } 99 100 static Texture ForXLink() 101 { 102 return Images.GetImage(Images.Name.XLink); 103 } 104 105 static Texture ForIgnored() 106 { 107 return Images.GetIgnoredOverlayIcon(); 108 } 109 110 static Texture ForPrivated() 111 { 112 return Images.GetPrivatedOverlayIcon(); 113 } 114 115 static Texture ForAdded() 116 { 117 return Images.GetAddedOverlayIcon(); 118 } 119 120 static Texture ForDeleted() 121 { 122 return Images.GetDeletedLocalOverlayIcon(); 123 } 124 125 static Texture ForCheckedOut() 126 { 127 return Images.GetCheckedOutOverlayIcon(); 128 } 129 130 static Texture ForDeletedOnServer() 131 { 132 return Images.GetDeletedRemoteOverlayIcon(); 133 } 134 135 static Texture ForOutOfDate() 136 { 137 return Images.GetOutOfSyncOverlayIcon(); 138 } 139 140 static Texture ForConflicted() 141 { 142 return Images.GetConflictedOverlayIcon(); 143 } 144 145 static Texture ForConflictResolved() 146 { 147 return Images.GetConflictResolvedOverlayIcon(); 148 } 149 } 150}