From 508d8352b2454a1d6c31a12206fce950f9e9eadf Mon Sep 17 00:00:00 2001
From: SepComet <202308010230@stu.csust.edu.cn>
Date: Sun, 14 Jun 2026 17:38:01 +0800
Subject: [PATCH] =?UTF-8?q?=E5=90=88=E5=B9=B6=20MenuForm=20=E7=9A=84=206?=
=?UTF-8?q?=20=E4=B8=AA=E6=8C=89=E9=92=AE=E4=BA=8B=E4=BB=B6=E4=B8=BA=20Men?=
=?UTF-8?q?uButtonClickEventArgs?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
新增 MenuButtonId 枚举区分按钮来源,MenuController 改为单订阅 + switch 分派,删除 Menu{StartGame,File,Guide,Setting,Quit,About}EventArgs 及其 meta。MenuForm 的 OnXxxButtonClick 方法名按 prefab 反射绑定保留,仅薄薄转发到统一事件。
---
.../Base/Definition/Enum/MenuButtonId.cs | 17 +++
.../Enum/MenuButtonId.cs.meta} | 8 +-
.../MenuForm/MenuAboutButtonClickEventArgs.cs | 21 ----
.../MenuForm/MenuButtonClickEventArgs.cs | 31 +++++
....meta => MenuButtonClickEventArgs.cs.meta} | 8 +-
.../MenuForm/MenuFileButtonClickEventArgs.cs | 21 ----
.../MenuFileButtonClickEventArgs.cs.meta | 11 --
.../MenuForm/MenuGuideButtonClickEventArgs.cs | 21 ----
.../MenuForm/MenuQuitButtonClickEventArgs.cs | 21 ----
.../MenuQuitButtonClickEventArgs.cs.meta | 11 --
.../MenuSettingButtonClickEventArgs.cs | 21 ----
.../MenuSettingButtonClickEventArgs.cs.meta | 11 --
.../Event/MenuForm/MenuStartGameEventArgs.cs | 21 ----
.../MenuForm/MenuStartGameEventArgs.cs.meta | 11 --
.../Presentation/Menu/Menu/MenuController.cs | 107 ++++++------------
.../Presentation/Menu/Menu/MenuForm.cs | 20 +++-
16 files changed, 105 insertions(+), 256 deletions(-)
create mode 100644 Assets/GameMain/Scripts/Base/Definition/Enum/MenuButtonId.cs
rename Assets/GameMain/Scripts/Base/{Event/MenuForm/MenuGuideButtonClickEventArgs.cs.meta => Definition/Enum/MenuButtonId.cs.meta} (60%)
delete mode 100644 Assets/GameMain/Scripts/Base/Event/MenuForm/MenuAboutButtonClickEventArgs.cs
create mode 100644 Assets/GameMain/Scripts/Base/Event/MenuForm/MenuButtonClickEventArgs.cs
rename Assets/GameMain/Scripts/Base/Event/MenuForm/{MenuAboutButtonClickEventArgs.cs.meta => MenuButtonClickEventArgs.cs.meta} (60%)
delete mode 100644 Assets/GameMain/Scripts/Base/Event/MenuForm/MenuFileButtonClickEventArgs.cs
delete mode 100644 Assets/GameMain/Scripts/Base/Event/MenuForm/MenuFileButtonClickEventArgs.cs.meta
delete mode 100644 Assets/GameMain/Scripts/Base/Event/MenuForm/MenuGuideButtonClickEventArgs.cs
delete mode 100644 Assets/GameMain/Scripts/Base/Event/MenuForm/MenuQuitButtonClickEventArgs.cs
delete mode 100644 Assets/GameMain/Scripts/Base/Event/MenuForm/MenuQuitButtonClickEventArgs.cs.meta
delete mode 100644 Assets/GameMain/Scripts/Base/Event/MenuForm/MenuSettingButtonClickEventArgs.cs
delete mode 100644 Assets/GameMain/Scripts/Base/Event/MenuForm/MenuSettingButtonClickEventArgs.cs.meta
delete mode 100644 Assets/GameMain/Scripts/Base/Event/MenuForm/MenuStartGameEventArgs.cs
delete mode 100644 Assets/GameMain/Scripts/Base/Event/MenuForm/MenuStartGameEventArgs.cs.meta
diff --git a/Assets/GameMain/Scripts/Base/Definition/Enum/MenuButtonId.cs b/Assets/GameMain/Scripts/Base/Definition/Enum/MenuButtonId.cs
new file mode 100644
index 0000000..8424f67
--- /dev/null
+++ b/Assets/GameMain/Scripts/Base/Definition/Enum/MenuButtonId.cs
@@ -0,0 +1,17 @@
+namespace SepCore.Definition
+{
+ ///
+ /// 主菜单按钮标识,用于区分 MenuForm 上各按钮触发的统一点击事件。
+ ///
+ public enum MenuButtonId : byte
+ {
+ Undefined = 0,
+
+ StartGame = 1,
+ File = 2,
+ Guide = 3,
+ Setting = 4,
+ Quit = 5,
+ About = 6,
+ }
+}
diff --git a/Assets/GameMain/Scripts/Base/Event/MenuForm/MenuGuideButtonClickEventArgs.cs.meta b/Assets/GameMain/Scripts/Base/Definition/Enum/MenuButtonId.cs.meta
similarity index 60%
rename from Assets/GameMain/Scripts/Base/Event/MenuForm/MenuGuideButtonClickEventArgs.cs.meta
rename to Assets/GameMain/Scripts/Base/Definition/Enum/MenuButtonId.cs.meta
index 5c6d94c..9cee87b 100644
--- a/Assets/GameMain/Scripts/Base/Event/MenuForm/MenuGuideButtonClickEventArgs.cs.meta
+++ b/Assets/GameMain/Scripts/Base/Definition/Enum/MenuButtonId.cs.meta
@@ -1,11 +1,11 @@
fileFormatVersion: 2
-guid: b39712010e7085f428e9ef9727bda043
+guid: db87a0c5c5774d2885e249bef29a5a24
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
- userData:
- assetBundleName:
- assetBundleVariant:
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/GameMain/Scripts/Base/Event/MenuForm/MenuAboutButtonClickEventArgs.cs b/Assets/GameMain/Scripts/Base/Event/MenuForm/MenuAboutButtonClickEventArgs.cs
deleted file mode 100644
index 3f5416c..0000000
--- a/Assets/GameMain/Scripts/Base/Event/MenuForm/MenuAboutButtonClickEventArgs.cs
+++ /dev/null
@@ -1,21 +0,0 @@
-using GameFramework;
-using GameFramework.Event;
-
-namespace SepCore.Event
-{
- public class MenuAboutButtonClickEventArgs : GameEventArgs
- {
- public static readonly int EventId = typeof(MenuAboutButtonClickEventArgs).GetHashCode();
-
- public override int Id => EventId;
-
- public static MenuAboutButtonClickEventArgs Create()
- {
- return ReferencePool.Acquire();
- }
-
- public override void Clear()
- {
- }
- }
-}
diff --git a/Assets/GameMain/Scripts/Base/Event/MenuForm/MenuButtonClickEventArgs.cs b/Assets/GameMain/Scripts/Base/Event/MenuForm/MenuButtonClickEventArgs.cs
new file mode 100644
index 0000000..17d14ea
--- /dev/null
+++ b/Assets/GameMain/Scripts/Base/Event/MenuForm/MenuButtonClickEventArgs.cs
@@ -0,0 +1,31 @@
+using GameFramework;
+using GameFramework.Event;
+using SepCore.Definition;
+
+namespace SepCore.Event
+{
+ ///
+ /// MenuForm 上所有按钮共用的点击事件,按 区分来源。
+ /// 每新增按钮请同步扩展 ,并在 MenuController 中处理。
+ ///
+ public class MenuButtonClickEventArgs : GameEventArgs
+ {
+ public static readonly int EventId = typeof(MenuButtonClickEventArgs).GetHashCode();
+
+ public override int Id => EventId;
+
+ public MenuButtonId Button { get; private set; }
+
+ public static MenuButtonClickEventArgs Create(MenuButtonId button)
+ {
+ var args = ReferencePool.Acquire();
+ args.Button = button;
+ return args;
+ }
+
+ public override void Clear()
+ {
+ Button = MenuButtonId.Undefined;
+ }
+ }
+}
diff --git a/Assets/GameMain/Scripts/Base/Event/MenuForm/MenuAboutButtonClickEventArgs.cs.meta b/Assets/GameMain/Scripts/Base/Event/MenuForm/MenuButtonClickEventArgs.cs.meta
similarity index 60%
rename from Assets/GameMain/Scripts/Base/Event/MenuForm/MenuAboutButtonClickEventArgs.cs.meta
rename to Assets/GameMain/Scripts/Base/Event/MenuForm/MenuButtonClickEventArgs.cs.meta
index 898a9f2..39d9bea 100644
--- a/Assets/GameMain/Scripts/Base/Event/MenuForm/MenuAboutButtonClickEventArgs.cs.meta
+++ b/Assets/GameMain/Scripts/Base/Event/MenuForm/MenuButtonClickEventArgs.cs.meta
@@ -1,11 +1,11 @@
fileFormatVersion: 2
-guid: f58e49962f2db9140aaf209ca65dd2f9
+guid: dcf5c02eecc14c87afc97eb949b7c705
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
- userData:
- assetBundleName:
- assetBundleVariant:
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/GameMain/Scripts/Base/Event/MenuForm/MenuFileButtonClickEventArgs.cs b/Assets/GameMain/Scripts/Base/Event/MenuForm/MenuFileButtonClickEventArgs.cs
deleted file mode 100644
index e750dfb..0000000
--- a/Assets/GameMain/Scripts/Base/Event/MenuForm/MenuFileButtonClickEventArgs.cs
+++ /dev/null
@@ -1,21 +0,0 @@
-using GameFramework;
-using GameFramework.Event;
-
-namespace SepCore.Event
-{
- public class MenuFileButtonClickEventArgs : GameEventArgs
- {
- public static readonly int EventId = typeof(MenuFileButtonClickEventArgs).GetHashCode();
-
- public override int Id => EventId;
-
- public static MenuFileButtonClickEventArgs Create()
- {
- return ReferencePool.Acquire();
- }
-
- public override void Clear()
- {
- }
- }
-}
diff --git a/Assets/GameMain/Scripts/Base/Event/MenuForm/MenuFileButtonClickEventArgs.cs.meta b/Assets/GameMain/Scripts/Base/Event/MenuForm/MenuFileButtonClickEventArgs.cs.meta
deleted file mode 100644
index cac6ac6..0000000
--- a/Assets/GameMain/Scripts/Base/Event/MenuForm/MenuFileButtonClickEventArgs.cs.meta
+++ /dev/null
@@ -1,11 +0,0 @@
-fileFormatVersion: 2
-guid: e093cff04ac83fc47ae21bd659b338ad
-MonoImporter:
- externalObjects: {}
- serializedVersion: 2
- defaultReferences: []
- executionOrder: 0
- icon: {instanceID: 0}
- userData:
- assetBundleName:
- assetBundleVariant:
diff --git a/Assets/GameMain/Scripts/Base/Event/MenuForm/MenuGuideButtonClickEventArgs.cs b/Assets/GameMain/Scripts/Base/Event/MenuForm/MenuGuideButtonClickEventArgs.cs
deleted file mode 100644
index ce13c46..0000000
--- a/Assets/GameMain/Scripts/Base/Event/MenuForm/MenuGuideButtonClickEventArgs.cs
+++ /dev/null
@@ -1,21 +0,0 @@
-using GameFramework;
-using GameFramework.Event;
-
-namespace SepCore.Event
-{
- public class MenuGuideButtonClickEventArgs : GameEventArgs
- {
- public static readonly int EventId = typeof(MenuGuideButtonClickEventArgs).GetHashCode();
-
- public override int Id => EventId;
-
- public static MenuGuideButtonClickEventArgs Create()
- {
- return ReferencePool.Acquire();
- }
-
- public override void Clear()
- {
- }
- }
-}
diff --git a/Assets/GameMain/Scripts/Base/Event/MenuForm/MenuQuitButtonClickEventArgs.cs b/Assets/GameMain/Scripts/Base/Event/MenuForm/MenuQuitButtonClickEventArgs.cs
deleted file mode 100644
index 64520ed..0000000
--- a/Assets/GameMain/Scripts/Base/Event/MenuForm/MenuQuitButtonClickEventArgs.cs
+++ /dev/null
@@ -1,21 +0,0 @@
-using GameFramework;
-using GameFramework.Event;
-
-namespace SepCore.Event
-{
- public class MenuQuitButtonClickEventArgs : GameEventArgs
- {
- public static readonly int EventId = typeof(MenuQuitButtonClickEventArgs).GetHashCode();
-
- public override int Id => EventId;
-
- public static MenuQuitButtonClickEventArgs Create()
- {
- return ReferencePool.Acquire();
- }
-
- public override void Clear()
- {
- }
- }
-}
diff --git a/Assets/GameMain/Scripts/Base/Event/MenuForm/MenuQuitButtonClickEventArgs.cs.meta b/Assets/GameMain/Scripts/Base/Event/MenuForm/MenuQuitButtonClickEventArgs.cs.meta
deleted file mode 100644
index 433bb0f..0000000
--- a/Assets/GameMain/Scripts/Base/Event/MenuForm/MenuQuitButtonClickEventArgs.cs.meta
+++ /dev/null
@@ -1,11 +0,0 @@
-fileFormatVersion: 2
-guid: c008a5618fa012842992de55bef3791c
-MonoImporter:
- externalObjects: {}
- serializedVersion: 2
- defaultReferences: []
- executionOrder: 0
- icon: {instanceID: 0}
- userData:
- assetBundleName:
- assetBundleVariant:
diff --git a/Assets/GameMain/Scripts/Base/Event/MenuForm/MenuSettingButtonClickEventArgs.cs b/Assets/GameMain/Scripts/Base/Event/MenuForm/MenuSettingButtonClickEventArgs.cs
deleted file mode 100644
index 06f1f30..0000000
--- a/Assets/GameMain/Scripts/Base/Event/MenuForm/MenuSettingButtonClickEventArgs.cs
+++ /dev/null
@@ -1,21 +0,0 @@
-using GameFramework;
-using GameFramework.Event;
-
-namespace SepCore.Event
-{
- public class MenuSettingButtonClickEventArgs : GameEventArgs
- {
- public static readonly int EventId = typeof(MenuSettingButtonClickEventArgs).GetHashCode();
-
- public override int Id => EventId;
-
- public static MenuSettingButtonClickEventArgs Create()
- {
- return ReferencePool.Acquire();
- }
-
- public override void Clear()
- {
- }
- }
-}
diff --git a/Assets/GameMain/Scripts/Base/Event/MenuForm/MenuSettingButtonClickEventArgs.cs.meta b/Assets/GameMain/Scripts/Base/Event/MenuForm/MenuSettingButtonClickEventArgs.cs.meta
deleted file mode 100644
index f1d56f4..0000000
--- a/Assets/GameMain/Scripts/Base/Event/MenuForm/MenuSettingButtonClickEventArgs.cs.meta
+++ /dev/null
@@ -1,11 +0,0 @@
-fileFormatVersion: 2
-guid: d5de2367f2bc83642bbbdc02081ae804
-MonoImporter:
- externalObjects: {}
- serializedVersion: 2
- defaultReferences: []
- executionOrder: 0
- icon: {instanceID: 0}
- userData:
- assetBundleName:
- assetBundleVariant:
diff --git a/Assets/GameMain/Scripts/Base/Event/MenuForm/MenuStartGameEventArgs.cs b/Assets/GameMain/Scripts/Base/Event/MenuForm/MenuStartGameEventArgs.cs
deleted file mode 100644
index 2ebfbc7..0000000
--- a/Assets/GameMain/Scripts/Base/Event/MenuForm/MenuStartGameEventArgs.cs
+++ /dev/null
@@ -1,21 +0,0 @@
-using GameFramework;
-using GameFramework.Event;
-
-namespace SepCore.Event
-{
- public class MenuStartGameEventArgs : GameEventArgs
- {
- public static readonly int EventId = typeof(MenuStartGameEventArgs).GetHashCode();
-
- public override int Id => EventId;
-
- public static MenuStartGameEventArgs Create()
- {
- return ReferencePool.Acquire();
- }
-
- public override void Clear()
- {
- }
- }
-}
diff --git a/Assets/GameMain/Scripts/Base/Event/MenuForm/MenuStartGameEventArgs.cs.meta b/Assets/GameMain/Scripts/Base/Event/MenuForm/MenuStartGameEventArgs.cs.meta
deleted file mode 100644
index 9b54b72..0000000
--- a/Assets/GameMain/Scripts/Base/Event/MenuForm/MenuStartGameEventArgs.cs.meta
+++ /dev/null
@@ -1,11 +0,0 @@
-fileFormatVersion: 2
-guid: 217b0022ddd4a4545a8d8e3d8158a967
-MonoImporter:
- externalObjects: {}
- serializedVersion: 2
- defaultReferences: []
- executionOrder: 0
- icon: {instanceID: 0}
- userData:
- assetBundleName:
- assetBundleVariant:
diff --git a/Assets/GameMain/Scripts/Presentation/Menu/Menu/MenuController.cs b/Assets/GameMain/Scripts/Presentation/Menu/Menu/MenuController.cs
index ce09e17..165daf6 100644
--- a/Assets/GameMain/Scripts/Presentation/Menu/Menu/MenuController.cs
+++ b/Assets/GameMain/Scripts/Presentation/Menu/Menu/MenuController.cs
@@ -17,22 +17,12 @@ namespace SepCore.UI
protected override void SubscribeCustomEvents()
{
- GameEntry.Event.Subscribe(MenuStartGameEventArgs.EventId, OnMenuStartGameButtonClick);
- GameEntry.Event.Subscribe(MenuFileButtonClickEventArgs.EventId, OnMenuFileButtonClick);
- GameEntry.Event.Subscribe(MenuGuideButtonClickEventArgs.EventId, OnMenuGuideButtonClick);
- GameEntry.Event.Subscribe(MenuSettingButtonClickEventArgs.EventId, OnMenuSettingButtonClick);
- GameEntry.Event.Subscribe(MenuQuitButtonClickEventArgs.EventId, OnMenuQuitButtonClick);
- GameEntry.Event.Subscribe(MenuAboutButtonClickEventArgs.EventId, OnMenuAboutButtonClick);
+ GameEntry.Event.Subscribe(MenuButtonClickEventArgs.EventId, OnMenuButtonClick);
}
protected override void UnsubscribeCustomEvents()
{
- GameEntry.Event.Unsubscribe(MenuStartGameEventArgs.EventId, OnMenuStartGameButtonClick);
- GameEntry.Event.Unsubscribe(MenuFileButtonClickEventArgs.EventId, OnMenuFileButtonClick);
- GameEntry.Event.Unsubscribe(MenuGuideButtonClickEventArgs.EventId, OnMenuGuideButtonClick);
- GameEntry.Event.Unsubscribe(MenuSettingButtonClickEventArgs.EventId, OnMenuSettingButtonClick);
- GameEntry.Event.Unsubscribe(MenuQuitButtonClickEventArgs.EventId, OnMenuQuitButtonClick);
- GameEntry.Event.Unsubscribe(MenuAboutButtonClickEventArgs.EventId, OnMenuAboutButtonClick);
+ GameEntry.Event.Unsubscribe(MenuButtonClickEventArgs.EventId, OnMenuButtonClick);
}
private static MenuContext BuildMenuContext()
@@ -56,73 +46,46 @@ namespace SepCore.UI
Log.Info("MenuForm doesn't need UseCase");
}
- private void OnMenuStartGameButtonClick(object sender, GameEventArgs e)
+ private void OnMenuButtonClick(object sender, GameEventArgs e)
{
- if (sender is not MenuForm || e is not MenuStartGameEventArgs)
+ if (sender is not MenuForm || e is not MenuButtonClickEventArgs args)
{
return;
}
- GameEntry.UIRouter.OpenUIAsync(UIFormType.SelectRoleForm).Forget();
- }
-
- private void OnMenuFileButtonClick(object sender, GameEventArgs e)
- {
- if (sender is not MenuForm || e is not MenuFileButtonClickEventArgs)
+ switch (args.Button)
{
- return;
+ case MenuButtonId.StartGame:
+ GameEntry.UIRouter.OpenUIAsync(UIFormType.SelectRoleForm).Forget();
+ break;
+ case MenuButtonId.Setting:
+ GameEntry.UIRouter.OpenUIAsync(UIFormType.SettingForm).Forget();
+ break;
+ case MenuButtonId.Quit:
+ GameEntry.UIRouter.OpenUIAsync(UIFormType.DialogForm, new DialogRawData
+ {
+ Mode = 2,
+ Title = GameEntry.Localization.GetString("AskQuitGame.Title"),
+ Message = GameEntry.Localization.GetString("AskQuitGame.Message"),
+ OnClickConfirm = delegate(object userData)
+ {
+ UnityGameFramework.Runtime.GameEntry.Shutdown(ShutdownType.Quit);
+ }
+ }).Forget();
+ break;
+ case MenuButtonId.File:
+ Log.Warning("Menu file button click is not implemented.");
+ break;
+ case MenuButtonId.Guide:
+ Log.Warning("Menu guide button click is not implemented.");
+ break;
+ case MenuButtonId.About:
+ Log.Warning("Menu about button click is not implemented.");
+ break;
+ default:
+ Log.Warning("MenuController received unknown MenuButtonId: {0}", args.Button);
+ break;
}
-
- Log.Warning("Menu file button click is not implemented.");
- }
-
- private void OnMenuGuideButtonClick(object sender, GameEventArgs e)
- {
- if (sender is not MenuForm || e is not MenuGuideButtonClickEventArgs)
- {
- return;
- }
-
- Log.Warning("Menu guide button click is not implemented.");
- }
-
- private void OnMenuSettingButtonClick(object sender, GameEventArgs e)
- {
- if (sender is not MenuForm || e is not MenuSettingButtonClickEventArgs)
- {
- return;
- }
-
- GameEntry.UIRouter.OpenUIAsync(UIFormType.SettingForm).Forget();
- }
-
- private void OnMenuQuitButtonClick(object sender, GameEventArgs e)
- {
- if (sender is not MenuForm || e is not MenuQuitButtonClickEventArgs)
- {
- return;
- }
-
- GameEntry.UIRouter.OpenUIAsync(UIFormType.DialogForm, new DialogRawData
- {
- Mode = 2,
- Title = GameEntry.Localization.GetString("AskQuitGame.Title"),
- Message = GameEntry.Localization.GetString("AskQuitGame.Message"),
- OnClickConfirm = delegate(object userData)
- {
- UnityGameFramework.Runtime.GameEntry.Shutdown(ShutdownType.Quit);
- }
- }).Forget();
- }
-
- private void OnMenuAboutButtonClick(object sender, GameEventArgs e)
- {
- if (sender is not MenuForm || e is not MenuAboutButtonClickEventArgs)
- {
- return;
- }
-
- Log.Warning("Menu about button click is not implemented.");
}
}
}
diff --git a/Assets/GameMain/Scripts/Presentation/Menu/Menu/MenuForm.cs b/Assets/GameMain/Scripts/Presentation/Menu/Menu/MenuForm.cs
index d73210c..842df2d 100644
--- a/Assets/GameMain/Scripts/Presentation/Menu/Menu/MenuForm.cs
+++ b/Assets/GameMain/Scripts/Presentation/Menu/Menu/MenuForm.cs
@@ -1,3 +1,4 @@
+using SepCore.Definition;
using SepCore.Event;
using UnityEngine;
using UnityEngine.EventSystems;
@@ -39,34 +40,41 @@ namespace SepCore.UI
#endregion
+ // 以下方法被 MenuForm.prefab 中的 Button.onClick 通过名称反射绑定。
+ // 重命名前需同步修改 prefab 中的 m_MethodName 引用。
public void OnStartButtonClick()
{
- GameEntry.Event.Fire(this, MenuStartGameEventArgs.Create());
+ FireButtonClick(MenuButtonId.StartGame);
}
public void OnFileButtonClick()
{
- GameEntry.Event.Fire(this, MenuFileButtonClickEventArgs.Create());
+ FireButtonClick(MenuButtonId.File);
}
public void OnGuideButtonClick()
{
- GameEntry.Event.Fire(this, MenuGuideButtonClickEventArgs.Create());
+ FireButtonClick(MenuButtonId.Guide);
}
public void OnSettingButtonClick()
{
- GameEntry.Event.Fire(this, MenuSettingButtonClickEventArgs.Create());
+ FireButtonClick(MenuButtonId.Setting);
}
public void OnQuitButtonClick()
{
- GameEntry.Event.Fire(this, MenuQuitButtonClickEventArgs.Create());
+ FireButtonClick(MenuButtonId.Quit);
}
public void OnAboutButtonClick()
{
- GameEntry.Event.Fire(this, MenuAboutButtonClickEventArgs.Create());
+ FireButtonClick(MenuButtonId.About);
+ }
+
+ private void FireButtonClick(MenuButtonId button)
+ {
+ GameEntry.Event.Fire(this, MenuButtonClickEventArgs.Create(button));
}
}
}