更新UI组件命名规范:变量名与组件名保持一致

This commit is contained in:
Shiliang
2026-05-22 13:36:49 +08:00
parent 0616dd5cc7
commit 75687450ad
3 changed files with 70 additions and 19 deletions

View File

@@ -7,15 +7,20 @@
```csharp ```csharp
public class LoginWindow : AbsHFUIWindow public class LoginWindow : AbsHFUIWindow
{ {
[SerializeField] private SFUI_Button btn_Login; private SFUI_Button BtnLogin;
protected override void OnRunAwake() protected override void OnRunAwake()
{ {
base.OnRunAwake(); base.OnRunAwake();
// OnRunAwake: 初始化组件引用和按钮事件绑定(仅调用一次) // OnRunAwake: 初始化组件引用和按钮事件绑定(仅调用一次)
btn_Login.OnAddClickListener += OnBtnLogin; BtnLogin = FindUICtrlByName<SFUI_Button>("BtnLogin");
btn_Login.OnAddEnterListener += OnBtnEnter;
btn_Login.OnAddExitListener += OnBtnExit; if (BtnLogin != null)
{
BtnLogin.OnAddClickListener += OnBtnLoginClick;
BtnLogin.OnAddEnterListener += OnBtnLoginEnter;
BtnLogin.OnAddExitListener += OnBtnLoginExit;
}
} }
protected override void OnOpen(Action _onOpenComplete) protected override void OnOpen(Action _onOpenComplete)
@@ -28,13 +33,21 @@ public class LoginWindow : AbsHFUIWindow
protected override void OnClose(Action _onCloseComplete) protected override void OnClose(Action _onCloseComplete)
{ {
base.OnClose(_onCloseComplete); // OnClose: 移除事件监听(每次关闭调用)
// OnClose: 移除CTC事件监听每次关闭调用 if (BtnLogin != null)
HFFunCatalogue.Event.CTCEvent.RemoveListener<HFEvent_CTC_LoginResult>( {
enHFCTCEvent.LoginResult, OnLoginResult); BtnLogin.OnAddClickListener -= OnBtnLoginClick;
BtnLogin.OnAddEnterListener -= OnBtnLoginEnter;
BtnLogin.OnAddExitListener -= OnBtnLoginExit;
} }
void OnBtnLogin(GameObject go) HFFunCatalogue.Event.CTCEvent.RemoveListener<HFEvent_CTC_LoginResult>(
enHFCTCEvent.LoginResult, OnLoginResult);
base.OnClose(_onCloseComplete);
}
void OnBtnLoginClick(GameObject go)
{ {
// 处理登录逻辑 - 使用框架标准调用方式 // 处理登录逻辑 - 使用框架标准调用方式
HFEvent_CTC_Login evt = HFFunCatalogue.New<HFEvent_CTC_Login>(); HFEvent_CTC_Login evt = HFFunCatalogue.New<HFEvent_CTC_Login>();
@@ -43,12 +56,12 @@ public class LoginWindow : AbsHFUIWindow
evt.Dispatch(); evt.Dispatch();
} }
void OnBtnEnter(GameObject go) void OnBtnLoginEnter(GameObject go)
{ {
// 鼠标进入 // 鼠标进入
} }
void OnBtnExit(GameObject go) void OnBtnLoginExit(GameObject go)
{ {
// 鼠标退出 // 鼠标退出
} }

View File

@@ -9,10 +9,26 @@
[HFUIWindowLayer(enHFUICanvasLayer.UIWindow, enHFUIWindowLayer.Dynamic, isIgnoreCloseByESC = false)] [HFUIWindowLayer(enHFUICanvasLayer.UIWindow, enHFUIWindowLayer.Dynamic, isIgnoreCloseByESC = false)]
public class LoginWindow : AbsHFUIWindow public class LoginWindow : AbsHFUIWindow
{ {
// ========== UI组件 ==========
private SFUI_Button BtnLogin;
private SFUI_InputField InputName;
private SFUI_InputField InputPassword;
private SFUI_TextMeshProUGUI TxtTitle;
protected override void OnRunAwake() protected override void OnRunAwake()
{ {
base.OnRunAwake(); base.OnRunAwake();
// 初始化UI组件引用 // 初始化UI组件引用(变量名与组件名保持一致)
BtnLogin = FindUICtrlByName<SFUI_Button>("BtnLogin");
InputName = FindUICtrlByName<SFUI_InputField>("InputName");
InputPassword = FindUICtrlByName<SFUI_InputField>("InputPassword");
TxtTitle = FindUICtrlByName<SFUI_TextMeshProUGUI>("TxtTitle");
// 绑定按钮事件
if (BtnLogin != null)
{
BtnLogin.OnAddClickListener += OnBtnLoginClick;
}
} }
protected override void OnOpen(Action _onOpenComplete) protected override void OnOpen(Action _onOpenComplete)
@@ -23,8 +39,17 @@ public class LoginWindow : AbsHFUIWindow
protected override void OnClose(Action _onCloseComplete) protected override void OnClose(Action _onCloseComplete)
{ {
base.OnClose(_onCloseComplete);
// 取消事件监听 // 取消事件监听
if (BtnLogin != null)
{
BtnLogin.OnAddClickListener -= OnBtnLoginClick;
}
base.OnClose(_onCloseComplete);
}
private void OnBtnLoginClick(GameObject go)
{
// 处理登录逻辑
} }
} }
``` ```

View File

@@ -107,14 +107,27 @@ void OnScrollValueChanged(Vector2 value)
### 2.1 命名规则 ### 2.1 命名规则
| 组件类型 | 前缀 | 示例 | 变量名直接使用组件名,保持与 Unity 编辑器中组件名称一致。
|---------|------|-----|
| SFUI_Button | btn | btn_Login | | 组件类型 | 示例 |
| SFUI_Text | txt | txt_Title | |---------|-----|
| SFUI_Image | img | img_Avatar | | SFUI_Button | BtnLogin |
| SFUI_Toggle | toggle | toggle_Select | | SFUI_Text | TxtTitle |
| SFUI_ScrollRect | scroll | scroll_Content | | SFUI_Image | ImgAvatar |
| SFUI_InputField | input | input_Name | | SFUI_Toggle | ToggleSelect |
| SFUI_ScrollRect | ScrollContent |
| SFUI_InputField | InputName |
**命名约定**
- 变量名 = 组件名(保持完全一致)
- 首字母大写,采用 PascalCase 命名风格
**使用示例**
```csharp
BtnLogin = FindUICtrlByName<SFUI_Button>("BtnLogin");
TxtTitle = FindUICtrlByName<SFUI_Text>("TxtTitle");
ImgAvatar = FindUICtrlByName<SFUI_Image>("ImgAvatar");
```
### 2.2 层级结构 ### 2.2 层级结构