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 int symbolNumber; public EngineTheme theme; private Material _material; private void Start() { _material = GetComponent().material; ButtonEvent += (_, type) => { var color = type switch { ButtonEventType.Pressed => theme.activeColor, ButtonEventType.Deactivated => theme.solvedColor, _ => theme.puzzleColor }; _material.SetColor(FresnelColor, color); _material.SetColor(Color, color); }; } } }