[cb]ScriptableWizard 创建向导
2024-10-13 01:28:07
需求
方便策划一步一步的创建Actor
思路分析
Unity的Editor中提供创建向导的功能,ScriptableWizard
代码实现
创建一个WizardCreateActor继承自ScriptableWizard,放在Editor/下
using UnityEditor;
using UnityEngine;
//doc:http://docs.unity3d.com/ScriptReference/ScriptableWizard.html class WizardCreateActor : ScriptableWizard
{
public static CSimActor actor = new CSimActor();
public int NPC编号 = 1;
public int NPC等级 = 1;
public bool 是否敌人 = true;
public bool 是否障碍 = false; [MenuItem("Game/创建Actor向导")]
static void CreateWizard()
{
ScriptableWizard.DisplayWizard<WizardCreateActor>("创建Actor向导", "Create", "Apply");
//如果你不想使用辅助按钮可以忽略它:
//ScriptableWizard.DisplayWizard<WizardCreateActor>("创建Actor向导", "Create");
}
void OnWizardCreate()
{
GameObject go = new GameObject("Actor 机枪球");
go.AddComponent<CSimActor>();
actor.NPC编号 = NPC编号;
actor.是否敌人 = 是否敌人;
}
void OnWizardUpdate()
{
//errorString Allows you to set the error text of the wizard.
//helpString Allows you to set the help text of the wizard.
helpString = "初始化Actor属性";
} //当用户按下"Apply"按钮,OnWizardOtherButton被调用
void OnWizardOtherButton()
{
if (Selection.activeTransform == null || Selection.activeTransform.gameObject.GetComponent<CSimActor>() == null) return;
Selection.activeTransform.gameObject.GetComponent<CSimActor>().NPC编号 = NPC编号;
//.... 根据向导的值 初始化Actor属性
}
}
文档
ScriptableWizard API:http://docs.unity3d.com/ScriptReference/ScriptableWizard.html
最新文章
- getRequestDispatcher()与sendRedirect()的区别
- 页面动态table动态合并table
- aviator使用手册在线
- C#(winform)为button添加背景图片
- Android Programming: Pushing the Limits -- Chapter 7:Android IPC -- ApiWrapper
- asp.net项目中通过Web.config配置文件及文件夹的访问权限!
- <;转Tanky Woo>; 字典树
- CSU1661: Query Mutiple
- gsoap 超时(timeout)设置
- 为什么不要在android或者ios上直连mysql或者sqlserver之类的数据库(跳大神)
- elasticsearch快照和恢复
- web前端——10个妨碍进步的学习方式
- Go Global 之怎样在全球Azure上使用Azure Free Account
- canvas画一个时钟
- 树莓派+花生棒+leanote搭建自己的笔记服务器
- EF获取多个数据集以及MySQL分页数据查询优化
- javascript事件委托的原理与实现
- h265文件分析(纯c解析代码)
- Java线程安全与锁优化
- LOJ#6279. 数列分块入门 3