using System.Collections.Generic; using Continentis.MainGame.Card; using Continentis.MainGame.Character; using Continentis.MainGame.Commands; using SLSFramework.General; using UnityEngine; namespace Continentis.Mods.Basic.Cards { public class FightingInspiration : CardLogicBase { protected override void SetUpLogicComponents() { AddLogicComponent().SetFilter(CardFilter); } protected override CommandBase PlayEffect(List targetList) { base.PlayEffect(targetList); CommandGroup mainGroup = new CommandGroup(ExecutionMode.Sequential); mainGroup.AddCommand(new Cmd_PlayAnimation(user.characterView, "Skill")); mainGroup.AddCommand(new Cmd_Function(() => { List filtered = LogicComponent().GetFilteredGlobalCardData(); if(filtered.TryGetRandom(out CardData cardData)) { CardInstance.GenerateCardInstance(cardData, user, "Hand").GenerateHandCardView("Hand"); } })); return mainGroup; } private bool CardFilter(CardData cardData) { return cardData.cardType == CardType.Attack && cardData.HasTag("Physics"); } } }