public UIColorFromLightModifierWindow(EffectColorFromLightModifier mod, bool show) : base((EffectModifier)mod, show) { colorMod = mod; colorNames = MaterialUtils.FindValidShaderProperties(colorMod.GetMaterial(), WaterfallMaterialPropertyType.Color).ToArray(); colorIndex = colorNames.ToList().FindIndex(x => x == colorMod.colorName); lightNames = colorMod.parentEffect.parentModule.GetComponentsInChildren <Light>().Select(x => x.transform.name).ToArray(); lightIndex = lightNames.ToList().FindIndex(x => x == colorMod.lightTransformName); }
public void OpenModifierEditWindow(EffectModifier fxMod) { foreach (UIModifierWindow editWin in editWindows.ToList()) { editWindows.Remove(editWin); } try { EffectColorModifier colMod = (EffectColorModifier)fxMod; if (colMod != null) { editWindows.Add(new UIColorModifierWindow(colMod, true)); } } catch (InvalidCastException e) { } try { EffectScaleModifier scaleMod = (EffectScaleModifier)fxMod; if (scaleMod != null) { editWindows.Add(new UIScaleModifierWindow(scaleMod, true)); } } catch (InvalidCastException e) { } try { EffectUVScrollModifier scrollMod = (EffectUVScrollModifier)fxMod; if (scrollMod != null) { editWindows.Add(new UIUVScrollModifierWindow(scrollMod, true)); } } catch (InvalidCastException e) { } try { EffectFloatModifier floatMod = (EffectFloatModifier)fxMod; if (floatMod != null) { editWindows.Add(new UIFloatModifierWindow(floatMod, true)); } } catch (InvalidCastException e) { } try { EffectPositionModifier posMod = (EffectPositionModifier)fxMod; if (posMod != null) { editWindows.Add(new UIPositionModifierWindow(posMod, true)); } } catch (InvalidCastException e) { } try { EffectRotationModifier rotMod = (EffectRotationModifier)fxMod; if (rotMod != null) { editWindows.Add(new UIRotationModifierWindow(rotMod, true)); } } catch (InvalidCastException e) { } try { EffectColorFromLightModifier colMod = (EffectColorFromLightModifier)fxMod; if (colMod != null) { editWindows.Add(new UIColorFromLightModifierWindow(colMod, true)); } } catch (InvalidCastException e) { } try { EffectLightFloatModifier colMod = (EffectLightFloatModifier)fxMod; if (colMod != null) { editWindows.Add(new UILightFloatModifierWindow(colMod, true)); } } catch (InvalidCastException e) { } try { EffectLightColorModifier colMod = (EffectLightColorModifier)fxMod; if (colMod != null) { editWindows.Add(new UILightColorModifierWindow(colMod, true)); } } catch (InvalidCastException e) { } }