DynamicColor, Crystal prefab, Finish Puzzle B
This commit is contained in:
46
Assets/Desert/Runtime/SymbolButton.cs
Normal file
46
Assets/Desert/Runtime/SymbolButton.cs
Normal file
@@ -0,0 +1,46 @@
|
||||
using EscapeRoomEngine.Engine.Runtime.Utilities;
|
||||
using NaughtyAttributes;
|
||||
using UnityEngine;
|
||||
|
||||
namespace EscapeRoomEngine.Desert.Runtime
|
||||
{
|
||||
public class SymbolButton : Button
|
||||
{
|
||||
private static readonly int FresnelColor = Shader.PropertyToID("_FresnelColor");
|
||||
private static readonly int Color = Shader.PropertyToID("_Color");
|
||||
|
||||
public int symbolNumber;
|
||||
[BoxGroup("Internal")] [Required] public MeshRenderer holoRenderer;
|
||||
|
||||
private Material _material;
|
||||
private DynamicColor _puzzleColor, _solvedColor, _activeColor;
|
||||
|
||||
private void Awake()
|
||||
{
|
||||
_material = holoRenderer.material;
|
||||
_puzzleColor = Engine.Runtime.Engine.DefaultEngine.theme.puzzleColor;
|
||||
_solvedColor = Engine.Runtime.Engine.DefaultEngine.theme.solvedColor;
|
||||
_activeColor = Engine.Runtime.Engine.DefaultEngine.theme.activeColor;
|
||||
}
|
||||
|
||||
protected override void Start()
|
||||
{
|
||||
base.Start();
|
||||
|
||||
ButtonEvent += (_, _) =>
|
||||
{
|
||||
var color = _puzzleColor;
|
||||
if (!Active)
|
||||
{
|
||||
color = _solvedColor;
|
||||
} else if (Pressed)
|
||||
{
|
||||
color = _activeColor;
|
||||
}
|
||||
|
||||
_material.SetColor(FresnelColor, color.hdr);
|
||||
_material.SetColor(Color, color.hdr);
|
||||
};
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user