接入菜单导航并改造通用按钮交互
- 将 CommonButton 改为基于 Unity Button 实现,保留原有 pointer enter、click、pointer exit 三类事件配置,同时接入 Selectable/Button 的导航、选中和提交能力。补充 CommonButton 自定义 Inspector,保留项目自定义事件与背景配置的编辑体验。 - 同步调整菜单相关 UI,将 StartMenuForm 迁移为 MenuForm,并更新 UIForm 配置、菜单 Controller/Form 以及相关 prefab 引用。更新多个 UI prefab 和通用按钮 prefab,使菜单、商店、角色选择、道具展示等界面能够使用新的按钮选中与导航交互。
This commit is contained in:
@@ -0,0 +1,39 @@
|
||||
using SepCore.UI;
|
||||
using UnityEditor;
|
||||
using UnityEditor.UI;
|
||||
|
||||
namespace SepCore.Editor
|
||||
{
|
||||
[CustomEditor(typeof(CommonButton), true)]
|
||||
[CanEditMultipleObjects]
|
||||
public class CommonButtonEditor : ButtonEditor
|
||||
{
|
||||
private SerializedProperty _background;
|
||||
private SerializedProperty _onPointerEnterAction;
|
||||
private SerializedProperty _onClickAction;
|
||||
private SerializedProperty _onPointerExitAction;
|
||||
|
||||
protected override void OnEnable()
|
||||
{
|
||||
base.OnEnable();
|
||||
_background = serializedObject.FindProperty("_background");
|
||||
_onPointerEnterAction = serializedObject.FindProperty("_onPointerEnterAction");
|
||||
_onClickAction = serializedObject.FindProperty("_onClickAction");
|
||||
_onPointerExitAction = serializedObject.FindProperty("_onPointerExitAction");
|
||||
}
|
||||
|
||||
public override void OnInspectorGUI()
|
||||
{
|
||||
base.OnInspectorGUI();
|
||||
|
||||
serializedObject.Update();
|
||||
EditorGUILayout.Space();
|
||||
EditorGUILayout.LabelField("Common Button", EditorStyles.boldLabel);
|
||||
EditorGUILayout.PropertyField(_background);
|
||||
EditorGUILayout.PropertyField(_onPointerEnterAction);
|
||||
EditorGUILayout.PropertyField(_onClickAction);
|
||||
EditorGUILayout.PropertyField(_onPointerExitAction);
|
||||
serializedObject.ApplyModifiedProperties();
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,11 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 1b99c0bea7d65bb4eb60742bf62120df
|
||||
MonoImporter:
|
||||
externalObjects: {}
|
||||
serializedVersion: 2
|
||||
defaultReferences: []
|
||||
executionOrder: 0
|
||||
icon: {instanceID: 0}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
Reference in New Issue
Block a user