using Wizard; using Wizard.Battle; using Wizard.Battle.View.Vfx; public class SkillPreprocessRandomArrayIndex : SkillPreprocessBase { private readonly IReadOnlyBattleCardInfo _card; public int[] RandomIndexes { get; private set; } public SkillPreprocessRandomArrayIndex(IReadOnlyBattleCardInfo card, int[] randomIndexes) { _card = card; RandomIndexes = randomIndexes; } public override bool IsRight(BattlePlayerReadOnlyInfoPair playerInfoPair, SkillConditionCheckerOption option, bool PreexecutionCheck = false) { int[] skillRandomArray = _card.SkillApplyInformation.SkillRandomArray; if (skillRandomArray != null) { bool flag = false; for (int i = 0; i < RandomIndexes.Length; i++) { if (RandomIndexes[i] >= 0 && RandomIndexes[i] < skillRandomArray.Length) { flag = flag || skillRandomArray[RandomIndexes[i]] > 0; continue; } return false; } return flag; } return false; } public override VfxBase Start(BattlePlayerPair playerPair, SkillBase skill, SkillProcessor skillProcessor, SkillOptionValue optionValue, SkillConditionCheckerOption checkerOption) { return NullVfx.GetInstance(); } }