private void CreateSpotlightDataTabPageControls(TabButton tab, string name) { Base page = tab.Page; page.Name = $"{name}Page"; SpotlightData sData = GetSpotlightDataForControl(page); int y = 5; int x = 12; CreateFloatFieldControl(page, x, ref y, $"{name}{nameof(SpotlightData.OuterAngle)}", "Outer Angle ", 0, 90, 0.5f, sData.OuterAngle); CreateFloatFieldControl(page, x, ref y, $"{name}{nameof(SpotlightData.InnerAngle)}", "Inner Angle ", 0, 90, 0.5f, sData.InnerAngle); CreateFloatFieldControl(page, x, ref y, $"{name}{nameof(SpotlightData.Intensity)}", "Intensity ", -9999, 9999, 1f, sData.Intensity); CreateFloatFieldControl(page, x, ref y, $"{name}{nameof(SpotlightData.Range)}", "Range ", -9999, 9999, 1f, sData.Range); CreateFloatFieldControl(page, x, ref y, $"{name}{nameof(SpotlightData.Falloff)}", "Falloff ", -9999, 9999, 1f, sData.Falloff); CreateFloatFieldControl(page, x, ref y, $"{name}{nameof(SpotlightData.VolumeIntensity)}", "Volume Intensity ", -9999, 9999, 0.05f, sData.VolumeIntensity); CreateFloatFieldControl(page, x, ref y, $"{name}{nameof(SpotlightData.VolumeSize)}", "Volume Size ", -9999, 9999, 0.05f, sData.VolumeSize); CreateFloatFieldControl(page, x, ref y, $"{name}{nameof(SpotlightData.MovementSpeed)}", "Movement Speed ", 0, 100, 0.5f, sData.MovementSpeed); y += 6; CreateSaveButton(page, x, ref y, $"{name}Save", "Save "); y = 5; x = 285; CreateFloatFieldControl(page, x, ref y, $"{name}{nameof(SpotlightData.CoronaIntensity)}", "Corona Intensity ", 0, 9999, 0.05f, sData.CoronaIntensity); CreateFloatFieldControl(page, x, ref y, $"{name}{nameof(SpotlightData.CoronaSize)}", "Corona Size ", -9999, 9999, 0.05f, sData.CoronaSize); CreateBoolFieldControl(page, x, ref y, $"{name}{nameof(SpotlightData.CastShadows)}", "Cast Shadows ", sData.CastShadows); CreateBoolFieldControl(page, x, ref y, $"{name}{nameof(SpotlightData.Volume)}", "Volume ", sData.Volume); CreateBoolFieldControl(page, x, ref y, $"{name}{nameof(SpotlightData.Corona)}", "Corona ", sData.Corona); CreateBoolFieldControl(page, x, ref y, $"{name}{nameof(SpotlightData.Specular)}", "Specular ", sData.Specular); CreateColorFieldControl(page, x, ref y, $"{name}{nameof(SpotlightData.Color)}", "Color ", sData.Color); }
IEnumerator ExtendSpotlight(SpotlightData data) { animating = true; Time.timeScale = 0; // Reset the spotlight values just in case SetTransparency(0f); SetSpread(0f); // Darken screen Image panel = rightPanel.GetComponent <Image>(); while (panel.color.a < data.alpha - 0.01f) { SetTransparency(Mathf.Lerp(panel.color.a, data.alpha, 0.25f)); yield return(null); } SetTransparency(data.alpha); // Expand spotlight while (rightPanel.transform.eulerAngles.z < data.spread - 0.01f) { SetSpread(Mathf.Lerp(rightPanel.transform.eulerAngles.z, data.spread, 0.25f)); yield return(null); } SetSpread(data.spread); animating = false; spotlightOn = true; }
private void SetFieldForControl(Base control, Color value) { SpotlightData d = GetSpotlightDataForControl(control); if (control.Name.Contains(nameof(SpotlightData.Color))) { d.Color = value; } }
public bool CreateSpotlight(float spread, float x_pos, float alpha) { if (!animating && !spotlightOn) { gameObject.SetActive(true); SetPosition(x_pos); SpotlightData dat = new SpotlightData(spread, alpha); StartCoroutine("ExtendSpotlight", dat); return(true); } else { return(false); } }
private void SetFieldForControl(Base control, float value) { SpotlightData d = GetSpotlightDataForControl(control); if (control.Name.Contains(nameof(SpotlightData.OuterAngle))) { d.OuterAngle = value; } else if (control.Name.Contains(nameof(SpotlightData.InnerAngle))) { d.InnerAngle = value; } else if (control.Name.Contains(nameof(SpotlightData.Intensity)) && !control.Name.Contains("Volume") && !control.Name.Contains("Corona")) { d.Intensity = value; } else if (control.Name.Contains(nameof(SpotlightData.Range))) { d.Range = value; } else if (control.Name.Contains(nameof(SpotlightData.Falloff))) { d.Falloff = value; } else if (control.Name.Contains(nameof(SpotlightData.VolumeIntensity))) { d.VolumeIntensity = value; } else if (control.Name.Contains(nameof(SpotlightData.VolumeSize))) { d.VolumeSize = value; } else if (control.Name.Contains(nameof(SpotlightData.CoronaIntensity))) { d.CoronaIntensity = value; } else if (control.Name.Contains(nameof(SpotlightData.CoronaSize))) { d.CoronaSize = value; } else if (control.Name.Contains(nameof(SpotlightData.MovementSpeed))) { d.MovementSpeed = value; } }
private void SetFieldForControl(Base control, bool value) { SpotlightData d = GetSpotlightDataForControl(control); if (control.Name.Contains(nameof(SpotlightData.CastShadows))) { d.CastShadows = value; } else if (control.Name.Contains(nameof(SpotlightData.Volume))) { d.Volume = value; } else if (control.Name.Contains(nameof(SpotlightData.Corona))) { d.Corona = value; } else if (control.Name.Contains(nameof(SpotlightData.Specular))) { d.Specular = value; } }
public APISpotlight(SpotlightData data) : base(data) { APISpotlightMgr.AddSpotlight(this); }