Пример #1
0
        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);
        }
Пример #2
0
        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);
        }
Пример #3
0
        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);
            });
        }
Пример #4
0
 public void ShowEffect(string effect, RLVisualEffect.VisualEffectParams effectParams, Action onComplete)
 {
     ShowEffects(new[] { effect }, effectParams, onComplete);
 }