public void Clone(ShaderFloatsGUI toClone) { FalloffPower = toClone.FalloffPower; FalloffScale = toClone.FalloffScale; DetailDistance = toClone.DetailDistance; MinimumLight = toClone.MinimumLight; FadeDistance = toClone.FadeDistance; RimDistance = toClone.RimDistance; }
private int HandleAdvancedGUI(ShaderFloatsGUI floats, int y, float offset) { GUIStyle gs = new GUIStyle(GUI.skin.label); gs.alignment = TextAnchor.MiddleRight; GUIStyle texFieldGS = new GUIStyle(GUI.skin.textField); Color errorColor = new Color(1, 0, 0); Color normalColor = texFieldGS.normal.textColor; float dummyFloat; GUI.Label( new Rect(offset + 10, y, 65, 25), "RimPower: ", gs); if (float.TryParse(floats.FalloffPowerString, out dummyFloat)) { texFieldGS.normal.textColor = normalColor; texFieldGS.hover.textColor = normalColor; texFieldGS.active.textColor = normalColor; texFieldGS.focused.textColor = normalColor; } else { texFieldGS.normal.textColor = errorColor; texFieldGS.hover.textColor = errorColor; texFieldGS.active.textColor = errorColor; texFieldGS.focused.textColor = errorColor; } String SFalloffPower = GUI.TextField(new Rect(offset + 80, y, 50, 25), floats.FalloffPowerString, texFieldGS); float FFalloffPower = GUI.HorizontalSlider(new Rect(offset + 135, y + 5, 115, 25), floats.FalloffPower, 0, 3); y += 30; GUI.Label( new Rect(offset + 10, y, 65, 25), "RimScale: ", gs); if (float.TryParse(floats.FalloffScaleString, out dummyFloat)) { texFieldGS.normal.textColor = normalColor; texFieldGS.hover.textColor = normalColor; texFieldGS.active.textColor = normalColor; texFieldGS.focused.textColor = normalColor; } else { texFieldGS.normal.textColor = errorColor; texFieldGS.hover.textColor = errorColor; texFieldGS.active.textColor = errorColor; texFieldGS.focused.textColor = errorColor; } string SFalloffScale = GUI.TextField(new Rect(offset + 80, y, 50, 25), floats.FalloffScaleString, texFieldGS); float FFalloffScale = GUI.HorizontalSlider(new Rect(offset + 135, y + 5, 115, 25), floats.FalloffScale, 0, 20); y += 30; GUI.Label( new Rect(offset + 10, y, 65, 25), "DetailDist: ", gs); if (float.TryParse(floats.DetailDistanceString, out dummyFloat)) { texFieldGS.normal.textColor = normalColor; texFieldGS.hover.textColor = normalColor; texFieldGS.active.textColor = normalColor; texFieldGS.focused.textColor = normalColor; } else { texFieldGS.normal.textColor = errorColor; texFieldGS.hover.textColor = errorColor; texFieldGS.active.textColor = errorColor; texFieldGS.focused.textColor = errorColor; } string SDetailDistance = GUI.TextField(new Rect(offset + 80, y, 50, 25), floats.DetailDistanceString, texFieldGS); float FDetailDistance = GUI.HorizontalSlider(new Rect(offset + 135, y + 5, 115, 25), floats.DetailDistance, 0, 1); y += 30; GUI.Label( new Rect(offset + 10, y, 65, 25), "MinLight: ", gs); if (float.TryParse(floats.MinimumLightString, out dummyFloat)) { texFieldGS.normal.textColor = normalColor; texFieldGS.hover.textColor = normalColor; texFieldGS.active.textColor = normalColor; texFieldGS.focused.textColor = normalColor; } else { texFieldGS.normal.textColor = errorColor; texFieldGS.hover.textColor = errorColor; texFieldGS.active.textColor = errorColor; texFieldGS.focused.textColor = errorColor; } string SMinimumLight = GUI.TextField(new Rect(offset + 80, y, 50, 25), floats.MinimumLightString, texFieldGS); float FMinimumLight = GUI.HorizontalSlider(new Rect(offset + 135, y + 5, 115, 25), floats.MinimumLight, 0, 1); y += 30; GUI.Label( new Rect(offset + 10, y, 65, 25), "FadeDist: ", gs); if (float.TryParse(floats.FadeDistanceString, out dummyFloat)) { texFieldGS.normal.textColor = normalColor; texFieldGS.hover.textColor = normalColor; texFieldGS.active.textColor = normalColor; texFieldGS.focused.textColor = normalColor; } else { texFieldGS.normal.textColor = errorColor; texFieldGS.hover.textColor = errorColor; texFieldGS.active.textColor = errorColor; texFieldGS.focused.textColor = errorColor; } string SFadeDist = GUI.TextField(new Rect(offset + 80, y, 50, 25), floats.FadeDistanceString, texFieldGS); float FFadeDist = GUI.HorizontalSlider(new Rect(offset + 135, y + 5, 115, 25), floats.FadeDistance, 0, 100); y += 30; GUI.Label( new Rect(offset + 10, y, 65, 25), "RimDist: ", gs); if (float.TryParse(floats.RimDistanceString, out dummyFloat)) { texFieldGS.normal.textColor = normalColor; texFieldGS.hover.textColor = normalColor; texFieldGS.active.textColor = normalColor; texFieldGS.focused.textColor = normalColor; } else { texFieldGS.normal.textColor = errorColor; texFieldGS.hover.textColor = errorColor; texFieldGS.active.textColor = errorColor; texFieldGS.focused.textColor = errorColor; } string SRimDist = GUI.TextField(new Rect(offset + 80, y, 50, 25), floats.RimDistanceString, texFieldGS); float FRimDist = GUI.HorizontalSlider(new Rect(offset + 135, y + 5, 115, 25), floats.RimDistance, 0, 1); floats.Update(SFalloffPower, FFalloffPower, SFalloffScale, FFalloffScale, SDetailDistance, FDetailDistance, SMinimumLight, FMinimumLight, SFadeDist, FFadeDist, SRimDist, FRimDist); return(y + 30); }
private int HandleAdvancedGUI(ShaderFloatsGUI floats, int y, float offset) { GUIStyle gs = new GUIStyle(GUI.skin.label); gs.alignment = TextAnchor.MiddleRight; GUIStyle texFieldGS = new GUIStyle(GUI.skin.textField); Color errorColor = new Color(1, 0, 0); Color normalColor = texFieldGS.normal.textColor; float dummyFloat; GUI.Label( new Rect(offset + 10, y, 65, 25), "RimPower: ", gs); if (float.TryParse(floats.FalloffPowerString, out dummyFloat)) { texFieldGS.normal.textColor = normalColor; texFieldGS.hover.textColor = normalColor; texFieldGS.active.textColor = normalColor; texFieldGS.focused.textColor = normalColor; } else { texFieldGS.normal.textColor = errorColor; texFieldGS.hover.textColor = errorColor; texFieldGS.active.textColor = errorColor; texFieldGS.focused.textColor = errorColor; } String SFalloffPower = GUI.TextField(new Rect(offset + 80, y, 50, 25), floats.FalloffPowerString, texFieldGS); float FFalloffPower = GUI.HorizontalSlider(new Rect(offset + 135, y + 5, 115, 25), floats.FalloffPower, 0, 3); y += 30; GUI.Label( new Rect(offset + 10, y, 65, 25), "RimScale: ", gs); if (float.TryParse(floats.FalloffScaleString, out dummyFloat)) { texFieldGS.normal.textColor = normalColor; texFieldGS.hover.textColor = normalColor; texFieldGS.active.textColor = normalColor; texFieldGS.focused.textColor = normalColor; } else { texFieldGS.normal.textColor = errorColor; texFieldGS.hover.textColor = errorColor; texFieldGS.active.textColor = errorColor; texFieldGS.focused.textColor = errorColor; } string SFalloffScale = GUI.TextField(new Rect(offset + 80, y, 50, 25), floats.FalloffScaleString, texFieldGS); float FFalloffScale = GUI.HorizontalSlider(new Rect(offset + 135, y + 5, 115, 25), floats.FalloffScale, 0, 20); y += 30; GUI.Label( new Rect(offset + 10, y, 65, 25), "DetailDist: ", gs); if (float.TryParse(floats.DetailDistanceString, out dummyFloat)) { texFieldGS.normal.textColor = normalColor; texFieldGS.hover.textColor = normalColor; texFieldGS.active.textColor = normalColor; texFieldGS.focused.textColor = normalColor; } else { texFieldGS.normal.textColor = errorColor; texFieldGS.hover.textColor = errorColor; texFieldGS.active.textColor = errorColor; texFieldGS.focused.textColor = errorColor; } string SDetailDistance = GUI.TextField(new Rect(offset + 80, y, 50, 25), floats.DetailDistanceString, texFieldGS); float FDetailDistance = GUI.HorizontalSlider(new Rect(offset + 135, y + 5, 115, 25), floats.DetailDistance, 0, 1); y += 30; GUI.Label( new Rect(offset + 10, y, 65, 25), "MinLight: ", gs); if (float.TryParse(floats.MinimumLightString, out dummyFloat)) { texFieldGS.normal.textColor = normalColor; texFieldGS.hover.textColor = normalColor; texFieldGS.active.textColor = normalColor; texFieldGS.focused.textColor = normalColor; } else { texFieldGS.normal.textColor = errorColor; texFieldGS.hover.textColor = errorColor; texFieldGS.active.textColor = errorColor; texFieldGS.focused.textColor = errorColor; } string SMinimumLight = GUI.TextField(new Rect(offset + 80, y, 50, 25), floats.MinimumLightString, texFieldGS); float FMinimumLight = GUI.HorizontalSlider(new Rect(offset + 135, y + 5, 115, 25), floats.MinimumLight, 0, 1); y += 30; GUI.Label( new Rect(offset + 10, y, 65, 25), "FadeDist: ", gs); if (float.TryParse(floats.FadeDistanceString, out dummyFloat)) { texFieldGS.normal.textColor = normalColor; texFieldGS.hover.textColor = normalColor; texFieldGS.active.textColor = normalColor; texFieldGS.focused.textColor = normalColor; } else { texFieldGS.normal.textColor = errorColor; texFieldGS.hover.textColor = errorColor; texFieldGS.active.textColor = errorColor; texFieldGS.focused.textColor = errorColor; } string SFadeDist = GUI.TextField(new Rect(offset + 80, y, 50, 25), floats.FadeDistanceString, texFieldGS); float FFadeDist = GUI.HorizontalSlider(new Rect(offset + 135, y + 5, 115, 25), floats.FadeDistance, 0, 100); y += 30; GUI.Label( new Rect(offset + 10, y, 65, 25), "RimDist: ", gs); if (float.TryParse(floats.RimDistanceString, out dummyFloat)) { texFieldGS.normal.textColor = normalColor; texFieldGS.hover.textColor = normalColor; texFieldGS.active.textColor = normalColor; texFieldGS.focused.textColor = normalColor; } else { texFieldGS.normal.textColor = errorColor; texFieldGS.hover.textColor = errorColor; texFieldGS.active.textColor = errorColor; texFieldGS.focused.textColor = errorColor; } string SRimDist = GUI.TextField(new Rect(offset + 80, y, 50, 25), floats.RimDistanceString, texFieldGS); float FRimDist = GUI.HorizontalSlider(new Rect(offset + 135, y + 5, 115, 25), floats.RimDistance, 0, 1); floats.Update(SFalloffPower, FFalloffPower, SFalloffScale, FFalloffScale, SDetailDistance, FDetailDistance, SMinimumLight, FMinimumLight, SFadeDist, FFadeDist, SRimDist, FRimDist); return y + 30; }