= TEXTJOIN(" | ", TRUE, IF($F2 = 0, "HideFlags.None", ""), IF(BITAND($F2, 1) = 1, "HideFlags.HideInHierarchy", ""), IF(BITAND($F2, 2) = 2, "HideFlags.HideInInspector", ""), IF(BITAND($F2, 4) = 4, "HideFlags.DontSaveInEditor", ""), IF(BITAND($F2, 8) = 8, "HideFlags.NotEditable", ""), IF(BITAND($F2, 16) = 16, "HideFlags.DontSaveInBuild", ""), IF(BITAND($F2, 32) = 32, "HideFlags.DontUnloadUnusedAsset", ""), IF(BITAND($F2, 52) = 52, "HideFlags.DontSave", ""), IF(BITAND($F2, 61) = 61, "HideFlags.HideAndDontSave", ""))
Last active
June 2, 2019 12:34
-
-
Save sokuhatiku/39850076666e00df1f07ff5cd4fdfb90 to your computer and use it in GitHub Desktop.
UnityEngine.HideFlags Checker
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
using System.Collections; | |
using System.Collections.Generic; | |
using UnityEngine; | |
using UnityEditor; | |
using System.Linq; | |
using System.Text; | |
using System.IO; | |
public class HideFlagsChecker | |
{ | |
[MenuItem("Assets/HideFlagsChecker")] | |
public static void Check() | |
{ | |
var text = new StringBuilder(); | |
var strings = Selection.assetGUIDs | |
.SelectMany(CheckMany); | |
foreach (var s in strings) | |
{ | |
text.AppendLine(s); | |
} | |
Debug.Log(text.ToString()); | |
EditorGUIUtility.systemCopyBuffer = text.ToString(); | |
} | |
static IEnumerable<string> CheckMany(string guid) | |
{ | |
var path = AssetDatabase.GUIDToAssetPath(guid); | |
var assets = AssetDatabase.LoadAllAssetsAtPath(path); | |
if (assets == null || assets.Length == 0) | |
assets = new Object[] { AssetDatabase.LoadAssetAtPath<Object>(path) }; | |
foreach (var asset in assets) | |
{ | |
if (asset == null) | |
{ | |
yield return string.Concat( | |
"null", | |
", ", | |
FileNameOf(path), | |
", ", | |
"null", | |
", ", | |
"null", | |
", ", | |
"null", | |
", ", | |
"null"); | |
continue; | |
} | |
yield return string.Concat( | |
AssetDatabase.IsMainAsset(asset) ? "MAIN" : "SUB", | |
", ", | |
FileNameOf(path), | |
", ", | |
asset.name, | |
", ", | |
asset.GetType(), | |
", ", | |
PrefabUtility.GetPrefabType(asset), | |
", ", | |
(int)asset.hideFlags | |
); | |
} | |
} | |
private static string FileNameOf(string path) | |
{ | |
return Path.GetFileName(path); | |
} | |
static string Check(Object asset) | |
{ | |
if (asset == null) | |
return "-"; | |
return asset.GetType().Name + ", " + (int)asset.hideFlags + ", " + Path.GetFileName(AssetDatabase.GetAssetPath(asset)); | |
} | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment