using UnityEditor;
public class Editor_EnemyChange : ScriptableWizard {
[MenuItem(
"EditTools/创建对话框",
false,
15)]
public static void CreateWizard()
{
}
void OnWizardCreate()
{
GameObject[] enemyGOS = Selection.gameObjects;
foreach (GameObject item
in enemyGOS)
{
CompleteProject.EnemyHealth eH = item.GetComponent<CompleteProject.EnemyHealth>();
Undo.RecordObject(eH,
"modify health and speed");
eH.startingHealth += modifyEnemyHP;
eH.sinkSpeed += modifyEnemySpeed;
}
Debug.LogError(
" 可以选 中 prefab 让 enemyHealth 自增值 click 右下角");
}
public int modifyEnemyHP =
10;
public int modifyEnemySpeed =
10;
void OnWizardUpdate()
{
Debug.LogError(
"1.当前调用时会输出 2.当修改值时会输出");
if (Selection.gameObjects.Length >
0)
{
helpString =
"helpString是ScriptableWizard的定义内容-->选中了"+Selection.gameObjects.Length+
"个物体";
errorString =
"";
}
else
{
helpString =
"";
errorString =
"errorString是ScriptableWizard的定义内容-->当前并没有选中物体";
}
}
void OnSelectionChange()
{
OnWizardUpdate();
}
[MenuItem(
"EditTools/创建对话框2,含有OtherButton",
false,
15)]
public static void CreateWizardOtherButton()
{
ScriptableWizard.DisplayWizard<Editor_EnemyChange>(
"修改",
"create",
"otherButton");
}
void OnWizardOtherButton()
{
Debug.LogError(
"OtherButtons--点击了,并不会自主关闭窗口");
ShowNotification(
new GUIContent(Selection.gameObjects.Length +
"个被修改了"));
}
}