merge EmissionToggle and EmissionColor into one, deprecates RingLight

This commit is contained in:
2022-11-18 10:31:35 +01:00
parent 99e0452379
commit d47599638f
10 changed files with 36 additions and 128 deletions

View File

@@ -2,11 +2,15 @@
namespace Escape_Room_Engine.Desert.Scripts
{
public class EmissionToggle : MonoBehaviour
public class Emission : MonoBehaviour
{
private static readonly int EmissionColorNameID = Shader.PropertyToID("_EmissionColor");
internal bool active;
[ColorUsage(false, true)] public Color color;
private bool _previousActive;
private Color _previousColor;
private Material _material;
private void Awake()
@@ -16,19 +20,26 @@ namespace Escape_Room_Engine.Desert.Scripts
private void Start()
{
Changed();
ChangedToggle();
ChangedColor();
}
private void Update()
{
if (_previousActive != active)
{
Changed();
ChangedToggle();
_previousActive = active;
}
if (!_previousColor.Equals(color))
{
ChangedColor();
_previousColor = color;
}
}
private void Changed()
private void ChangedToggle()
{
if (active)
{
@@ -39,10 +50,10 @@ namespace Escape_Room_Engine.Desert.Scripts
_material.DisableKeyword("_EMISSION");
}
}
public void SetActive(bool to)
private void ChangedColor()
{
this.active = to;
_material.SetColor(EmissionColorNameID, color);
}
}
}

View File

@@ -1,38 +0,0 @@
using UnityEngine;
namespace Escape_Room_Engine.Desert.Scripts
{
public class EmissionColor : MonoBehaviour
{
private static readonly int EmissionColorNameID = Shader.PropertyToID("_EmissionColor");
public Color color;
private Color _previousColor;
private Material _material;
private void Awake()
{
_material = GetComponent<Renderer>().material;
}
private void Start()
{
Changed();
}
private void Update()
{
if (!_previousColor.Equals(color))
{
Changed();
_previousColor = color;
}
}
private void Changed()
{
_material.SetColor(EmissionColorNameID, color);
}
}
}

View File

@@ -1,3 +0,0 @@
fileFormatVersion: 2
guid: 59658196528346f7a5af3e879a1a8af1
timeCreated: 1668704714