using Wizard.Battle.View.Vfx;

public class Skill_extra_turn : SkillBase
{
	public Skill_extra_turn(SkillParameter skillPrm, string option)
		: base(skillPrm, option)
	{
	}

	public override VfxWithLoading Start(CallParameter parameter)
	{
		if (BattleManagerBase.IsForecast)
		{
			return NullVfxWithLoading.GetInstance();
		}
		int addTurn = GetAddTurn();
		ParallelVfxPlayer parallelVfxPlayer = ParallelVfxPlayer.Create();
		foreach (BattleCardBase targetCard in parameter.targetCards)
		{
			VfxBase vfx = targetCard.SkillApplyInformation.GiveExtraTurn(addTurn);
			parallelVfxPlayer.Register(vfx);
		}
		VfxWithLoadingSequential vfxWithLoadingSequential = VfxWithLoadingSequential.Create();
		vfxWithLoadingSequential.RegisterVfxWithLoading(CreateSkillEffect(base.SkillPrm.resourceMgr, parameter.targetCards));
		vfxWithLoadingSequential.RegisterToMainVfx(parallelVfxPlayer);
		return vfxWithLoadingSequential;
	}

	public int GetAddTurn()
	{
		return base.OptionValue.GetInt(SkillFilterCreator.ContentKeyword.add, 0);
	}

	public override VfxWithLoading Stop(SkillProcessor skillProcessor)
	{
		return base.Stop(skillProcessor);
	}
}
