public async Task <bool> ShouldRepeat(Spirit spirit) { foreach (var threshold in thresholds) { if (await spirit.HasElements(threshold.Elements)) { thresholds.Remove(threshold); return(true); } } return(false); }
public override async Task <bool> IsActiveFor(Phase requestSpeed, Spirit spirit) { return(await base.IsActiveFor(requestSpeed, spirit) || requestSpeed == Phase.Fast && await spirit.HasElements(triggerElements)); }