package com.fruit.launcher.effect; import java.util.ArrayList; import java.util.Iterator; public class EffectsFactory { private static ArrayList<EffectBase> sEffectsPool; public static ArrayList<EffectBase> getAllEffects() { return getEffectsList(); } public static EffectBase getEffectByType(int type) { if (sEffectsPool == null) { return null; } EffectBase effect = null; Iterator<EffectBase> iterator = sEffectsPool.iterator(); while (iterator.hasNext()) { effect = iterator.next(); if (effect.type == type) { return effect; } } return null; } public static int getEffectsCount() { if (sEffectsPool == null) { return 0; } return sEffectsPool.size(); } private static ArrayList<EffectBase> getEffectsList() { // TODO Auto-generated method stub if (sEffectsPool == null) { sEffectsPool = new ArrayList<EffectBase>(); sEffectsPool.add(new EffectClassic(0, Effects.EFFECT_TYPE_CLASSIC, Effects.EFFECT_TITLE_CLASSIC)); sEffectsPool.add(new EffectRotate(0, Effects.EFFECT_TYPE_ROTATE, Effects.EFFECT_TITLE_ROTATE)); sEffectsPool.add(new EffectFade(0, Effects.EFFECT_TYPE_FADE, Effects.EFFECT_TITLE_FADE)); sEffectsPool.add(new EffectStack(0, Effects.EFFECT_TYPE_STACK, Effects.EFFECT_TITLE_STACK)); sEffectsPool .add(new EffectWindmill(0, Effects.EFFECT_TYPE_WINDMILL, Effects.EFFECT_TITLE_WINDMILL)); sEffectsPool.add(new EffectCube(0, Effects.EFFECT_TYPE_CUBE, Effects.EFFECT_TITLE_CUBE)); sEffectsPool.add(new EffectTornado(0, Effects.EFFECT_TYPE_TOR, Effects.EFFECT_TITLE_TOR)); } return sEffectsPool; } }