Files
Continentis/Assets/Scripts/MainGame/Card/LogicComponents/CardLogicComponent_SelectCustomCards.cs

41 lines
1.7 KiB
C#
Raw Normal View History

2026-04-08 04:48:35 -04:00
using System;
2025-10-23 00:49:44 -04:00
using System.Collections.Generic;
using System.Linq;
using Continentis.MainGame.Commands;
using Continentis.MainGame.UI;
using SLSFramework.General;
using UnityEngine;
namespace Continentis.MainGame.Card
{
public class CardLogicComponent_SelectCustomCards : CardLogicComponentBase
{
public List<CardInstance> selectedCards;
2026-04-08 04:48:35 -04:00
public Action<CardInstance> selectEffect;
2025-10-23 00:49:44 -04:00
/// <summary>
/// 添加选择手牌的指令
/// </summary>
/// <param name="commandGroup">目标指令组</param>
/// <param name="cardsToSelect">可供选择的卡牌列表</param>
/// <param name="title">选择卡牌的描述性标题</param>
/// <param name="maxSelection">最大选择数量</param>
/// <param name="forceMax">是否强制选择最大数量</param>
public void AddSelectionCommands(ref CommandGroup commandGroup, List<CardInstance> cardsToSelect, string title, int maxSelection, bool forceMax = false)
{
selectedCards = new List<CardInstance>();
CustomCardSelectionInterface customCardSelector = CombatUIManager.Instance.combatMainPage.customCardSelector;
2026-04-08 04:48:35 -04:00
commandGroup.AddCommand(Cmd.Do(() =>
2025-10-23 00:49:44 -04:00
{
2025-11-15 12:17:34 -05:00
customCardSelector.Setup(title, mainLogic.card, cardsToSelect, maxSelection, forceMax);
2025-10-23 00:49:44 -04:00
}));
commandGroup.AddCommand(new Cmd_WaitForUI(customCardSelector));
2026-04-08 04:48:35 -04:00
commandGroup.AddCommand(Cmd.Do(() =>
2025-10-23 00:49:44 -04:00
{
selectedCards = customCardSelector.selectedCards.ToList();
2026-04-08 04:48:35 -04:00
selectedCards.ForEach(selectEffect);
2025-10-23 00:49:44 -04:00
}));
}
}
}