41 lines
1.7 KiB
C#
41 lines
1.7 KiB
C#
using System;
|
|
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;
|
|
public Action<CardInstance> selectEffect;
|
|
|
|
/// <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(Cmd.Do(() =>
|
|
{
|
|
customCardSelector.Setup(title, mainLogic.card, cardsToSelect, maxSelection, forceMax);
|
|
}));
|
|
commandGroup.AddCommand(new Cmd_WaitForUI(customCardSelector));
|
|
commandGroup.AddCommand(Cmd.Do(() =>
|
|
{
|
|
selectedCards = customCardSelector.selectedCards.ToList();
|
|
selectedCards.ForEach(selectEffect);
|
|
}));
|
|
}
|
|
}
|
|
} |