public void Invoke(IUnitValueProvider p, float f) { foreach (var l in listeners) { l.Invoke(p, f); } }
/// <summary> /// unitVal range 0.0 .. 1.0 /// </summary> /// <param name="unitVal"></param> public override void SetValue(IUnitValueProvider p, float unitVal) { heatValue = unitVal; hotplateColor.r = heatValue; hotplateRenderer.sharedMaterial.color = hotplateColor; var newVal = unitVal * maxValue; foreach (var b in burner) { var main = b.main; if (newVal < minValue && b.gameObject.activeSelf) { b.gameObject.SetActive(false); } else if (!b.gameObject.activeSelf) { b.gameObject.SetActive(true); } main.startLifetime = newVal; } }
/// <summary> /// unitVal range 0.0 .. 1.0 /// </summary> /// <param name="unitVal"></param> public abstract void SetValue(IUnitValueProvider provider, float unitVal);