public class SkillEnvironmentalPlayCount : ISkillEnvironmentalFilter
{
	private readonly TurnPlayerInfo _turnPlayerInfo;

	public SkillEnvironmentalPlayCount(string option)
	{
		_turnPlayerInfo = ((option == string.Empty) ? null : new TurnPlayerInfo(option));
	}

	public int Filtering(IBattlePlayerReadOnlyInfo playerInfo, SkillConditionCheckerOption option)
	{
		if (_turnPlayerInfo == null)
		{
			return playerInfo.GetCurrentTurnPlayCount();
		}
		return playerInfo.GetSpecificTurnPlayCount(_turnPlayerInfo);
	}

	public int FilteringPrePlay(IBattlePlayerReadOnlyInfo playerInfo, SkillConditionCheckerOption option)
	{
		if (_turnPlayerInfo == null)
		{
			return playerInfo.GetCurrentTurnPlayCount() + 1;
		}
		return Filtering(playerInfo, option);
	}
}
