继续重构调整(UI)
- 引入 UniTask 和异步版本的 UIModule - 调整 Runtime/UIBase 和 Presentation 下的脚本命名空间到 SepCore.UI - 将原来的 5 层 UI 迁移到异步实现 - 规范各层的 UI 脚本命名
This commit is contained in:
@@ -90,7 +90,7 @@ namespace Procedure
|
||||
switch (sceneId)
|
||||
{
|
||||
case SceneId.Menu:
|
||||
ChangeState<ProcedureStartMenu>(procedureOwner);
|
||||
ChangeState<ProcedureMenu>(procedureOwner);
|
||||
break;
|
||||
case SceneId.StressTest:
|
||||
ChangeState<ProcedureStressTest>(procedureOwner);
|
||||
|
||||
@@ -1,8 +1,9 @@
|
||||
using SepCore.Definition;
|
||||
using Cysharp.Threading.Tasks;
|
||||
using SepCore.Definition;
|
||||
using GameFramework;
|
||||
using GameFramework.Event;
|
||||
using GameFramework.Resource;
|
||||
using UI;
|
||||
using SepCore.UI;
|
||||
using UnityEngine;
|
||||
using UnityGameFramework.Runtime;
|
||||
using ProcedureOwner = GameFramework.Fsm.IFsm<GameFramework.Procedure.IProcedureManager>;
|
||||
@@ -104,7 +105,7 @@ namespace Procedure
|
||||
if (m_VersionInfo.ForceUpdateGame)
|
||||
{
|
||||
// 需要强制更新游戏应用
|
||||
GameEntry.UIRouter.OpenUI(UIFormType.DialogForm, new DialogFormRawData
|
||||
GameEntry.UIRouter.OpenUIAsync(UIFormType.DialogForm, new DialogRawData
|
||||
{
|
||||
Mode = 2,
|
||||
Title = GameEntry.Localization.GetString("ForceUpdate.Title"),
|
||||
@@ -113,7 +114,7 @@ namespace Procedure
|
||||
OnClickConfirm = GotoUpdateApp,
|
||||
CancelText = GameEntry.Localization.GetString("ForceUpdate.QuitButton"),
|
||||
OnClickCancel = delegate (object userData) { UnityGameFramework.Runtime.GameEntry.Shutdown(ShutdownType.Quit); },
|
||||
});
|
||||
}).Forget();
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -6,7 +6,7 @@ using SepCore.DataTable;
|
||||
using SepCore.Definition;
|
||||
using CustomUtility;
|
||||
using TMPro;
|
||||
using UI;
|
||||
using SepCore.UI;
|
||||
using UnityEngine;
|
||||
using UnityGameFramework.Runtime;
|
||||
using ProcedureOwner = GameFramework.Fsm.IFsm<GameFramework.Procedure.IProcedureManager>;
|
||||
|
||||
@@ -1,8 +1,9 @@
|
||||
using GameFramework;
|
||||
using GameFramework.Event;
|
||||
using System.Collections.Generic;
|
||||
using Cysharp.Threading.Tasks;
|
||||
using SepCore.Definition;
|
||||
using UI;
|
||||
using SepCore.UI;
|
||||
using UnityEngine;
|
||||
using UnityGameFramework.Runtime;
|
||||
using ProcedureOwner = GameFramework.Fsm.IFsm<GameFramework.Procedure.IProcedureManager>;
|
||||
@@ -40,7 +41,7 @@ namespace Procedure
|
||||
|
||||
if (Application.internetReachability == NetworkReachability.ReachableViaCarrierDataNetwork)
|
||||
{
|
||||
GameEntry.UIRouter.OpenUI(UIFormType.DialogForm, new DialogFormRawData
|
||||
GameEntry.UIRouter.OpenUIAsync(UIFormType.DialogForm, new DialogRawData
|
||||
{
|
||||
Mode = 2,
|
||||
Title = GameEntry.Localization.GetString("UpdateResourceViaCarrierDataNetwork.Title"),
|
||||
@@ -52,7 +53,7 @@ namespace Procedure
|
||||
{
|
||||
UnityGameFramework.Runtime.GameEntry.Shutdown(ShutdownType.Quit);
|
||||
},
|
||||
});
|
||||
}).Forget();
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -1,7 +1,8 @@
|
||||
using Cysharp.Threading.Tasks;
|
||||
using SepCore.Definition;
|
||||
using GameFramework.Fsm;
|
||||
using GameFramework.Procedure;
|
||||
using UI;
|
||||
using SepCore.UI;
|
||||
using UnityGameFramework.Runtime;
|
||||
|
||||
namespace Procedure
|
||||
@@ -22,7 +23,7 @@ namespace Procedure
|
||||
|
||||
_procedureGame = master;
|
||||
|
||||
var useCase = new LevelUpFormUseCase(_procedureGame.Player, () => IsCompleted = true);
|
||||
var useCase = new LevelUpUseCase(_procedureGame.Player, () => IsCompleted = true);
|
||||
GameEntry.UIRouter.BindUIUseCase(UIFormType.LevelUpForm, useCase);
|
||||
}
|
||||
|
||||
@@ -32,7 +33,7 @@ namespace Procedure
|
||||
|
||||
IsCompleted = false;
|
||||
|
||||
GameEntry.UIRouter.OpenUI(UIFormType.LevelUpForm);
|
||||
GameEntry.UIRouter.OpenUIAsync(UIFormType.LevelUpForm).Forget();
|
||||
}
|
||||
|
||||
public override void OnUpdate(IFsm<IProcedureManager> procedureOwner, float elapseSeconds,
|
||||
@@ -48,7 +49,7 @@ namespace Procedure
|
||||
{
|
||||
Log.Debug("GameStateLevelUp::OnLeave");
|
||||
|
||||
GameEntry.UIRouter.CloseUI(UIFormType.LevelUpForm);
|
||||
GameEntry.UIRouter.CloseUIAsync(UIFormType.LevelUpForm).Forget();
|
||||
}
|
||||
|
||||
public override void OnDestroy(IFsm<IProcedureManager> procedureOwner)
|
||||
|
||||
@@ -1,7 +1,8 @@
|
||||
using Cysharp.Threading.Tasks;
|
||||
using SepCore.Definition;
|
||||
using GameFramework.Fsm;
|
||||
using GameFramework.Procedure;
|
||||
using UI;
|
||||
using SepCore.UI;
|
||||
using UnityGameFramework.Runtime;
|
||||
|
||||
namespace Procedure
|
||||
@@ -21,7 +22,7 @@ namespace Procedure
|
||||
Log.Debug("GameStateShop::OnInit");
|
||||
_procedureGame = master;
|
||||
|
||||
var shopFormUseCase = new ShopFormUseCase(_procedureGame.Player, _procedureGame.CurrentLevel, () => ShopFinish = true);
|
||||
var shopFormUseCase = new ShopUseCase(_procedureGame.Player, _procedureGame.CurrentLevel, () => ShopFinish = true);
|
||||
GameEntry.UIRouter.BindUIUseCase(UIFormType.ShopForm, shopFormUseCase);
|
||||
}
|
||||
|
||||
@@ -31,7 +32,7 @@ namespace Procedure
|
||||
|
||||
ShopFinish = false;
|
||||
|
||||
GameEntry.UIRouter.OpenUI(UIFormType.ShopForm);
|
||||
GameEntry.UIRouter.OpenUIAsync(UIFormType.ShopForm).Forget();
|
||||
}
|
||||
|
||||
public override void OnUpdate(IFsm<IProcedureManager> procedureOwner, float elapseSeconds,
|
||||
@@ -47,7 +48,7 @@ namespace Procedure
|
||||
{
|
||||
Log.Debug("GameStateShop::OnLeave");
|
||||
|
||||
GameEntry.UIRouter.CloseUI(UIFormType.ShopForm);
|
||||
GameEntry.UIRouter.CloseUIAsync(UIFormType.ShopForm).Forget();
|
||||
}
|
||||
|
||||
public override void OnDestroy(IFsm<IProcedureManager> procedureOwner)
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
using System.Collections.Generic;
|
||||
using Cysharp.Threading.Tasks;
|
||||
using SepCore.DataTable;
|
||||
using SepCore.Definition;
|
||||
using Entity;
|
||||
@@ -7,7 +8,7 @@ using GameFramework.Event;
|
||||
using GameFramework.Fsm;
|
||||
using GameFramework.Procedure;
|
||||
using UnityGameFramework.Runtime;
|
||||
using UI;
|
||||
using SepCore.UI;
|
||||
|
||||
namespace Procedure
|
||||
{
|
||||
@@ -97,7 +98,7 @@ namespace Procedure
|
||||
_currentPlayerData = new PlayerData(-1, 1001);
|
||||
GameEntry.Entity.ShowPlayer(_currentPlayerData);
|
||||
|
||||
GameEntry.UIRouter.OpenUI(UIFormType.HudForm);
|
||||
GameEntry.UIRouter.OpenUIAsync(UIFormType.HudForm).Forget();
|
||||
}
|
||||
|
||||
protected override void OnUpdate(IFsm<IProcedureManager> procedureOwner, float elapseSeconds,
|
||||
@@ -129,7 +130,7 @@ namespace Procedure
|
||||
|
||||
_gameStates.Clear();
|
||||
|
||||
GameEntry.UIRouter.CloseUI(UIFormType.HudForm);
|
||||
GameEntry.UIRouter.CloseUIAsync(UIFormType.HudForm).Forget();
|
||||
|
||||
_hudForm = null;
|
||||
|
||||
|
||||
+11
-10
@@ -1,12 +1,13 @@
|
||||
using Cysharp.Threading.Tasks;
|
||||
using SepCore.Definition;
|
||||
using UI;
|
||||
using SepCore.UI;
|
||||
using UnityEngine;
|
||||
using UnityGameFramework.Runtime;
|
||||
using ProcedureOwner = GameFramework.Fsm.IFsm<GameFramework.Procedure.IProcedureManager>;
|
||||
|
||||
namespace Procedure
|
||||
{
|
||||
public class ProcedureStartMenu : ProcedureBase
|
||||
public class ProcedureMenu : ProcedureBase
|
||||
{
|
||||
public override bool UseNativeDialog => false;
|
||||
|
||||
@@ -22,15 +23,15 @@ namespace Procedure
|
||||
|
||||
#region FSM
|
||||
|
||||
protected override void OnEnter(ProcedureOwner procedureOwner)
|
||||
protected override async void OnEnter(ProcedureOwner procedureOwner)
|
||||
{
|
||||
base.OnEnter(procedureOwner);
|
||||
|
||||
GameEntry.UIRouter.OpenUI(UIFormType.StartMenuForm);
|
||||
|
||||
var useCase2 = new SelectRoleFormUseCase(roleId => StartGame(roleId));
|
||||
GameEntry.UIRouter.BindUIUseCase(UIFormType.SelectRoleForm, useCase2);
|
||||
|
||||
await GameEntry.UIRouter.OpenUIAsync(UIFormType.MenuForm);
|
||||
|
||||
var useCase = new SelectRoleUseCase(StartGame);
|
||||
GameEntry.UIRouter.BindUIUseCase(UIFormType.SelectRoleForm, useCase);
|
||||
|
||||
QualitySettings.vSyncCount = 0;
|
||||
Application.targetFrameRate = 120;
|
||||
}
|
||||
@@ -38,8 +39,8 @@ namespace Procedure
|
||||
protected override void OnLeave(ProcedureOwner procedureOwner, bool isShutdown)
|
||||
{
|
||||
base.OnLeave(procedureOwner, isShutdown);
|
||||
GameEntry.UIRouter.CloseUI(UIFormType.StartMenuForm);
|
||||
GameEntry.UIRouter.CloseUI(UIFormType.SelectRoleForm);
|
||||
GameEntry.UIRouter.CloseUIAsync(UIFormType.MenuForm).Forget();
|
||||
GameEntry.UIRouter.CloseUIAsync(UIFormType.SelectRoleForm).Forget();
|
||||
}
|
||||
|
||||
protected override void OnUpdate(ProcedureOwner procedureOwner, float elapseSeconds, float realElapseSeconds)
|
||||
@@ -5,7 +5,8 @@
|
||||
"GUID:363c5eb08ff8e6a439b85e37b8c20d96",
|
||||
"GUID:47a82ffa13c291447ab895cd0bc251cd",
|
||||
"GUID:0e1d182005e0ae647ab3fa40f5492dbb",
|
||||
"GUID:6055be8ebefd69e48b49212b09b47b2f"
|
||||
"GUID:6055be8ebefd69e48b49212b09b47b2f",
|
||||
"GUID:f51ebe6a0ceec4240a699833d6309b23"
|
||||
],
|
||||
"includePlatforms": [],
|
||||
"excludePlatforms": [],
|
||||
|
||||
Reference in New Issue
Block a user