本文整理汇总了C#中TagData.SimilarTo方法的典型用法代码示例。如果您正苦于以下问题:C# TagData.SimilarTo方法的具体用法?C# TagData.SimilarTo怎么用?C# TagData.SimilarTo使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类TagData
的用法示例。
在下文中一共展示了TagData.SimilarTo方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: SyncTagData
public static void SyncTagData(TagData tagData)
{
if (!tagData.SimilarTo(UnityEditorInternal.InternalEditorUtility.tags))
{
var helper = new TagData.EditorHelper(tagData);
using (var tags = com.spacepuppy.Collections.TempCollection.GetList<string>(UnityEditorInternal.InternalEditorUtility.tags))
{
bool added = false;
if (!tags.Contains(SPConstants.TAG_MULTITAG))
{
tags.Add(SPConstants.TAG_MULTITAG);
added = true;
}
if (!tags.Contains(SPConstants.TAG_ROOT))
{
tags.Add(SPConstants.TAG_ROOT);
added = true;
}
if(added)
{
try
{
SerializedObject tagManager = new SerializedObject(AssetDatabase.LoadAllAssetsAtPath("ProjectSettings/TagManager.asset")[0]);
SerializedProperty tagsProp = tagManager.FindProperty("tags");
var arr = (from st in tags where !TagData.IsDefaultUnityTag(st) select st).ToArray();
tagsProp.arraySize = arr.Length;
for(int i = 0; i < arr.Length; i++)
{
tagsProp.GetArrayElementAtIndex(i).stringValue = arr[i];
}
tagManager.ApplyModifiedProperties();
}
catch
{
Debug.LogWarning("Failed to save TagManager when syncing tags.");
}
}
helper.UpdateTags(tags);
EditorUtility.SetDirty(tagData);
AssetDatabase.SaveAssets();
}
}
}