36 lines
1.0 KiB
C#
36 lines
1.0 KiB
C#
using UnityEngine;
|
|
|
|
namespace DA_Assets.FCU
|
|
{
|
|
public class LayerTools
|
|
{
|
|
public static int AddLayer(string layerName)
|
|
{
|
|
int layer = LayerMask.NameToLayer(layerName);
|
|
|
|
if (layer != -1)
|
|
return layer;
|
|
|
|
#if UNITY_EDITOR
|
|
UnityEditor.SerializedObject tagManager = new UnityEditor.SerializedObject(UnityEditor.AssetDatabase.LoadAllAssetsAtPath("ProjectSettings/TagManager.asset")[0]);
|
|
UnityEditor.SerializedProperty layersProp = tagManager.FindProperty("layers");
|
|
|
|
for (int i = 8; i < layersProp.arraySize; i++)
|
|
{
|
|
UnityEditor.SerializedProperty sp = layersProp.GetArrayElementAtIndex(i);
|
|
if (sp != null && sp.stringValue == "")
|
|
{
|
|
sp.stringValue = layerName;
|
|
tagManager.ApplyModifiedProperties();
|
|
break;
|
|
}
|
|
}
|
|
#endif
|
|
|
|
layer = LayerMask.NameToLayer(layerName);
|
|
|
|
return layer;
|
|
}
|
|
}
|
|
}
|