Files
Continentis/Assets/Scripts/MainGame/Card/LogicComponents/CardLogicComponent_SelectCustomCards.cs
SoulliesOfficial 5fe665d0ce Card爆改!
2025-11-15 12:17:34 -05:00

47 lines
1.8 KiB
C#

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;
/// <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;
commandGroup.AddCommand(new Cmd_Function(() =>
{
customCardSelector.Setup(title, mainLogic.card, cardsToSelect, maxSelection, forceMax);
}));
commandGroup.AddCommand(new Cmd_WaitForUI(customCardSelector));
commandGroup.AddCommand(new Cmd_Function(() =>
{
selectedCards = customCardSelector.selectedCards.ToList();
selectedCards.ForEach(SelectEffect);
}));
}
/// <summary>
/// 卡牌被选择后的效果
/// </summary>
public void SelectEffect(CardInstance card)
{
}
}
}