加油!!!
17年9月18日
using UnityEngine;
using UnityEditor;
public class MyTest : MonoBehaviour {
/// <summary>
/// 在菜單欄下添加一個新的菜單項
/// </summary>
[MenuItem ("Orange/orange_chenTest")]
static void myTest() {
GameObject go = new GameObject("Orange");
Debug.Log("Hello World!");
}
/ <summary>
/ 在GameObject下添加一個新的菜單項TestGameObject
/ </summary>
[MenuItem("GameObject/TestGameObject")]
static void TestGameObject()
{
GameObject go = new GameObject("TestGameObject");
}
/ <summary>
/ 我們選中的時候才可以啟用它,false是不選中也可以啟用,可以添加優先級1為相同類型的最優先
/ </summary>
/ <returns></returns>
[MenuItem("GameObject/TestGameObject", true)]//MenuItem("GameObject/TestGameObject", false, 1)
static bool ValidateTestGameObject()
{
return Selection.activeTransform != null;
}
/// <summary>
/// 建立Test Command選中建立子集Test Command不選中正常建立Test Command
/// </summary>
/// <param name="m_nCommand"></param>
[MenuItem ("GameObject/TestOrange/TestCommand", false, 1)]
static void CreateTestCommand(MenuCommand m_nCommand)
{
m_nCommand.context = Selection.activeObject;
GameObject go = new GameObject("Test Command");
GameObjectUtility.SetParentAndAlign(go, (GameObject)m_nCommand.context);
Undo.RegisterCreatedObjectUndo(go, "Create " + go.name);//撤銷 添加這句可以在編輯器裡撤銷不添加則不可以,和Destroy有些像
Selection.activeObject = go;
}
}