Skip to content

GameSystemUI.ShopSystemUI ​

ScopeData 仅客户端 ​

命名空间 GameSystemUI.ShopSystemUI

csharp
public class ScopeData : IGameClass

商城系统 GameData 注册

构造函数 ​

ScopeData 仅客户端 ​

csharp
public ScopeData()

方法 ​

OnRegisterGameClass 仅客户端 ​

csharp
public static void OnRegisterGameClass()

注册 GameClass,订阅 GameData 初始化事件

OnGameDataInitialization 仅客户端 ​

csharp
public static void OnGameDataInitialization()

初始化 GameData

字段 ​

ShortCardTemplate 仅客户端 ​

csharp
public static readonly GameLink<GameDataControl, GameDataControlShopItemCard> ShortCardTemplate

短卡片模板 (320x320)

MediumCardTemplate 仅客户端 ​

csharp
public static readonly GameLink<GameDataControl, GameDataControlShopItemCard> MediumCardTemplate

中卡片模板 (321x399)

LongCardTemplate 仅客户端 ​

csharp
public static readonly GameLink<GameDataControl, GameDataControlShopItemCard> LongCardTemplate

长卡片模板 (321x462)

PortraitCardTemplate 仅客户端 ​

csharp
public static readonly GameLink<GameDataControl, GameDataControlShopItemCard> PortraitCardTemplate

竖屏卡片模板

ShortCardRowTemplate 仅客户端 ​

csharp
public static readonly GameLink<GameDataControl, GameDataControlShopItemRow> ShortCardRowTemplate

商品行模板(每行3个短卡片)

MediumCardRowTemplate 仅客户端 ​

csharp
public static readonly GameLink<GameDataControl, GameDataControlShopItemRow> MediumCardRowTemplate

商品行模板(每行3个中卡片)

PortraitCardRowTemplate 仅客户端 ​

csharp
public static readonly GameLink<GameDataControl, GameDataControlShopItemRow> PortraitCardRowTemplate

商品行模板(竖屏双列)

PortraitSingleCardRowTemplate 仅客户端 ​

csharp
public static readonly GameLink<GameDataControl, GameDataControlShopItemRow> PortraitSingleCardRowTemplate

商品行模板(竖屏单列)

TransactionRecordRowTemplate 仅客户端 ​

csharp
public static readonly GameLink<GameDataControl, GameDataControlTransactionRecordRow> TransactionRecordRowTemplate

交易记录行模板

PeriodClaimDialog 仅客户端 ​

命名空间 GameSystemUI.ShopSystemUI.Advanced

csharp
public class PeriodClaimDialog : Panel, IGameClass

周期商品领取弹窗 - 显示可领取的周期奖励

构造函数 ​

PeriodClaimDialog 仅客户端 ​

csharp
public PeriodClaimDialog()

属性 ​

AutoShowEnabled 仅客户端 ​

csharp
public static bool AutoShowEnabled { get; set; }

是否在周期商品可领取时自动显示默认领取弹窗。 关闭后,外部可订阅 ShopSystemClient.OnPeriodClaimAvailable 并展示自定义 UI。

方法 ​

OnRegisterGameClass 仅客户端 ​

csharp
public static void OnRegisterGameClass()

注册 GameClass

ShowDialog 仅客户端 ​

csharp
public static void ShowDialog(string itemId, ShopItemState itemState)

显示周期商品领取弹窗(每次创建新实例)

Show 仅客户端 ​

csharp
public void Show(string itemId, ShopItemState itemState)

显示周期商品领取弹窗

  • itemId — 商品ID
  • itemState — 商品状态(包含剩余时间等信息)

Close 仅客户端 ​

csharp
public void Close()

关闭并销毁弹窗

ApplyLandscapeLayout 仅客户端 ​

csharp
public void ApplyLandscapeLayout()

ApplyPortraitLayout 仅客户端 ​

csharp
public void ApplyPortraitLayout()

DisposeManaged 仅客户端 ​

csharp
protected override void DisposeManaged()

事件 ​

OnClose 仅客户端 ​

csharp
public event EventHandler? OnClose

关闭事件

OnClaimSuccess 仅客户端 ​

csharp
public event EventHandler<string>? OnClaimSuccess

领取成功事件

PurchaseConfirmDialog 仅客户端 ​

命名空间 GameSystemUI.ShopSystemUI.Advanced

csharp
public class PurchaseConfirmDialog : Panel

购买确认弹窗 - 基于 Figma CSS 设计参数重构

构造函数 ​

PurchaseConfirmDialog 仅客户端 ​

csharp
public PurchaseConfirmDialog()

属性 ​

Title 仅客户端 ​

csharp
public string Title { get; set; }

标题文本

方法 ​

ShowPurchase 仅客户端 ​

csharp
public void ShowPurchase(IGameLink<GameDataShopItem> itemLink, int maxQuantity = 1, string? currencyIconPath = null)

显示购买确认弹窗

  • itemLink — 商品配置链接
  • maxQuantity — 最大可购买数量(已综合限购、余额、单次上限计算)
  • currencyIconPath — 货币图标路径

Show 仅客户端 ​

csharp
public void Show()

显示弹窗

Hide 仅客户端 ​

csharp
public void Hide()

隐藏弹窗

ApplyLandscapeLayout 仅客户端 ​

csharp
public void ApplyLandscapeLayout()

ApplyPortraitLayout 仅客户端 ​

csharp
public void ApplyPortraitLayout()

DisposeManaged 仅客户端 ​

csharp
protected override void DisposeManaged()

事件 ​

OnConfirm 仅客户端 ​

csharp
public event EventHandler<(string? ItemId, int Quantity)>? OnConfirm

确认购买事件

OnClose 仅客户端 ​

csharp
public event EventHandler? OnClose

关闭事件

PurchaseResultDialog 仅客户端 ​

命名空间 GameSystemUI.ShopSystemUI.Advanced

csharp
public class PurchaseResultDialog : Panel

购买结果弹窗 - 显示购买获得的物品列表 基于 结果弹窗.css 设计参数,背景与购买弹窗一致

构造函数 ​

PurchaseResultDialog 仅客户端 ​

csharp
public PurchaseResultDialog()

属性 ​

Title 仅客户端 ​

csharp
public string Title { get; set; }

标题文本

方法 ​

ShowSuccess 仅客户端 ​

csharp
public static void ShowSuccess(IEnumerable<PurchaseResultItem> items, string? title = null, string? hint = null)

显示购买成功结果(每次创建新实例)

ShowSuccess 仅客户端 ​

csharp
public static void ShowSuccess(IEnumerable<IGameLink<GameDataResourceAmount>> rewards, string? title = null, string? hint = null)

显示购买成功结果(从资源配置)

ShowError 仅客户端 ​

csharp
public static void ShowError(string message, string? title = null)

显示购买失败提示(每次创建新实例)

ShowResult 仅客户端 ​

csharp
public void ShowResult(IEnumerable<PurchaseResultItem> items, string? title = null, string? hint = null)

显示购买结果

  • items — 获得的物品列表
  • title — 标题(默认"购买成功")
  • hint — 提示文本(默认"已获得奖励")

ShowFailed 仅客户端 ​

csharp
public void ShowFailed(string message, string? title = null)

显示购买失败提示

  • message — 错误信息
  • title — 标题(默认"购买失败")

ShowResult 仅客户端 ​

csharp
public void ShowResult(IEnumerable<IGameLink<GameDataResourceAmount>> rewards, string? title = null, string? hint = null)

从资源配置显示购买结果

Show 仅客户端 ​

csharp
public void Show()

显示弹窗

Hide 仅客户端 ​

csharp
public void Hide()

隐藏并销毁弹窗

ApplyLandscapeLayout 仅客户端 ​

csharp
public void ApplyLandscapeLayout()

ApplyPortraitLayout 仅客户端 ​

csharp
public void ApplyPortraitLayout()

DisposeManaged 仅客户端 ​

csharp
protected override void DisposeManaged()

事件 ​

OnClose 仅客户端 ​

csharp
public event EventHandler? OnClose

关闭事件

PurchaseResultItem 仅客户端 ​

命名空间 GameSystemUI.ShopSystemUI.Advanced

csharp
public class PurchaseResultItem

购买结果物品数据

构造函数 ​

PurchaseResultItem 仅客户端 ​

csharp
public PurchaseResultItem()

属性 ​

IconPath 仅客户端 ​

csharp
public Icon IconPath { get; set; }

物品图标路径

Amount 仅客户端 ​

csharp
public int Amount { get; set; }

物品数量

Name 仅客户端 ​

csharp
public string? Name { get; set; }

物品名称(可选,用于提示)

QualityBackground 仅客户端 ​

csharp
public Icon? QualityBackground { get; set; }

品质背景图片(可选)

QualityBorder 仅客户端 ​

csharp
public Icon? QualityBorder { get; set; }

品质边框图片(可选)

QuantitySelector 仅客户端 ​

命名空间 GameSystemUI.ShopSystemUI.Advanced

csharp
public class QuantitySelector : Panel

数量选择器组件 - 包含加减按钮和滑动条

构造函数 ​

QuantitySelector 仅客户端 ​

csharp
public QuantitySelector()

属性 ​

Quantity 仅客户端 ​

csharp
public int Quantity { get; set; }

当前数量

MinQuantity 仅客户端 ​

csharp
public int MinQuantity { get; set; }

最小数量

MaxQuantity 仅客户端 ​

csharp
public int MaxQuantity { get; set; }

最大数量

TrackWidth 仅客户端 ​

csharp
public int TrackWidth { get; set; }

滑动条轨道宽度

方法 ​

ApplyLandscapeLayout 仅客户端 ​

csharp
public void ApplyLandscapeLayout()

ApplyPortraitLayout 仅客户端 ​

csharp
public void ApplyPortraitLayout()

事件 ​

OnQuantityChanged 仅客户端 ​

csharp
public event EventHandler<int>? OnQuantityChanged

数量变化事件

RechargeConfirmDialog 仅客户端 ​

命名空间 GameSystemUI.ShopSystemUI.Advanced

csharp
public class RechargeConfirmDialog : Panel

充值确认弹窗 — 余额不足时提示用户是否发起平台支付

构造函数 ​

RechargeConfirmDialog 仅客户端 ​

csharp
public RechargeConfirmDialog()

方法 ​

Show 仅客户端 ​

csharp
public void Show(long currentBalance, int requiredAmount, string? currencyIcon, Action onConfirm)

显示充值确认弹窗

  • currentBalance — 当前余额
  • requiredAmount — 需要的数量
  • currencyIcon — 货币图标路径
  • onConfirm — 用户确认后执行的回调

Hide 仅客户端 ​

csharp
public void Hide()

ApplyLandscapeLayout 仅客户端 ​

csharp
public void ApplyLandscapeLayout()

ApplyPortraitLayout 仅客户端 ​

csharp
public void ApplyPortraitLayout()

DisposeManaged 仅客户端 ​

csharp
protected override void DisposeManaged()

ResourceDisplayItem 仅客户端 ​

命名空间 GameSystemUI.ShopSystemUI.Advanced

csharp
public class ResourceDisplayItem

货币显示项 - 用于可配置的货币栏

构造函数 ​

ResourceDisplayItem 仅客户端 ​

csharp
public ResourceDisplayItem(IGameLink<GameDataLobbyResource> link)

构造函数

  • link — 资源配置链接

ResourceDisplayItem 仅客户端 ​

csharp
public ResourceDisplayItem(string resourceId, string iconPath, bool showRechargeButton = false)

属性 ​

csharp
public IGameLink<GameDataLobbyResource>? Link { get; }

绑定的资源配置链接

ResourceId 仅客户端 ​

csharp
public string ResourceId { get; }

资源ID(GameDataLobbyResource的ID,用于同步查找)

Panel 仅客户端 ​

csharp
public Panel Panel { get; }

面板容器

Amount 仅客户端 ​

csharp
public long Amount { get; }

当前数量

方法 ​

SetAmount 仅客户端 ​

csharp
public void SetAmount(long value)

设置数量

SetText 仅客户端 ​

csharp
public void SetText(string text)

SetIcon 仅客户端 ​

csharp
public void SetIcon(string iconPath)

设置图标

ApplyLandscapeLayout 仅客户端 ​

csharp
public void ApplyLandscapeLayout()

ApplyPortraitLayout 仅客户端 ​

csharp
public void ApplyPortraitLayout()

事件 ​

OnRechargeClicked 仅客户端 ​

csharp
public event EventHandler? OnRechargeClicked

"+"按钮点击事件(仅 IsPremiumCurrency 资源会触发)

ShopCategory 仅客户端 ​

命名空间 GameSystemUI.ShopSystemUI.Advanced

csharp
public class ShopCategory

商城分类项

构造函数 ​

ShopCategory 仅客户端 ​

csharp
public ShopCategory()

属性 ​

Id 仅客户端 ​

csharp
public string Id { get; set; }

分类ID

Name 仅客户端 ​

csharp
public string Name { get; set; }

分类名称

IconPath 仅客户端 ​

csharp
public Icon? IconPath { get; set; }

分类图标路径(可选)

ShopCategoryButton 仅客户端 ​

命名空间 GameSystemUI.ShopSystemUI.Advanced

csharp
public class ShopCategoryButton : Panel

分类按钮组件

构造函数 ​

ShopCategoryButton 仅客户端 ​

csharp
public ShopCategoryButton(ShopCategory category)

属性 ​

CategoryId 仅客户端 ​

csharp
public string CategoryId { get; }

分类ID

IsSelected 仅客户端 ​

csharp
public bool IsSelected { get; set; }

是否选中

事件 ​

OnClicked 仅客户端 ​

csharp
public event EventHandler<string>? OnClicked

点击事件

ShopCategoryMenu 仅客户端 ​

命名空间 GameSystemUI.ShopSystemUI.Advanced

csharp
public class ShopCategoryMenu : Panel

商城分类菜单组件 - 左侧分类导航

构造函数 ​

ShopCategoryMenu 仅客户端 ​

csharp
public ShopCategoryMenu()

属性 ​

SelectedCategoryId 仅客户端 ​

csharp
public string? SelectedCategoryId { get; set; }

当前选中的分类ID

方法 ​

SetCategories 仅客户端 ​

csharp
public void SetCategories(IEnumerable<ShopCategory> categories)

设置分类列表

  • categories — 分类列表

ApplyLandscapeLayout 仅客户端 ​

csharp
public void ApplyLandscapeLayout()

ApplyPortraitLayout 仅客户端 ​

csharp
public void ApplyPortraitLayout()

DisposeManaged 仅客户端 ​

csharp
protected override void DisposeManaged()

事件 ​

OnCategoryChanged 仅客户端 ​

csharp
public event EventHandler<string>? OnCategoryChanged

分类变更事件

ShopItemCard 仅客户端 ​

命名空间 GameSystemUI.ShopSystemUI.Advanced

csharp
public class ShopItemCard : Panel, IGameObject<GameDataControlShopItemCard>, IGameObject

商品卡片组件 - 用于商城商品列表中的单个商品展示 支持 GameData 配置,可用于 VirtualizingPanel 模板

构造函数 ​

ShopItemCard 仅客户端 ​

csharp
public ShopItemCard()

默认构造函数

ShopItemCard 仅客户端 ​

csharp
public ShopItemCard(IGameLink<GameDataControlShopItemCard> link)

GameData 构造函数

属性 ​

ItemId 仅客户端 ​

csharp
public string? ItemId { get; set; }

商品ID

ItemName 仅客户端 ​

csharp
public string ItemName { get; set; }

商品名称

Price 仅客户端 ​

csharp
public int Price { get; set; }

商品价格

ItemImage 仅客户端 ​

csharp
public Icon ItemImage { get; set; }

商品图片路径

TagText 仅客户端 ​

csharp
public string? TagText { get; set; }

标签文本(如限购数"3/5")

EndTime 仅客户端 ​

csharp
public long EndTime { get; set; }

有效期结束时间(UTC时间戳,秒) 0=不显示,>0=显示剩余时间

Status 仅客户端 ​

csharp
public ShopItemStatus Status { get; set; }

商品状态

LockHint 仅客户端 ​

csharp
public string? LockHint { get; set; }

锁定提示文本

IsSelected 仅客户端 ​

csharp
public bool IsSelected { get; set; }

是否选中

CurrencyIconImage 仅客户端 ​

csharp
public Icon CurrencyIconImage { get; set; }

货币图标路径

IsAffordable 仅客户端 ​

csharp
public bool IsAffordable { get; set; }

是否买得起(影响价格颜色)

csharp
public new IGameLink<GameDataControlShopItemCard> Link { get; }

Cache 仅客户端 ​

csharp
public new GameDataControlShopItemCard Cache { get; }

方法 ​

ApplyLandscapeLayout 仅客户端 ​

csharp
public void ApplyLandscapeLayout()

ApplyPortraitLayout 仅客户端 ​

csharp
public void ApplyPortraitLayout()

DisposeManaged 仅客户端 ​

csharp
protected override void DisposeManaged()

事件 ​

OnItemClicked 仅客户端 ​

csharp
public event EventHandler<string?>? OnItemClicked

商品点击事件

字段 ​

DefaultTemplate 仅客户端 ​

csharp
public new static readonly IGameLink<GameDataControlShopItemCard> DefaultTemplate

默认模板(短卡片)

ShopItemDetail 仅客户端 ​

命名空间 GameSystemUI.ShopSystemUI.Advanced

csharp
public class ShopItemDetail : Panel

商品详情面板组件 - 右侧商品详情展示

构造函数 ​

ShopItemDetail 仅客户端 ​

csharp
public ShopItemDetail()

属性 ​

CurrentItemId 仅客户端 ​

csharp
public string? CurrentItemId { get; }

当前显示的商品ID

ItemImage 仅客户端 ​

csharp
public Icon ItemImage { get; set; }

商品图片

ItemName 仅客户端 ​

csharp
public string ItemName { get; set; }

商品名称

Description 仅客户端 ​

csharp
public string Description { get; set; }

商品描述

Price 仅客户端 ​

csharp
public int Price { get; set; }

商品价格

LimitText 仅客户端 ​

csharp
public string? LimitText { get; set; }

限购信息(如"1/3")

CurrencyIconImage 仅客户端 ​

csharp
public Icon CurrencyIconImage { get; set; }

货币图标路径

CanBuy 仅客户端 ​

csharp
public bool CanBuy { get; set; }

购买按钮是否可用

IsAffordable 仅客户端 ​

csharp
public bool IsAffordable { get; set; }

是否买得起(影响价格颜色)

方法 ​

ApplyLandscapeLayout 仅客户端 ​

csharp
public void ApplyLandscapeLayout()

ApplyPortraitLayout 仅客户端 ​

csharp
public void ApplyPortraitLayout()

ApplyPortraitDialogLayout 仅客户端 ​

csharp
public void ApplyPortraitDialogLayout()

ShowItem 仅客户端 ​

csharp
public void ShowItem(IGameLink<GameDataShopItem>? itemLink)

显示商品详情

  • itemLink — 商品配置链接

Clear 仅客户端 ​

csharp
public void Clear()

清空详情显示(保持面板可见以占位)

DisposeManaged 仅客户端 ​

csharp
protected override void DisposeManaged()

事件 ​

OnBuyClicked 仅客户端 ​

csharp
public event EventHandler<string?>? OnBuyClicked

购买按钮点击事件

OnClaimClicked 仅客户端 ​

csharp
public event EventHandler<string?>? OnClaimClicked

领取按钮点击事件

ShopItemDetailDialog 仅客户端 ​

命名空间 GameSystemUI.ShopSystemUI.Advanced

csharp
public class ShopItemDetailDialog : Panel

竖屏商品详情弹窗

构造函数 ​

ShopItemDetailDialog 仅客户端 ​

csharp
public ShopItemDetailDialog()

方法 ​

ShowItem 仅客户端 ​

csharp
public void ShowItem(IGameLink<GameDataShopItem>? itemLink)

RefreshItem 仅客户端 ​

csharp
public void RefreshItem(IGameLink<GameDataShopItem>? itemLink)

HideDialog 仅客户端 ​

csharp
public void HideDialog()

事件 ​

OnBuyClicked 仅客户端 ​

csharp
public event EventHandler<string?>? OnBuyClicked

OnClaimClicked 仅客户端 ​

csharp
public event EventHandler<string?>? OnClaimClicked

OnClose 仅客户端 ​

csharp
public event EventHandler? OnClose

ShopItemRow 仅客户端 ​

命名空间 GameSystemUI.ShopSystemUI.Advanced

csharp
public class ShopItemRow : Panel

商品卡片行容器 - 水平排列固定数量的卡片 用于 VirtualizingPanel 的行模板

构造函数 ​

ShopItemRow 仅客户端 ​

csharp
public ShopItemRow()

默认构造函数(每行3个,使用短卡片模板)

ShopItemRow 仅客户端 ​

csharp
public ShopItemRow(IGameLink<GameDataControlPanel> link, int cardsPerRow, IGameLink<GameDataControl>? cardTemplate)

构造函数(带 GameLink,用于 VirtualizingPanel)

  • link — GameLink 模板
  • cardsPerRow — 每行卡片数量
  • cardTemplate — 卡片模板

属性 ​

Items 仅客户端 ​

csharp
public List<IGameLink<GameDataShopItem>> Items { set; }

设置行内的商品数据

方法 ​

UpdateSelection 仅客户端 ​

csharp
public void UpdateSelection(string? selectedItemId)

更新选中状态

DisposeManaged 仅客户端 ​

csharp
protected override void DisposeManaged()

事件 ​

OnCardClicked 仅客户端 ​

csharp
public event EventHandler<string?>? OnCardClicked

卡片点击事件

字段 ​

DefaultTemplate 仅客户端 ​

csharp
public new static readonly IGameLink<GameDataControlShopItemRow> DefaultTemplate

默认模板(参考 SlotListUI 实现)

ShopWindow 仅客户端 ​

命名空间 GameSystemUI.ShopSystemUI.Advanced

csharp
public class ShopWindow : Panel

商城主窗口组件

构造函数 ​

ShopWindow 仅客户端 ​

csharp
public ShopWindow()

属性 ​

CurrentCategoryId 仅客户端 ​

csharp
public string? CurrentCategoryId { get; }

当前选中的分类ID

csharp
public IGameLink<GameDataShop>? ShopLink { get; set; }

绑定的商店配置链接(设置时自动初始化货币栏、分类、商品)

Shop 仅客户端 ​

csharp
public GameDataShop? Shop { get; }

当前绑定的商店配置数据

AutoShowPeriodClaimResult 仅客户端 ​

csharp
public bool AutoShowPeriodClaimResult { get; set; }

是否在周期商品领取成功或失败后自动显示默认结果弹窗。 关闭后,外部可通过 ShopSystemClient.OnPeriodClaimSuccess 和 ShopSystemClient.OnPeriodClaimFailed 展示自定义结果 UI。

方法 ​

SetResourceConfigs 仅客户端 ​

csharp
public void SetResourceConfigs(IEnumerable<IGameLink<GameDataLobbyResource>> configs)

设置货币栏配置(从 GameData 配置初始化)

  • configs — 资源栏配置列表

SetResourceAmount 仅客户端 ​

csharp
public void SetResourceAmount(string resourceId, long amount)

设置资源数量

  • resourceId — 资源ID(GameDataLobbyResource的ID)
  • amount — 数量

GetResourceAmount 仅客户端 ​

csharp
public long GetResourceAmount(string resourceId)

获取资源数量

  • resourceId — 资源ID(GameDataLobbyResource的ID)

ClearResources 仅客户端 ​

csharp
public void ClearResources()

清空所有资源显示项

Create 仅客户端 ​

csharp
public static ShopWindow Create(IGameLink<GameDataShop> shopLink, EventHandler<(string? ItemId, int Quantity)> onBuyClicked)

SelectCategory 仅客户端 ​

csharp
public void SelectCategory(string categoryId)

切换到指定分类

  • categoryId — 分类ID

SetTransactionRecords 仅客户端 ​

csharp
public void SetTransactionRecords(IEnumerable<ShopOrderRecord> records)

设置交易记录

  • records — 交易记录列表

ShowPurchaseResult 仅客户端 ​

csharp
public void ShowPurchaseResult(IEnumerable<PurchaseResultItem> items, string? title = null, string? hint = null)

显示购买结果弹窗

  • items — 获得的物品列表
  • title — 标题(默认"购买成功")
  • hint — 提示文本(默认"已获得奖励")

ShowPurchaseResult 仅客户端 ​

csharp
public void ShowPurchaseResult(string itemId, int quantity = 1)

从商品配置显示购买结果

  • itemId — 商品ID
  • quantity — 购买数量

ShowPurchaseFailed 仅客户端 ​

csharp
public void ShowPurchaseFailed(string message, string? title = null)

显示购买失败提示

  • message — 错误信息
  • title — 标题(默认"购买失败")

SelectItem 仅客户端 ​

csharp
public void SelectItem(string? itemId)

选择商品

  • itemId — 商品ID

Show 仅客户端 ​

csharp
public void Show()

显示商城窗口

Hide 仅客户端 ​

csharp
public void Hide()

隐藏商城窗口

DisposeManaged 仅客户端 ​

csharp
protected override void DisposeManaged()

事件 ​

OnBackClicked 仅客户端 ​

csharp
public event EventHandler? OnBackClicked

返回按钮点击事件

OnTransactionHistoryClicked 仅客户端 ​

csharp
public event EventHandler? OnTransactionHistoryClicked

交易记录按钮点击事件

OnCategoryChanged 仅客户端 ​

csharp
public event EventHandler<string>? OnCategoryChanged

分类变更事件

OnItemSelected 仅客户端 ​

csharp
public event EventHandler<string?>? OnItemSelected

商品选中事件

OnBuyClicked 仅客户端 ​

csharp
public event EventHandler<(string? ItemId, int Quantity)>? OnBuyClicked

购买按钮点击事件(ItemId, Quantity)

TransactionHistoryDialog 仅客户端 ​

命名空间 GameSystemUI.ShopSystemUI.Advanced

csharp
public class TransactionHistoryDialog : Panel

交易记录弹窗 - 基于 Figma 设计参数

构造函数 ​

TransactionHistoryDialog 仅客户端 ​

csharp
public TransactionHistoryDialog()

方法 ​

SetRecords 仅客户端 ​

csharp
public Task SetRecords(IEnumerable<ShopOrderRecord> records)

设置交易记录

  • records — 交易记录列表

Show 仅客户端 ​

csharp
public void Show()

显示弹窗

Hide 仅客户端 ​

csharp
public void Hide()

隐藏弹窗

ApplyLandscapeLayout 仅客户端 ​

csharp
public void ApplyLandscapeLayout()

ApplyPortraitLayout 仅客户端 ​

csharp
public void ApplyPortraitLayout()

DisposeManaged 仅客户端 ​

csharp
protected override void DisposeManaged()

事件 ​

OnClose 仅客户端 ​

csharp
public event EventHandler? OnClose

关闭事件

TransactionRecordRow 仅客户端 ​

命名空间 GameSystemUI.ShopSystemUI.Advanced

csharp
public class TransactionRecordRow : Panel

交易记录行 - 用于 VirtualizingPanel 的行模板

构造函数 ​

TransactionRecordRow 仅客户端 ​

csharp
public TransactionRecordRow()

默认构造函数

TransactionRecordRow 仅客户端 ​

csharp
public TransactionRecordRow(IGameLink<GameDataControlPanel> link)

构造函数(带 GameLink,用于 VirtualizingPanel)

方法 ​

BindRecord 仅客户端 ​

csharp
public void BindRecord(ShopOrderRecord record, int rowIndex)

绑定记录数据

字段 ​

DefaultTemplate 仅客户端 ​

csharp
public new static readonly IGameLink<GameDataControlTransactionRecordRow> DefaultTemplate

默认模板

GameDataControlShopItemCard 双端 ​

命名空间 GameSystemUI.ShopSystemUI.Data

csharp
public class GameDataControlShopItemCard : GameDataControlPanel, IGameData<GameDataControlShopItemCard>, IGameData

商品卡片控件数据配置

构造函数 ​

GameDataControlShopItemCard 双端 ​

csharp
public GameDataControlShopItemCard(GameLink<GameDataControl, GameDataControlShopItemCard> link)

GameDataControlShopItemCard 双端 ​

csharp
public GameDataControlShopItemCard(IGameLink<GameDataControlShopItemCard> link)

属性 ​

CardSize 双端 ​

csharp
public ShopItemCardSize CardSize { get; set; }

卡片尺寸类型

CardWidth 双端 ​

csharp
public int CardWidth { get; set; }

卡片宽度(优先使用,为0时根据CardSize自动设置)

CardHeight 双端 ​

csharp
public int CardHeight { get; set; }

卡片高度(优先使用,为0时根据CardSize自动设置)

CardCornerRadius 双端 ​

csharp
public int CardCornerRadius { get; set; }

卡片圆角半径

CardMargin 双端 ​

csharp
public int CardMargin { get; set; }

卡片外边距

ImageWidth 双端 ​

csharp
public int ImageWidth { get; set; }

图片区域宽度

ImageHeight 双端 ​

csharp
public int ImageHeight { get; set; }

图片区域高度

ImageCornerRadius 双端 ​

csharp
public int ImageCornerRadius { get; set; }

图片区域圆角

NameFontSize 双端 ​

csharp
public int NameFontSize { get; set; }

商品名字号

PriceFontSize 双端 ​

csharp
public int PriceFontSize { get; set; }

价格字号

CurrencyIconSize 双端 ​

csharp
public int CurrencyIconSize { get; set; }

货币图标大小

BackgroundImage 双端 ​

csharp
public Image? BackgroundImage { get; set; }

卡片背景图片

SelectionBorderImage 双端 ​

csharp
public Image? SelectionBorderImage { get; set; }

选中边框图片

csharp
public new IGameLink<GameDataControlShopItemCard> Link { get; }

方法 ​

GetActualWidth 双端 ​

csharp
public int GetActualWidth()

获取实际宽度

GetActualHeight 双端 ​

csharp
public int GetActualHeight()

获取实际高度

CreateControl 仅客户端 ​

csharp
public override Control CreateControl()

ApplyTo 仅客户端 ​

csharp
public override void ApplyTo(Control control)

GameDataControlShopItemRow 双端 ​

命名空间 GameSystemUI.ShopSystemUI.Data

csharp
public class GameDataControlShopItemRow : GameDataControlPanel, IGameData<GameDataControlShopItemRow>, IGameData

商品卡片行控件数据配置

构造函数 ​

GameDataControlShopItemRow 双端 ​

csharp
public GameDataControlShopItemRow(GameLink<GameDataControl, GameDataControlShopItemRow> link)

GameDataControlShopItemRow 双端 ​

csharp
public GameDataControlShopItemRow(IGameLink<GameDataControlShopItemRow> link)

属性 ​

CardsPerRow 双端 ​

csharp
public int CardsPerRow { get; set; }

每行卡片数量

CardTemplate 双端 ​

csharp
public IGameLink<GameDataControl>? CardTemplate { get; set; }

卡片模板

csharp
public new IGameLink<GameDataControlShopItemRow> Link { get; }

方法 ​

CreateControl 仅客户端 ​

csharp
public override Control CreateControl()

GameDataControlTransactionRecordRow 双端 ​

命名空间 GameSystemUI.ShopSystemUI.Data

csharp
public class GameDataControlTransactionRecordRow : GameDataControlPanel, IGameData<GameDataControlTransactionRecordRow>, IGameData

交易记录行控件数据配置

构造函数 ​

GameDataControlTransactionRecordRow 双端 ​

csharp
public GameDataControlTransactionRecordRow(GameLink<GameDataControl, GameDataControlTransactionRecordRow> link)

GameDataControlTransactionRecordRow 双端 ​

csharp
public GameDataControlTransactionRecordRow(IGameLink<GameDataControlTransactionRecordRow> link)

属性 ​

csharp
public new IGameLink<GameDataControlTransactionRecordRow> Link { get; }

方法 ​

CreateControl 仅客户端 ​

csharp
public override Control CreateControl()

ShopItemCardSize 双端 ​

命名空间 GameSystemUI.ShopSystemUI.Data

csharp
public enum ShopItemCardSize

商品卡片尺寸类型

枚举值 ​

  • Short — 短卡片 320x320
  • Medium — 中卡片 321x399
  • Long — 长卡片 321x462