37 lines
1.0 KiB
C#
37 lines
1.0 KiB
C#
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<MeshRenderer>().material;
|
|
}
|
|
}
|
|
} |