//--------------------------------------------------------------------- public List <object> createEffect(int effect_id, string effect_name, int effect_type, float delay_time, Dictionary <string, object> param, EffectTypeEnum effect_generate_type) { CEffect effect = mFactory.buildByEffectElementData(effect_id, effect_name, effect_type, delay_time, param, effect_generate_type); if (effect == null) { return(null); } mSingleEffect.Add(effect); return(effect.ReturnValue); }
//--------------------------------------------------------------------- public void create(int vib_component_id, Dictionary <string, object> param, EffectTypeEnum effect_type) { if (vib_component_id < 0) { return; } List <TbDataEffectCompose.EffectElementStruct> data_list = EbDataMgr.Instance.getData <TbDataEffectCompose>(vib_component_id).EffectElements; if (data_list == null || data_list.Count <= 0) { return; } int index = 0; CEffect pre_component = null; foreach (var it in data_list) { if (0 != it.EffectId && null != it.EffectName) { CEffect effect = mFactory.buildByEffectElementData(it, param, effect_type); if (effect == null) { continue; } mComponents.Add(index, effect); ComponentUpdate component_update = new ComponentUpdate(effect, pre_component); mComponentFuncs.Add(component_update); pre_component = effect; index++; } } excute(); }