using EscapeRoomEngine.Engine.Runtime; using UnityEngine; namespace EscapeRoomEngine.Desert.Runtime.Puzzle_A { [RequireComponent(typeof(MeshRenderer))] public class SymbolButton : Button { private static readonly int FresnelColor = Shader.PropertyToID("_FresnelColor"); private static readonly int Color = Shader.PropertyToID("_Color"); public EngineTheme theme; public override bool Pressed { get => base.Pressed; protected set { base.Pressed = value; var color = Pressed ? theme.activeColor : Active ? theme.puzzleColor : theme.solvedColor; _material.SetColor(FresnelColor, color); _material.SetColor(Color, color); } } private Material _material; private void Start() { _material = GetComponent().material; } } }