| function EffectsManager(data,element,dynamicProperties){ |
| |
| var effects = data.ef; |
| var effectElements = []; |
| var i,len = effects.length; |
| var eff; |
| for(i=0;i<len;i++){ |
| switch(effects[i].ty){ |
| case 0: |
| eff = new SliderEffect(effects[i],element,dynamicProperties); |
| effectElements.push(eff.proxyFunction.bind(eff)); |
| break; |
| case 1: |
| ; eff = new AngleEffect(effects[i],element,dynamicProperties); |
| effectElements.push(eff.proxyFunction.bind(eff)); |
| break; |
| case 2: |
| eff = new ColorEffect(effects[i],element,dynamicProperties); |
| effectElements.push(eff.proxyFunction.bind(eff)); |
| break; |
| case 3: |
| eff = new PointEffect(effects[i],element,dynamicProperties); |
| effectElements.push(eff.proxyFunction.bind(eff)); |
| break; |
| case 4: |
| case 7: |
| eff = new CheckboxEffect(effects[i],element,dynamicProperties); |
| effectElements.push(eff.proxyFunction.bind(eff)); |
| break; |
| case 5: |
| eff = new EffectsManager(effects[i],element,dynamicProperties); |
| effectElements.push(eff); |
| break; |
| case 6: |
| eff = new NoValueEffect(effects[i],element,dynamicProperties); |
| effectElements.push(eff); |
| break; |
| } |
| } |
| |
| var fn = function(name){ |
| var effects = data.ef, i = 0, len = effects.length; |
| while(i<len) { |
| if(name === effects[i].nm || name === effects[i].ix){ |
| if(effects[i].ty === 5){ |
| return effectElements[i]; |
| } else{ |
| return effectElements[i](); |
| } |
| } |
| i += 1; |
| } |
| } |
| return fn; |
| } |