引入 UISerializationRoot 和 Item

- 完成 MenuForm 和 SelectRoleForm 的迁移
This commit is contained in:
2026-09-13 22:18:29 +08:00
parent e2fdb660ab
commit 091a29db63
101 changed files with 5281 additions and 5753 deletions
@@ -126,25 +126,22 @@ namespace SepCore.UI
private void ApplyGoodsPurchased(ShopPurchaseResult result)
{
if (Context.GoodsItems != null && result.GoodsIndex >= 0 && result.GoodsIndex < Context.GoodsItems.Count)
if (result.GoodsIndex >= 0 && result.GoodsIndex < Context.GoodsItems.Count)
{
Context.GoodsItems[result.GoodsIndex] = null;
}
DisplayItemContext context = new DisplayItemContext(result.DisplayItem);
if (result.DisplayItem != null)
if (result.DisplayItem.IsWeapon)
{
if (result.DisplayItem.IsWeapon)
{
AppendDisplayItemContext(Context.WeaponListContext, context);
Context.NeedRefreshWeaponList = true;
}
else
{
AppendDisplayItemContext(Context.PropListContext, context);
Context.NeedRefreshPropList = true;
}
AppendDisplayItemContext(Context.WeaponListContext, context);
Context.NeedRefreshWeaponList = true;
}
else
{
AppendDisplayItemContext(Context.PropListContext, context);
Context.NeedRefreshPropList = true;
}
Context.NeedRefreshGoodsItems = true;
@@ -242,11 +239,8 @@ namespace SepCore.UI
return;
}
if (Context.WeaponListContext != null)
{
int currentCount = Mathf.Max(0, Context.WeaponListContext.CurrentCount - 1);
Context.WeaponListContext.CurrentCount = currentCount;
}
int currentCount = Mathf.Max(0, Context.WeaponListContext.CurrentCount - 1);
Context.WeaponListContext.CurrentCount = currentCount;
Context.NeedRefreshWeaponList = true;
RefreshUI(Form, Context);
@@ -301,7 +295,7 @@ namespace SepCore.UI
return;
}
_useCase?.Continue();
_useCase.Continue();
}
private void DisplayItemHover(object sender, GameEventArgs e)
@@ -359,7 +353,6 @@ namespace SepCore.UI
private void PlayerCoinChange(object sender, GameEventArgs e)
{
if (e is not PlayerCoinChangeEventArgs args) return;
if (Context == null) return;
Context.PlayerCoin = args.CoinCount;
Context.NeedRefreshPlayerCoin = true;