卡牌分组

This commit is contained in:
YiHan0621
2025-09-28 17:50:00 +08:00
parent 2ec83d9d08
commit 50931eacd7
268 changed files with 34 additions and 2638 deletions

View File

@@ -37,28 +37,34 @@ namespace TcgEngine.Client
StopReveal();
}
}
// 外部调用接口通过卡包tid打开卡包
public void OpenPack(string pack_tid)
{
PackData pack = PackData.Get(pack_tid);
if (pack != null)
{
Debug.Log($"[OpenPack] Opening {pack_tid}");
OpenPack(pack);
}
}
// 核心开包逻辑根据当前登录模式决定走API还是测试
public void OpenPack(PackData pack)
{
// 如果是正式API模式与服务器交互
if (Authenticator.Get().IsApi())
{
OpenPackApi(pack);
}
// 如果是本地测试模式(离线/单机)
if (Authenticator.Get().IsTest())
{
OpenPackTest(pack);
}
}
// ====== 测试模式开包逻辑 ======
public async void OpenPackTest(PackData pack)
{
UserData udata = Authenticator.Get().UserData;
@@ -68,6 +74,10 @@ namespace TcgEngine.Client
List<UserCardData> cards = new List<UserCardData>();
List <CardData> all_cards = CardData.GetAll(pack);
foreach (CardData item in all_cards)
{
Debug.Log("测试模式:"+item.title);
}
if (pack.type == PackType.Random)
{
for (int i = 0; i < pack.cards; i++)
@@ -108,10 +118,12 @@ namespace TcgEngine.Client
await Authenticator.Get().SaveUserData();
HandPackArea.Get().LoadPacks();
}
// ====== 正式API模式开包逻辑 ======
public async void OpenPackApi(PackData pack)
{
UserData udata = Authenticator.Get().UserData;
// 检查用户是否拥有此卡包库存
if (!udata.HasPack(pack.id))
return;
@@ -119,6 +131,7 @@ namespace TcgEngine.Client
OpenPackRequest req = new OpenPackRequest();
req.pack = pack.id;
string url = ApiClient.ServerURL + "/users/packs/open";
string json = ApiTool.ToJson(req);
@@ -133,6 +146,9 @@ namespace TcgEngine.Client
HandPackArea.Get().LoadPacks();
}
/// <summary>
/// 打开卡牌
/// </summary>
public void RevealCards(PackData pack, UserCardData[] cards)
{
UserData udata = Authenticator.Get().UserData;