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

@@ -26,6 +26,7 @@ namespace EscapeRoomEngine.Desert.Runtime.Puzzle_A
private IOption<Symbol> _activeSymbol;
private Animator _animator;
private Ball _ball;
private Color _puzzleColor, _solvedColor;
private void Awake()
{
@@ -34,6 +35,9 @@ namespace EscapeRoomEngine.Desert.Runtime.Puzzle_A
List<SymbolButton> symbolInstances = new(symbols.Count);
symbolInstances.AddRange(symbols.Select((t, i) => Instantiate(t, symbolSlots[i], false)));
symbols = symbolInstances;
_puzzleColor = Engine.Runtime.Engine.DefaultEngine.theme.puzzleColor;
_solvedColor = Engine.Runtime.Engine.DefaultEngine.theme.solvedColor;
}
protected override void Start()
@@ -46,12 +50,12 @@ namespace EscapeRoomEngine.Desert.Runtime.Puzzle_A
{
case PuzzleEventType.Restarted:
_ball.Active = true;
terminalLight.color = theme.puzzleColor;
terminalLight.color = _puzzleColor;
symbols.ForEach(symbol => symbol.Enable());
break;
case PuzzleEventType.Solved:
_ball.Active = false;
terminalLight.color = theme.solvedColor;
terminalLight.color = _solvedColor;
symbols.ForEach(symbol => symbol.Disable());
break;
case PuzzleEventType.WrongInput: