get theme colours from engine instead of storing reference to theme in module

This commit is contained in:
2022-11-28 22:14:00 +01:00
parent 8398d29f25
commit 60e390a993
32 changed files with 151 additions and 14 deletions

View File

@@ -1,5 +1,4 @@
using EscapeRoomEngine.Engine.Runtime;
using NaughtyAttributes;
using NaughtyAttributes;
using UnityEngine;
namespace EscapeRoomEngine.Desert.Runtime.Puzzle_A
@@ -10,14 +9,17 @@ namespace EscapeRoomEngine.Desert.Runtime.Puzzle_A
private static readonly int Color = Shader.PropertyToID("_Color");
public int symbolNumber;
public EngineTheme theme;
[BoxGroup("Internal")] [Required] public MeshRenderer holoRenderer;
private Material _material;
private Color _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()
@@ -26,13 +28,13 @@ namespace EscapeRoomEngine.Desert.Runtime.Puzzle_A
ButtonEvent += (_, _) =>
{
var color = theme.puzzleColor;
var color = _puzzleColor;
if (!Active)
{
color = theme.solvedColor;
color = _solvedColor;
} else if (Pressed)
{
color = theme.activeColor;
color = _activeColor;
}
_material.SetColor(FresnelColor, color);