using System.Collections.Generic; namespace AllIn13DShader { [System.Serializable] public class EffectsProfileGroup { public EffectGroupGlobalConfig effectGroupConfig; public List entries; public EffectsProfileGroup(EffectGroup effectGroup) { this.effectGroupConfig = effectGroup.effectGroupConfig; this.entries = new List(); for(int i = 0; i < effectGroup.effects.Length; i++) { AllIn13DEffectConfig effectConfig = effectGroup.effects[i]; EffectsProfileEntry entry = new EffectsProfileEntry(effectConfig.effectName, effectConfig.displayName, true); for (int j = 0; j < effectConfig.effectProperties.Count; j++) { EffectProperty effectProperty = effectConfig.effectProperties[j]; if (effectProperty.IsPropertyWithKeywords()) { entry.AddSubkeywordEntries(effectProperty); } } entries.Add(entry); } } public EffectsProfileGroup(EffectsProfileGroup copyFrom) { this.effectGroupConfig = copyFrom.effectGroupConfig; this.entries = new List(copyFrom.entries.Count); for(int i = 0; i < copyFrom.entries.Count; i++) { this.entries.Add(new EffectsProfileEntry(copyFrom.entries[i])); } } public void CollectKeywords(List res) { for(int i = 0; i < entries.Count; i++) { if (entries[i].isEnabled) { entries[i].CollectKeywords(res); } } } public bool HasEffectsEnabled() { bool res = false; for(int i = 0; i < entries.Count; i++) { if (entries[i].isEnabled) { res = true; break; } } return res; } } }