using Wizard;
using Wizard.Battle.View.Vfx;

public class SkillPreprocessSkillActivateCountBySimultaneousDestroyedCardList : SkillPreprocessBase
{
	private BattleCardBase _ownerCard;

	private bool _isPlayer;

	private string _cardType;

	public SkillPreprocessSkillActivateCountBySimultaneousDestroyedCardList(BattleCardBase ownerCard, string option)
	{
		_ownerCard = ownerCard;
		string[] array = option.Split(':');
		_isPlayer = array[0] == "me";
		_cardType = array[1];
	}

	public override bool IsRight(BattlePlayerReadOnlyInfoPair playerInfoPair, SkillConditionCheckerOption option, bool PreexecutionCheck = false)
	{
		if (!_ownerCard.AlreadyInactiveSkillActivateCountBySimultaneousDestroyedCardList)
		{
			if (option.DestroyedCard == null)
			{
				_ownerCard.ActiveSkillActivateCountBySimultaneousDestroyedCardList = false;
				return false;
			}
			_ownerCard.ActiveSkillActivateCountBySimultaneousDestroyedCardList = option.DestroyedCard.IsPlayer == _ownerCard.IsPlayer == _isPlayer;
			string cardType = _cardType;
			if (cardType != null && cardType == "unit")
			{
				_ownerCard.ActiveSkillActivateCountBySimultaneousDestroyedCardList &= option.DestroyedCard.IsUnit;
			}
		}
		return _ownerCard.ActiveSkillActivateCountBySimultaneousDestroyedCardList;
	}

	public override VfxBase Start(BattlePlayerPair playerPair, SkillBase skill, SkillProcessor skillProcessor, SkillOptionValue optionValue, SkillConditionCheckerOption checkerOption)
	{
		_ownerCard.InactiveSkillActivateCountBySimultaneousDestroyedCardList();
		return NullVfx.GetInstance();
	}
}
