blob: 568e90e8306ae25f3bbecb6daf82878d07b58b59 [file] [log] [blame]
function EffectsManager(data,element,dynamicProperties){
var effects = data.ef;
this.effectElements = [];
var i,len = effects.length;
var effectItem;
for(i=0;i<len;i++) {
effectItem = new GroupEffect(effects[i],element,dynamicProperties);
this.effectElements.push(effectItem);
}
}
function GroupEffect(data,element,dynamicProperties){
this.dynamicProperties = [];
this.init(data,element,this.dynamicProperties);
if(this.dynamicProperties.length){
dynamicProperties.push(this);
}
}
GroupEffect.prototype.getValue = function(){
this.mdf = false;
var i, len = this.dynamicProperties.length;
for(i=0;i<len;i+=1){
this.dynamicProperties[i].getValue();
this.mdf = this.dynamicProperties[i].mdf ? true : this.mdf;
}
};
GroupEffect.prototype.init = function(data,element,dynamicProperties){
this.data = data;
this.mdf = false;
this.effectElements = [];
var i, len = this.data.ef.length;
var eff, effects = this.data.ef;
for(i=0;i<len;i+=1){
switch(effects[i].ty){
case 0:
eff = new SliderEffect(effects[i],element,dynamicProperties);
this.effectElements.push(eff);
break;
case 1:
eff = new AngleEffect(effects[i],element,dynamicProperties);
this.effectElements.push(eff);
break;
case 2:
eff = new ColorEffect(effects[i],element,dynamicProperties);
this.effectElements.push(eff);
break;
case 3:
eff = new PointEffect(effects[i],element,dynamicProperties);
this.effectElements.push(eff);
break;
case 4:
case 7:
eff = new CheckboxEffect(effects[i],element,dynamicProperties);
this.effectElements.push(eff);
break;
case 10:
eff = new LayerIndexEffect(effects[i],element,dynamicProperties);
this.effectElements.push(eff);
break;
case 5:
eff = new EffectsManager(effects[i],element,dynamicProperties);
this.effectElements.push(eff);
break;
case 6:
eff = new NoValueEffect(effects[i],element,dynamicProperties);
this.effectElements.push(eff);
break;
}
}
};