don't cache theme colours

This commit is contained in:
2022-12-02 11:03:00 +01:00
parent 88f1b19990
commit 824e043862
10 changed files with 71 additions and 75 deletions

View File

@@ -1,5 +1,4 @@
using EscapeRoomEngine.Engine.Runtime.Modules;
using EscapeRoomEngine.Engine.Runtime.Utilities;
using NaughtyAttributes;
using UnityEngine;
using Logger = EscapeRoomEngine.Engine.Runtime.Utilities.Logger;
@@ -29,12 +28,12 @@ namespace EscapeRoomEngine.Desert.Runtime.Puzzle_C
{
CloseHatch();
dispenseButton.Disable();
_light.color = _solvedColor.hdr;
_light.color = Engine.Runtime.Engine.DefaultEngine.theme.solvedColor.hdr;
}
else
{
dispenseButton.Enable();
_light.color = _puzzleColor.hdr;
_light.color = Engine.Runtime.Engine.DefaultEngine.theme.puzzleColor.hdr;
}
}
}
@@ -42,14 +41,11 @@ namespace EscapeRoomEngine.Desert.Runtime.Puzzle_C
private float _previousDispense = -1;
private Animator _animator;
private Emission _light;
private DynamicColor _puzzleColor, _solvedColor;
private void Awake()
{
_animator = GetComponent<Animator>();
_light = GetComponent<Emission>();
_puzzleColor = Engine.Runtime.Engine.DefaultEngine.theme.puzzleColor;
_solvedColor = Engine.Runtime.Engine.DefaultEngine.theme.solvedColor;
}
private void Start()

View File

@@ -1,5 +1,4 @@
using EscapeRoomEngine.Engine.Runtime.Utilities;
using UnityEngine;
using UnityEngine;
namespace EscapeRoomEngine.Desert.Runtime.Puzzle_C
{
@@ -11,14 +10,9 @@ namespace EscapeRoomEngine.Desert.Runtime.Puzzle_C
public Emission Emission { get; private set; }
private DynamicColor _puzzleColor, _activeColor;
private void Awake()
{
Emission = GetComponent<Emission>();
_puzzleColor = Engine.Runtime.Engine.DefaultEngine.theme.puzzleColor;
_activeColor = Engine.Runtime.Engine.DefaultEngine.theme.activeColor;
}
protected override void Start()
@@ -35,8 +29,10 @@ namespace EscapeRoomEngine.Desert.Runtime.Puzzle_C
{
if (Active)
{
orb.Color = _activeColor.hdr;
Emission.color = _activeColor.hdr;
var color = Engine.Runtime.Engine.DefaultEngine.theme.activeColor;
orb.Color = color.hdr;
Emission.color = color.hdr;
Press();
}
}
@@ -47,12 +43,14 @@ namespace EscapeRoomEngine.Desert.Runtime.Puzzle_C
var orb = other.GetComponent<HoleOrb>();
if (orb != null)
{
var color = Engine.Runtime.Engine.DefaultEngine.theme.solvedColor;
if (Active)
{
Release();
Emission.color = _puzzleColor.hdr;
Emission.color = color.hdr;
}
orb.Color = _puzzleColor.hdr;
orb.Color = color.hdr;
}
}
}

View File

@@ -13,16 +13,12 @@ namespace EscapeRoomEngine.Desert.Runtime.Puzzle_C
private List<Hole> _holes;
private Dispenser _dispenser;
private DynamicColor _puzzleColor, _solvedColor, _activeColor;
protected override void Awake()
{
base.Awake();
_holes = new List<Hole>(GetComponentsInChildren<Hole>());
_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()
@@ -35,21 +31,24 @@ namespace EscapeRoomEngine.Desert.Runtime.Puzzle_C
switch (type)
{
case PuzzleEventType.Restarted:
var color = Engine.Runtime.Engine.DefaultEngine.theme.puzzleColor;
_holes.ForEach(hole =>
{
hole.Enable();
hole.Emission.color = _puzzleColor.hdr;
hole.Emission.color = color.hdr;
});
frameLight.color = _puzzleColor.hdr;
frameLight.color = color.hdr;
_dispenser.Reset();
break;
case PuzzleEventType.Solved:
var solvedColor = Engine.Runtime.Engine.DefaultEngine.theme.solvedColor;
var activeColor = Engine.Runtime.Engine.DefaultEngine.theme.activeColor;
_holes.ForEach(hole =>
{
hole.Disable();
hole.Emission.color = solution[hole.number] == 1 ? _activeColor.hdr : _solvedColor.hdr;
hole.Emission.color = solution[hole.number] == 1 ? activeColor.hdr : solvedColor.hdr;
});
frameLight.color = _solvedColor.hdr;
frameLight.color = solvedColor.hdr;
_dispenser.Solve();
break;
}