Version: 5.3 (switch to 5.4b)
言語English
  • C#
  • JS

スクリプト言語

好きな言語を選択してください。選択した言語でスクリプトコードが表示されます。

Editor.CreateEditor

フィードバック

ありがとうございます

この度はドキュメントの品質向上のためにご意見・ご要望をお寄せいただき、誠にありがとうございます。頂いた内容をドキュメントチームで確認し、必要に応じて修正を致します。

閉じる

送信に失敗しました

なんらかのエラーが発生したため送信が出来ませんでした。しばらく経ってから<a>もう一度送信</a>してください。ドキュメントの品質向上のために時間を割いて頂き誠にありがとうございます。

閉じる

キャンセル

マニュアルに切り替える
public static function CreateEditor(targetObject: Object, editorType: Type = null): Editor;
public static Editor CreateEditor(Object targetObject, Type editorType = null);
public static function CreateEditor(targetObject: Object, editorType: Type = null): Editor;
public static Editor CreateEditor(Object targetObject, Type editorType = null);
public static function CreateEditor(targetObjects: Object[], editorType: Type = null): Editor;
public static Editor CreateEditor(Object[] targetObjects, Type editorType = null);
public static function CreateEditor(targetObjects: Object[], editorType: Type = null): Editor;
public static Editor CreateEditor(Object[] targetObjects, Type editorType = null);

パラメーター

objects すべてのオブジェクトはまったく同じ型でなければなりません。

説明

targetObject や複数の targetObjects のためのカスタムエディターを作成します。

デフォルトでは CustomEditor が一致する適切なエディターが選択されます。 もし editorType が指定された場合、その型のエディターが代わりに作成されます。 各エディターがオブジェクトのさまざまなプロパティーを表示する複数のカスタムエディターを作成した場合、これを使用します。 Objects が異なる型の場合か適切なエディターが見つからなかった場合は null を返します。

wayPoint 配列の複数の Transform を編集するには WaypointPathEditor スクリプトを検討してください。


        
using UnityEditor;
using UnityEngine;
using System.Collections;

[CustomEditor(typeof(WaypointPath))] public class WaypointPathEditor : Editor { Editor currentTransformEditor; Transform[] waypoints; Transform selectedTransform; string[] optionsList; int index = 0; WaypointPath myWayPath; void GetWaypoints() { myWayPath = target as WaypointPath;

if (myWayPath.wayPointArray != null) { optionsList = new string[myWayPath.wayPointArray.Length];

for (int i = 0; i < optionsList.Length; i++) { optionsList[i] = myWayPath.wayPointArray[i].name; } } } public override void OnInspectorGUI () { GetWaypoints (); DrawDefaultInspector (); EditorGUILayout.Space (); EditorGUI.BeginChangeCheck (); if (optionsList != null) index = EditorGUILayout.Popup ("Select Waypoint", index, optionsList); if (EditorGUI.EndChangeCheck ()) { Editor tmpEditor = null;

if (index < myWayPath.wayPointArray.Length) { selectedTransform = myWayPath.wayPointArray[index]; //Creates an Editor for selected Component from a Popup tmpEditor = Editor.CreateEditor(selectedTransform); } else { selectedTransform = null; } // If there isn't a Transform currently selected then destroy the existing editor if (currentTransformEditor != null) { DestroyImmediate (currentTransformEditor); } currentTransformEditor = tmpEditor; } //Shows the created Editor beneath CustomEditor if (currentTransformEditor != null && selectedTransform != null) { currentTransformEditor.OnInspectorGUI (); } } }

そしてスクリプトは waypath ゲームオブェクトにアタッチされてます。


        
using UnityEngine;
using System.Collections;

// Note: this is not an editor script. public class WaypointPath : MonoBehaviour { public Transform[] wayPointArray; }