public float[] fireEffect(EffectActionTypes[] keys, float[] paramList, AbstractInteractive target)
    {
        List<AbstracteEffect> effectList = getEffectListByKey(new HashSet<EffectActionTypes>(keys));

        foreach (AbstracteEffect effect in effectList) {
            paramList = effect.execute(keys, paramList, target);
        }
        return paramList;
    }
Esempio n. 2
0
    public virtual float[] execute(EffectActionTypes[] keys, float[] paramsLis, AbstractInteractive target)
    {
        for (int i = 0; i < keys.Length; i++){
            switch (keys[i]){
                case EffectActionTypes.ON_START_CAPTURE :
                    onStartCapture(target);
                    break;

                case EffectActionTypes.ON_CAPTURE :
                    onCapture(target);
                    break;

                case EffectActionTypes.ON_DIE :
                    onDie();
                    break;

                case EffectActionTypes.ON_START_COMBAT :
                    onStartCombat(target);
                    break;

                case EffectActionTypes.ON_TAKE_DMG :
                    onTakeDmg(target);
                    break;

                case EffectActionTypes.ON_ATTACK :
                    onAttack(target);
                    break;

                case EffectActionTypes.GET_ARMOR :
                    paramsLis[i] = getArmor(paramsLis[i]);
                    break;

                case EffectActionTypes.GET_ATTACK_TIME :
                    paramsLis[i] = getAttackTime(paramsLis[i]);
                    break;

                case EffectActionTypes.GET_CAPTURE_TIME :
                    paramsLis[i] = getCaptureTime(paramsLis[i]);
                    break;

                case EffectActionTypes.GET_DMG :
                    paramsLis[i] = getDmg(paramsLis[i]);
                    break;

            }
        }
        return paramsLis;
    }