@@ -40,12 +40,6 @@ public static void DrawOverlay(Asset asset, Rect itemRect)
4040 if ( Event . current . type != EventType . Repaint )
4141 return ;
4242
43- string vcsType = EditorSettings . externalVersionControl ;
44- if ( vcsType == ExternalVersionControl . Disabled ||
45- vcsType == ExternalVersionControl . AutoDetect ||
46- vcsType == ExternalVersionControl . Generic )
47- return ; // no icons for these version control systems
48-
4943 DrawOverlays ( asset , null , itemRect ) ;
5044 }
5145
@@ -57,12 +51,6 @@ public static void DrawOverlay(Asset asset, Asset metaAsset, Rect itemRect)
5751 if ( Event . current . type != EventType . Repaint )
5852 return ;
5953
60- string vcsType = EditorSettings . externalVersionControl ;
61- if ( vcsType == ExternalVersionControl . Disabled ||
62- vcsType == ExternalVersionControl . AutoDetect ||
63- vcsType == ExternalVersionControl . Generic )
64- return ; // no icons for these version control systems
65-
6654 DrawOverlays ( asset , metaAsset , itemRect ) ;
6755 }
6856
@@ -112,120 +100,123 @@ static void DrawOverlays(Asset asset, Asset metaAsset, Rect itemRect)
112100 Rect bottomRight = new Rect ( itemRect . xMax - iconWidth + offsetX , itemRect . yMax - iconWidth + offsetY , iconWidth , iconWidth ) ;
113101 Rect syncRect = new Rect ( itemRect . xMax - iconWidth + syncOffsetX , itemRect . yMax - iconWidth + offsetY , iconWidth , iconWidth ) ;
114102
103+ Asset . States assetState = asset . state ;
104+ Asset . States metaState = metaAsset != null ? metaAsset . state : Asset . States . None ;
105+
115106 Asset . States unmodifiedState = Asset . States . Local | Asset . States . MetaFile | Asset . States . ReadOnly | Asset . States . Synced ;
116- bool isMetaUnmodifiedState = metaAsset == null || ( metaAsset . state & unmodifiedState ) == unmodifiedState ;
107+ bool isMetaUnmodifiedState = metaAsset == null || ( metaState & unmodifiedState ) == unmodifiedState ;
117108
118- Asset . States localMetaState = metaAsset == null ? Asset . States . None : metaAsset . state & ( Asset . States . AddedLocal | Asset . States . CheckedOutLocal | Asset . States . DeletedLocal | Asset . States . LockedLocal ) ;
119- Asset . States remoteMetaState = metaAsset == null ? Asset . States . None : metaAsset . state & ( Asset . States . AddedRemote | Asset . States . CheckedOutRemote | Asset . States . DeletedRemote | Asset . States . LockedRemote ) ;
109+ Asset . States localMetaState = metaAsset == null ? Asset . States . None : metaState & ( Asset . States . AddedLocal | Asset . States . CheckedOutLocal | Asset . States . DeletedLocal | Asset . States . LockedLocal ) ;
110+ Asset . States remoteMetaState = metaAsset == null ? Asset . States . None : metaState & ( Asset . States . AddedRemote | Asset . States . CheckedOutRemote | Asset . States . DeletedRemote | Asset . States . LockedRemote ) ;
120111
121112 bool keepFolderMetaParans = asset . isFolder && Provider . isVersioningFolders ;
122113
123114 // Local state overlay
124- if ( asset . IsState ( Asset . States . AddedLocal ) )
115+ if ( Asset . IsState ( assetState , Asset . States . AddedLocal ) )
125116 {
126117 DrawOverlay ( Asset . States . AddedLocal , topLeft ) ;
127118
128119 // Meta overlay if meta file is not added or already in repo and unmodified.
129120 if ( metaAsset != null && ( localMetaState & Asset . States . AddedLocal ) == 0 && ! isMetaUnmodifiedState )
130121 DrawMetaOverlay ( topLeft , false ) ;
131122 }
132- else if ( asset . IsState ( Asset . States . DeletedLocal ) )
123+ else if ( Asset . IsState ( assetState , Asset . States . DeletedLocal ) )
133124 {
134125 DrawOverlay ( Asset . States . DeletedLocal , topLeft ) ;
135126
136127 // Meta overlay if meta file is not deleted but asset is and meta file is still present or missing (ie. should have been there)
137- if ( metaAsset != null && ( localMetaState & Asset . States . DeletedLocal ) == 0 && metaAsset . IsState ( Asset . States . Local | Asset . States . Missing ) )
128+ if ( metaAsset != null && ( localMetaState & Asset . States . DeletedLocal ) == 0 && Asset . IsState ( metaState , Asset . States . Local | Asset . States . Missing ) )
138129 DrawMetaOverlay ( topLeft , false ) ;
139130 }
140- else if ( asset . IsState ( Asset . States . LockedLocal ) )
131+ else if ( Asset . IsState ( assetState , Asset . States . LockedLocal ) )
141132 {
142133 DrawOverlay ( Asset . States . LockedLocal , topLeft ) ;
143134
144135 // Meta overlay if meta file is not locked or unmodified.
145136 if ( metaAsset != null && ( localMetaState & Asset . States . LockedLocal ) == 0 && ! isMetaUnmodifiedState )
146137 DrawMetaOverlay ( topLeft , false ) ;
147138 }
148- else if ( asset . IsState ( Asset . States . CheckedOutLocal ) )
139+ else if ( Asset . IsState ( assetState , Asset . States . CheckedOutLocal ) )
149140 {
150141 DrawOverlay ( Asset . States . CheckedOutLocal , topLeft ) ;
151142
152143 // Meta overlay if meta file is not checked out or unmodified.
153144 if ( metaAsset != null && ( localMetaState & Asset . States . CheckedOutLocal ) == 0 && ! isMetaUnmodifiedState )
154145 DrawMetaOverlay ( topLeft , false ) ;
155146 }
156- else if ( asset . IsState ( Asset . States . Local ) && ! ( asset . IsState ( Asset . States . OutOfSync ) || asset . IsState ( Asset . States . Synced ) ) )
147+ else if ( Asset . IsState ( assetState , Asset . States . Local ) && ! ( Asset . IsState ( assetState , Asset . States . OutOfSync ) || Asset . IsState ( assetState , Asset . States . Synced ) ) )
157148 {
158149 DrawOverlay ( Asset . States . Local , bottomLeft ) ;
159150
160151 // Meta overlay if meta file is not local only or unmodified.
161- if ( metaAsset != null && ( metaAsset . IsUnderVersionControl || ! metaAsset . IsState ( Asset . States . Local ) ) )
152+ if ( metaAsset != null && ( metaAsset . IsUnderVersionControl || ! Asset . IsState ( metaState , Asset . States . Local ) ) )
162153 DrawMetaOverlay ( bottomLeft , false ) ;
163154 }
164155 // From here the local asset have no state that need a local state overlay. We use the meta state if there is one instead.
165- else if ( metaAsset != null && metaAsset . IsState ( Asset . States . AddedLocal ) )
156+ else if ( metaAsset != null && Asset . IsState ( metaState , Asset . States . AddedLocal ) )
166157 {
167158 DrawOverlay ( Asset . States . AddedLocal , topLeft ) ;
168159 if ( keepFolderMetaParans )
169160 DrawMetaOverlay ( topLeft , false ) ;
170161 }
171- else if ( metaAsset != null && metaAsset . IsState ( Asset . States . DeletedLocal ) )
162+ else if ( metaAsset != null && Asset . IsState ( metaState , Asset . States . DeletedLocal ) )
172163 {
173164 DrawOverlay ( Asset . States . DeletedLocal , topLeft ) ;
174165 if ( keepFolderMetaParans )
175166 DrawMetaOverlay ( topLeft , false ) ;
176167 }
177- else if ( metaAsset != null && metaAsset . IsState ( Asset . States . LockedLocal ) )
168+ else if ( metaAsset != null && Asset . IsState ( metaState , Asset . States . LockedLocal ) )
178169 {
179170 DrawOverlay ( Asset . States . LockedLocal , topLeft ) ;
180171 if ( keepFolderMetaParans )
181172 DrawMetaOverlay ( topLeft , false ) ;
182173 }
183- else if ( metaAsset != null && metaAsset . IsState ( Asset . States . CheckedOutLocal ) )
174+ else if ( metaAsset != null && Asset . IsState ( metaState , Asset . States . CheckedOutLocal ) )
184175 {
185176 DrawOverlay ( Asset . States . CheckedOutLocal , topLeft ) ;
186177 if ( keepFolderMetaParans )
187178 DrawMetaOverlay ( topLeft , false ) ;
188179 }
189- else if ( metaAsset != null && metaAsset . IsState ( Asset . States . Local ) && ! ( metaAsset . IsState ( Asset . States . OutOfSync ) || metaAsset . IsState ( Asset . States . Synced ) )
190- && ! ( asset . IsState ( Asset . States . Conflicted ) || ( metaAsset != null && metaAsset . IsState ( Asset . States . Conflicted ) ) ) )
180+ else if ( metaAsset != null && Asset . IsState ( metaState , Asset . States . Local ) && ! ( Asset . IsState ( metaState , Asset . States . OutOfSync ) || Asset . IsState ( metaState , Asset . States . Synced ) )
181+ && ! ( Asset . IsState ( assetState , Asset . States . Conflicted ) || ( metaAsset != null && Asset . IsState ( metaState , Asset . States . Conflicted ) ) ) )
191182 {
192183 DrawOverlay ( Asset . States . Local , bottomLeft ) ;
193184 if ( keepFolderMetaParans )
194185 DrawMetaOverlay ( bottomLeft , false ) ;
195186 }
196187
197- if ( asset . IsState ( Asset . States . Conflicted ) || ( metaAsset != null && metaAsset . IsState ( Asset . States . Conflicted ) ) )
188+ if ( Asset . IsState ( assetState , Asset . States . Conflicted ) || ( metaAsset != null && Asset . IsState ( metaState , Asset . States . Conflicted ) ) )
198189 DrawOverlay ( Asset . States . Conflicted , bottomLeft ) ;
199190
200- if ( ( asset . isFolder == false && asset . IsState ( Asset . States . Updating ) ) || ( metaAsset != null && metaAsset . IsState ( Asset . States . Updating ) ) )
191+ if ( ( asset . isFolder == false && Asset . IsState ( assetState , Asset . States . Updating ) ) || ( metaAsset != null && Asset . IsState ( metaState , Asset . States . Updating ) ) )
201192 DrawOverlay ( Asset . States . Updating , bottomRight ) ;
202193
203194 // Remote state overlay
204- if ( asset . IsState ( Asset . States . AddedRemote ) )
195+ if ( Asset . IsState ( assetState , Asset . States . AddedRemote ) )
205196 {
206197 DrawOverlay ( Asset . States . AddedRemote , topRight ) ;
207198
208199 // Meta overlay if meta file is not added or already in repo and unmodified.
209200 if ( metaAsset != null && ( remoteMetaState & Asset . States . AddedRemote ) == 0 )
210201 DrawMetaOverlay ( topRight , true ) ;
211202 }
212- else if ( asset . IsState ( Asset . States . DeletedRemote ) )
203+ else if ( Asset . IsState ( assetState , Asset . States . DeletedRemote ) )
213204 {
214205 DrawOverlay ( Asset . States . DeletedRemote , topRight ) ;
215206
216207 // Meta overlay if meta file is not deleted but asset is and meta file is still present or missing (ie. should have been there)
217208 if ( metaAsset != null && ( remoteMetaState & Asset . States . DeletedRemote ) == 0 )
218209 DrawMetaOverlay ( topRight , true ) ;
219210 }
220- else if ( asset . IsState ( Asset . States . LockedRemote ) )
211+ else if ( Asset . IsState ( assetState , Asset . States . LockedRemote ) )
221212 {
222213 DrawOverlay ( Asset . States . LockedRemote , topRight ) ;
223214
224215 // Meta overlay if meta file is not locked or unmodified.
225216 if ( metaAsset != null && ( remoteMetaState & Asset . States . LockedRemote ) == 0 )
226217 DrawMetaOverlay ( topRight , true ) ;
227218 }
228- else if ( asset . IsState ( Asset . States . CheckedOutRemote ) )
219+ else if ( Asset . IsState ( assetState , Asset . States . CheckedOutRemote ) )
229220 {
230221 DrawOverlay ( Asset . States . CheckedOutRemote , topRight ) ;
231222
@@ -234,32 +225,32 @@ static void DrawOverlays(Asset asset, Asset metaAsset, Rect itemRect)
234225 DrawMetaOverlay ( topRight , true ) ;
235226 }
236227 // From here the remote asset have no state that need a remote state overlay. We use the meta state if there is one instead.
237- else if ( metaAsset != null && metaAsset . IsState ( Asset . States . AddedRemote ) )
228+ else if ( metaAsset != null && Asset . IsState ( metaState , Asset . States . AddedRemote ) )
238229 {
239230 DrawOverlay ( Asset . States . AddedRemote , topRight ) ;
240231 if ( keepFolderMetaParans )
241232 DrawMetaOverlay ( topRight , true ) ;
242233 }
243- else if ( metaAsset != null && metaAsset . IsState ( Asset . States . DeletedRemote ) )
234+ else if ( metaAsset != null && Asset . IsState ( metaState , Asset . States . DeletedRemote ) )
244235 {
245236 DrawOverlay ( Asset . States . DeletedRemote , topRight ) ;
246237 if ( keepFolderMetaParans )
247238 DrawMetaOverlay ( topRight , true ) ;
248239 }
249- else if ( metaAsset != null && metaAsset . IsState ( Asset . States . LockedRemote ) )
240+ else if ( metaAsset != null && Asset . IsState ( metaState , Asset . States . LockedRemote ) )
250241 {
251242 DrawOverlay ( Asset . States . LockedRemote , topRight ) ;
252243 if ( keepFolderMetaParans )
253244 DrawMetaOverlay ( topRight , true ) ;
254245 }
255- else if ( metaAsset != null && metaAsset . IsState ( Asset . States . CheckedOutRemote ) )
246+ else if ( metaAsset != null && Asset . IsState ( metaState , Asset . States . CheckedOutRemote ) )
256247 {
257248 DrawOverlay ( Asset . States . CheckedOutRemote , topRight ) ;
258249 if ( keepFolderMetaParans )
259250 DrawMetaOverlay ( topRight , true ) ;
260251 }
261252
262- if ( asset . IsState ( Asset . States . OutOfSync ) || ( metaAsset != null && metaAsset . IsState ( Asset . States . OutOfSync ) ) )
253+ if ( Asset . IsState ( assetState , Asset . States . OutOfSync ) || ( metaAsset != null && Asset . IsState ( metaState , Asset . States . OutOfSync ) ) )
263254 DrawOverlay ( Asset . States . OutOfSync , syncRect ) ;
264255 }
265256
0 commit comments