接入菜单导航并改造通用按钮交互

- 将 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:
SepComet
2026-06-16 17:09:20 +08:00
committed by basil
parent 21d0b410b6
commit 1cd3936f49
18 changed files with 1022 additions and 245 deletions
@@ -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: