public void ShowEffects(string[] effectTypes, RLVisualEffect.VisualEffectParams effectParams, Action onComplete) { List <RLVisualEffect> effectList = new List <RLVisualEffect>(effectTypes.Length); effectList.AddRange(from effectName in effectTypes select _effectsDict[effectName]); ShowEffectChain(effectParams, effectList, 0, onComplete); }
private void ShowEffects(string[] effects, RLBaseActor actor, RLBaseTile target, Action onComplete) { RLVisualEffect.VisualEffectParams effectParams = new RLVisualEffect.VisualEffectParams() { From = actor.GetTile(), Targets = new List <RLBaseTile>(new[] { target }), ActorController = this }; effectRenderer.ShowEffects(effects, effectParams, onComplete); }
private void ShowEffectChain(RLVisualEffect.VisualEffectParams effectParams, IList <RLVisualEffect> effectList, int effectIndex, Action onComplete) { if (effectIndex >= effectList.Count) { if (onComplete != null) { onComplete(); } return; } effectList[effectIndex].ShowEffect(effectParams, () => { ShowEffectChain(effectParams, effectList, effectIndex + 1, onComplete); }); }
public void ShowEffect(string effect, RLVisualEffect.VisualEffectParams effectParams, Action onComplete) { ShowEffects(new[] { effect }, effectParams, onComplete); }