更新日期:2020年3月2日。
Github源码:[点我获取源码] Gitee源码:[点我获取源码]
索引
- 全局设置简介
- 使用全局设置
- 打开全局设置面板
- 浏览设置项
- 自定义设置项
- 自定义设置面板UI
全局设置简介
全局设置面板可以快捷、统一的设置全局的一些参数,还可以自定义设置项,用来设置自己的任何游戏参数。
使用全局设置
打开全局设置面板
1.点击菜单HTFramework -> HTFramework Settings…打开全局设置面板。
2.在Build Settings界面点击右上角HTFramework Settings…按钮,打开全局设置面板。
浏览设置项
在左侧选择指定的设置项,右侧会显示该设置项的详细设置内容。
自定义设置项
点击全局设置面板左上角New Setting Item按钮,可以快捷创建自定义设置项类。
注意:自定义的设置项类文件必须放在Editor文件夹内,否则无效。
如下,我们自定义了一个设置项类型NewSettingItem:
/// <summary>
/// 新建设置项
/// </summary>
public class NewSettingItem : SettingItemBase
{
/// <summary>
/// 设置面板的显示名称
/// </summary>
public override string Name
{
get
{
return "我的游戏设置";
}
}
/// <summary>
/// 开始设置
/// </summary>
public override void OnBeginSetting()
{
base.OnBeginSetting();
}
/// <summary>
/// 设置面板UI
/// </summary>
public override void OnSettingGUI()
{
base.OnSettingGUI();
}
/// <summary>
/// 结束设置
/// </summary>
public override void OnEndSetting()
{
base.OnEndSetting();
}
/// <summary>
/// 重置所有设置
/// </summary>
public override void OnReset()
{
base.OnReset();
}
}
新建设置项类完成后,全局设置面板会立即捕获并显示该设置项:
自定义设置面板UI
重写OnSettingGUI便可以构建该设置项在设置面板的详细设置内容。
我们在NewSettingItem加入如下代码:
private GameSetting _gameSetting;
/// <summary>
/// 开始设置
/// </summary>
public override void OnBeginSetting()
{
base.OnBeginSetting();
GameObject go = GameObject.Find("Controller");
if (go) _gameSetting = go.GetComponent<GameSetting>();
}
/// <summary>
/// 设置面板UI
/// </summary>
public override void OnSettingGUI()
{
base.OnSettingGUI();
if (_gameSetting)
{
GUILayout.BeginHorizontal();
_gameSetting.Level = EditorGUILayout.IntField("关卡等级", _gameSetting.Level);
GUILayout.EndHorizontal();
GUILayout.BeginHorizontal();
_gameSetting.MonsterCoefficient = EditorGUILayout.IntField("怪物生成系数", _gameSetting.MonsterCoefficient);
GUILayout.EndHorizontal();
}
}
/// <summary>
/// 结束设置
/// </summary>
public override void OnEndSetting()
{
base.OnEndSetting();
}
/// <summary>
/// 重置所有设置
/// </summary>
public override void OnReset()
{
base.OnReset();
_gameSetting.Level = 0;
_gameSetting.MonsterCoefficient = 0;
}
这下设置面板便可以显示我们加入的这两个设置栏目了: