对 SelectRoleController 按 5 层 UI 规范的做一轮残留清理
死方法清理: -删除SelectRoleController.UpdateShowRole(RolePropertyAreaContext)。该方法没有任何调用方:hover 切换走 OnSelectRoleHoverAsync 全量重建 RawData / Context,SelectRoleForm.prefab 上的 "UpdateShowRole" 绑定指向 RoleItem.UpdateShowRole(),与 Controller 同名方法无关。 - 同步把 SelectRoleForm.UpdateShowRole(bool, RolePropertyAreaContext) 收为 private,只保留 RefreshUI 内部调用入口。 日志 tag 修正: - BindUseCase 的 Log.Error tag 由 "SelectRoleUseCase.BindUseCase()" 改回 "SelectRoleController.BindUseCase()"。 - OnSelectRoleHoverAsync 的 Log.Error tag 由 "SelectRoleController.OnMenuSelectRoleSelected()" 改为 "SelectRoleController.OnSelectRoleHoverAsync()",与方法名对齐。 handler 命名收敛(§6.3): - OnMenuSelectRoleConfirm → OnSelectRoleConfirm,订阅 / 解订阅 /方法体内日志 tag 全部同步,与 OnSelectRoleReturn / OnSelectRoleHover 命名一致。 风格统一: - OnSelectRoleReturn 的 sender 校验改为 IsCurrentFormEventSender,与 Hover / Confirm 路径保持一致;原先的窄校验 (sender is SelectRoleForm && sender == Form)语义不变,只是不再让两套写法并存。 - OpenUIAsync(SelectRoleRawData, float) 返回值由 UniTask<int?> 简化为 UniTask:全代码无人消费 serialId,基类抽象签名也是 UniTask,这条便利入口跟着对齐。
This commit is contained in:
parent
7df1d15efc
commit
7360299fcd
|
|
@ -23,14 +23,14 @@ namespace SepCore.UI
|
|||
{
|
||||
GameEntry.Event.Subscribe(SelectRoleReturnEventArgs.EventId, OnSelectRoleReturn);
|
||||
GameEntry.Event.Subscribe(SelectRoleHoverEventArgs.EventId, OnSelectRoleHover);
|
||||
GameEntry.Event.Subscribe(SelectRoleConfirmEventArgs.EventId, OnMenuSelectRoleConfirm);
|
||||
GameEntry.Event.Subscribe(SelectRoleConfirmEventArgs.EventId, OnSelectRoleConfirm);
|
||||
}
|
||||
|
||||
protected override void UnsubscribeCustomEvents()
|
||||
{
|
||||
GameEntry.Event.Unsubscribe(SelectRoleReturnEventArgs.EventId, OnSelectRoleReturn);
|
||||
GameEntry.Event.Unsubscribe(SelectRoleHoverEventArgs.EventId, OnSelectRoleHover);
|
||||
GameEntry.Event.Unsubscribe(SelectRoleConfirmEventArgs.EventId, OnMenuSelectRoleConfirm);
|
||||
GameEntry.Event.Unsubscribe(SelectRoleConfirmEventArgs.EventId, OnSelectRoleConfirm);
|
||||
}
|
||||
|
||||
private static SelectRoleContext BuildContext(SelectRoleRawData rawData)
|
||||
|
|
@ -96,37 +96,23 @@ namespace SepCore.UI
|
|||
await OpenUIAsync(initialRawData, timeout);
|
||||
}
|
||||
|
||||
public async UniTask<int?> OpenUIAsync(SelectRoleRawData rawData, float timeout = 30f)
|
||||
public async UniTask OpenUIAsync(SelectRoleRawData rawData, float timeout = 30f)
|
||||
{
|
||||
SelectRoleContext context = BuildContext(rawData);
|
||||
return await OpenFormAsync(context, timeout);
|
||||
await OpenFormAsync(context, timeout);
|
||||
}
|
||||
|
||||
public override void BindUseCase(IUIUseCase useCase)
|
||||
{
|
||||
if (useCase is not SelectRoleUseCase selectRoleUseCase)
|
||||
{
|
||||
Log.Error("SelectRoleUseCase.BindUseCase() useCase is invalid.");
|
||||
Log.Error("SelectRoleController.BindUseCase() useCase is invalid.");
|
||||
return;
|
||||
}
|
||||
|
||||
_useCase = selectRoleUseCase;
|
||||
}
|
||||
|
||||
public void UpdateShowRole(RolePropertyAreaContext rolePropertyAreaContext)
|
||||
{
|
||||
if (Context == null)
|
||||
{
|
||||
Log.Error("SelectRoleController.UpdateShowRole() Context is null.");
|
||||
return;
|
||||
}
|
||||
|
||||
Context.RolePropertyAreaContext = rolePropertyAreaContext;
|
||||
Context.ShowRoleProperty = rolePropertyAreaContext != null;
|
||||
|
||||
Form?.UpdateShowRole(Context.ShowRoleProperty, rolePropertyAreaContext);
|
||||
}
|
||||
|
||||
private bool IsCurrentFormEventSender(object sender)
|
||||
{
|
||||
if (sender is SelectRoleForm selectRoleForm)
|
||||
|
|
@ -144,12 +130,12 @@ namespace SepCore.UI
|
|||
|
||||
private void OnSelectRoleReturn(object sender, GameEventArgs e)
|
||||
{
|
||||
if (sender is not SelectRoleForm selectRoleForm || selectRoleForm != Form)
|
||||
if (e is not SelectRoleReturnEventArgs)
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
if (e is not SelectRoleReturnEventArgs)
|
||||
if (!IsCurrentFormEventSender(sender))
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
|
@ -176,7 +162,7 @@ namespace SepCore.UI
|
|||
{
|
||||
if (_useCase == null)
|
||||
{
|
||||
Log.Error("SelectRoleController.OnMenuSelectRoleSelected() useCase is null.");
|
||||
Log.Error("SelectRoleController.OnSelectRoleHoverAsync() useCase is null.");
|
||||
return;
|
||||
}
|
||||
|
||||
|
|
@ -184,7 +170,7 @@ namespace SepCore.UI
|
|||
await OpenUIAsync(rawData);
|
||||
}
|
||||
|
||||
private void OnMenuSelectRoleConfirm(object sender, GameEventArgs e)
|
||||
private void OnSelectRoleConfirm(object sender, GameEventArgs e)
|
||||
{
|
||||
if (e is not SelectRoleConfirmEventArgs)
|
||||
{
|
||||
|
|
@ -198,7 +184,7 @@ namespace SepCore.UI
|
|||
|
||||
if (_useCase == null)
|
||||
{
|
||||
Log.Error("SelectRoleController.OnMenuSelectRoleConfirm() useCase is null.");
|
||||
Log.Error("SelectRoleController.OnSelectRoleConfirm() useCase is null.");
|
||||
return;
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -76,7 +76,7 @@ namespace SepCore.UI
|
|||
|
||||
#endregion
|
||||
|
||||
public void UpdateShowRole(bool showRoleProperty, RolePropertyAreaContext propertyAreaContext)
|
||||
private void UpdateShowRole(bool showRoleProperty, RolePropertyAreaContext propertyAreaContext)
|
||||
{
|
||||
if (!showRoleProperty)
|
||||
{
|
||||
|
|
|
|||
Loading…
Reference in New Issue