Version: 2017.1
public static int LayerField (Rect position, int layer, GUIStyle style= EditorStyles.popup);
public static int LayerField (Rect position, string label, int layer, GUIStyle style= EditorStyles.popup);
public static int LayerField (Rect position, GUIContent label, int layer, GUIStyle style= EditorStyles.popup);

参数

position 屏幕上用于字段的矩形。
label (可选)字段前的标签。
layer 字段中显示的层。
style 可选 GUIStyle

返回

int 用户选择的层。

描述

创建一个层选择字段。

\ 编辑器窗口中的 Layer 字段。

// Change the Tag and/or the layer of the selected GameObjects.

class EditorGUITagLayerField extends EditorWindow {

var selectedTag : String = ""; var selectedLayer : int = 0;

@MenuItem("Examples/Tag - Layer for Selection") static function Init() { var window = GetWindow(EditorGUITagLayerField); window.position = Rect(0,0,350,70); window.Show(); }

function OnGUI() { selectedTag = EditorGUI.TagField( Rect(3,3,position.width/2 - 6, 20), "New Tag:", selectedTag); selectedLayer = EditorGUI.LayerField( Rect(position.width/2 + 3,3, position.width/2 - 6, 20), "New Layer:", selectedLayer);

if(Selection.activeGameObject) { if(GUI.Button(Rect(3,25,90,17),"Change Tags")) for(var go : GameObject in Selection.gameObjects) go.tag = selectedTag; if(GUI.Button(Rect(position.width-96, 25,90,17),"Change Layers")) for(var go : GameObject in Selection.gameObjects) go.layer = selectedLayer; } }

function OnInspectorUpdate() { Repaint(); } }