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

public class SkillPreprocessSkillActivateCountBySimultaneousSummonedCard : SkillPreprocessBase
{
	private BattleCardBase _ownerCard;

	private bool _isPlayer;

	private string _cardType;

	private string _tribeName;

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

	public override bool IsRight(BattlePlayerReadOnlyInfoPair playerInfoPair, SkillConditionCheckerOption option, bool PreexecutionCheck = false)
	{
		if (!_ownerCard.AlreadyInactiveSkillActivateCountBySimultaneousSummonedCard)
		{
			if (option.SummonedCard == null)
			{
				_ownerCard.ActiveSkillActivateCountBySimultaneousSummonedCard = false;
				return false;
			}
			_ownerCard.ActiveSkillActivateCountBySimultaneousSummonedCard = option.SummonedCard.IsPlayer == _ownerCard.IsPlayer == _isPlayer;
			string cardType = _cardType;
			if (cardType != null && cardType == "unit")
			{
				_ownerCard.ActiveSkillActivateCountBySimultaneousSummonedCard &= option.SummonedCard.IsUnit;
			}
			_ownerCard.ActiveSkillActivateCountBySimultaneousSummonedCard &= option.SummonedCard.IsTribe(SkillFilterCreator.ParseEnum(_tribeName, CardBasePrm.TribeType.MAX));
		}
		return _ownerCard.ActiveSkillActivateCountBySimultaneousSummonedCard;
	}

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