private static void HierarchyWindowListElementOnGUI(int instanceID, Rect selectionRect) { var obj = EditorUtility.InstanceIDToObject(instanceID); if (obj == null) { string sceneAssetPath = SceneManagerUtilities.GetSceneAssetPathFromHandle(instanceID); if (!string.IsNullOrEmpty(sceneAssetPath)) { MultiSceneHierarchyElement(sceneAssetPath, selectionRect); } return; } if (EditorApplication.isPlayingOrWillChangePlaymode || !VCSettings.HierarchyIcons || !VCCommands.Active) { return; } var objectIndirection = ObjectUtilities.GetObjectIndirection(obj); string assetPath = obj.GetAssetPath(); bool changesStoredInPrefab = ObjectUtilities.ChangesStoredInPrefab(obj); bool guiLockForPrefabs = VCSettings.PrefabGUI; if (changesStoredInPrefab && guiLockForPrefabs) { VCUtility.RequestStatus(assetPath, VCSettings.HierarchyReflectionMode); DrawIcon(selectionRect, GetHierarchyIcon(obj), assetPath, objectIndirection); } }
private static void HierarchyWindowListElementOnGUI(int instanceID, Rect selectionRect) { if (EditorApplication.isPlayingOrWillChangePlaymode || !VCSettings.HierarchyIcons || !VCCommands.Active) { return; } var obj = EditorUtility.InstanceIDToObject(instanceID); if (obj == null) { string sceneAssetPath = SceneManagerUtilities.GetSceneAssetPathFromHandle(instanceID); if (!string.IsNullOrEmpty(sceneAssetPath)) { VCUtility.RequestStatus(sceneAssetPath, VCSettings.HierarchyReflectionMode); DrawIcon(selectionRect, IconUtils.rubyIcon, sceneAssetPath, null, -20f); } } else { var objectIndirection = ObjectUtilities.GetObjectIndirection(obj); string sceneAssetPath = ObjectUtilities.ObjectToAssetPath(obj, false); //DrawIcon(selectionRect, IconUtils.childIcon, sceneAssetPath, null, -20f); if (ObjectUtilities.ChangesStoredInPrefab(obj) && VCSettings.PrefabGUI) { string prefabPath = obj.GetAssetPath(); VCUtility.RequestStatus(prefabPath, VCSettings.HierarchyReflectionMode); DrawIcon(selectionRect, IconUtils.squareIcon, prefabPath, objectIndirection); } } }
private static void HierarchyWindowListElementOnGUI(int instanceID, Rect selectionRect) { if (EditorApplication.isPlayingOrWillChangePlaymode || !VCSettings.HierarchyIcons || !VCCommands.Active) { return; } var obj = EditorUtility.InstanceIDToObject(instanceID); if (obj == null) { string sceneAssetPath = SceneManagerUtilities.GetSceneAssetPathFromHandle(instanceID); if (!string.IsNullOrEmpty(sceneAssetPath)) { VCUtility.RequestStatus(sceneAssetPath, VCSettings.HierarchyReflectionMode); DrawIcon(selectionRect, IconUtils.rubyIcon, sceneAssetPath, null, -20f); } } else { var currentPrefabStage = PrefabStageUtility.GetCurrentPrefabStage(); if (currentPrefabStage != null) { var go = obj as GameObject; if (go) { if (PrefabStageUtility.GetCurrentPrefabStage().prefabContentsRoot == go) { DrawIcon(selectionRect, IconUtils.squareIcon, PrefabStageUtility.GetCurrentPrefabStage().prefabAssetPath, PrefabStageUtility.GetCurrentPrefabStage().prefabContentsRoot, 0f); } } } } }