diff --git a/Assets/Desert/Runtime/HoloButton.cs b/Assets/Desert/Runtime/HoloButton.cs index 490f646..48f5283 100644 --- a/Assets/Desert/Runtime/HoloButton.cs +++ b/Assets/Desert/Runtime/HoloButton.cs @@ -1,5 +1,4 @@ -using EscapeRoomEngine.Engine.Runtime.Utilities; -using NaughtyAttributes; +using NaughtyAttributes; using UnityEngine; namespace EscapeRoomEngine.Desert.Runtime @@ -12,14 +11,10 @@ namespace EscapeRoomEngine.Desert.Runtime [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() @@ -28,13 +23,13 @@ namespace EscapeRoomEngine.Desert.Runtime ButtonEvent += (_, _) => { - var color = _puzzleColor; + var color = Engine.Runtime.Engine.DefaultEngine.theme.puzzleColor; if (!Active) { - color = _solvedColor; + color = Engine.Runtime.Engine.DefaultEngine.theme.solvedColor; } else if (Pressed) { - color = _activeColor; + color = Engine.Runtime.Engine.DefaultEngine.theme.activeColor; } _material.SetColor(FresnelColor, color.hdr); diff --git a/Assets/Desert/Runtime/Hoop.cs b/Assets/Desert/Runtime/Hoop.cs new file mode 100644 index 0000000..a3dd58c --- /dev/null +++ b/Assets/Desert/Runtime/Hoop.cs @@ -0,0 +1,30 @@ +using System.Collections.Generic; +using NaughtyAttributes; +using UnityEngine; + +namespace EscapeRoomEngine.Desert.Runtime +{ + [RequireComponent(typeof(Collider))] + public class Hoop : MonoBehaviour + { + [BoxGroup("Internal")] [SerializeField] + private List rings; + + public bool Solved + { + set + { + if (value) + { + rings.ForEach(ring => ring.color = ); + } + else + { + + } + } + } + + private int _orbCount; + } +} \ No newline at end of file diff --git a/Assets/Desert/Runtime/Hoop.cs.meta b/Assets/Desert/Runtime/Hoop.cs.meta new file mode 100644 index 0000000..05fcfd2 --- /dev/null +++ b/Assets/Desert/Runtime/Hoop.cs.meta @@ -0,0 +1,3 @@ +fileFormatVersion: 2 +guid: 175342625aa94174a12590b46ad484fc +timeCreated: 1670520604 \ No newline at end of file diff --git a/Assets/Desert/Runtime/Puzzle A/Ball.cs b/Assets/Desert/Runtime/Puzzle A/Ball.cs index 439b8e2..b2e2305 100644 --- a/Assets/Desert/Runtime/Puzzle A/Ball.cs +++ b/Assets/Desert/Runtime/Puzzle A/Ball.cs @@ -1,5 +1,4 @@ using EscapeRoomEngine.Engine.Runtime.Modules; -using EscapeRoomEngine.Engine.Runtime.Utilities; using NaughtyAttributes; namespace EscapeRoomEngine.Desert.Runtime.Puzzle_A @@ -9,14 +8,6 @@ namespace EscapeRoomEngine.Desert.Runtime.Puzzle_A [BoxGroup("Internal")] [Required] public Emission statusLight; [BoxGroup("Internal")] [Required] public Ring ring; - private DynamicColor _puzzleColor, _solvedColor; - - private void Awake() - { - _puzzleColor = Engine.Runtime.Engine.DefaultEngine.theme.puzzleColor; - _solvedColor = Engine.Runtime.Engine.DefaultEngine.theme.solvedColor; - } - public bool StatusLight { set => statusLight.active = value; @@ -24,14 +15,13 @@ namespace EscapeRoomEngine.Desert.Runtime.Puzzle_A public bool Active { - get => _active; set { - _active = value; - - statusLight.color = _active ? _puzzleColor.hdr : _solvedColor.hdr; - ring.rotating = _active; - if (!_active) + statusLight.color = value ? + Engine.Runtime.Engine.DefaultEngine.theme.puzzleColor.hdr + : Engine.Runtime.Engine.DefaultEngine.theme.solvedColor.hdr; + ring.rotating = value; + if (!value) { ring.crystal.Active = false; ring.symbols.ForEach(symbol => symbol.Active = false); @@ -39,8 +29,6 @@ namespace EscapeRoomEngine.Desert.Runtime.Puzzle_A } } - private bool _active; - public override void SetModule(Module module) {} } } \ No newline at end of file diff --git a/Assets/Desert/Runtime/Puzzle A/Terminal.cs b/Assets/Desert/Runtime/Puzzle A/Terminal.cs index 0c427fc..4590e7e 100644 --- a/Assets/Desert/Runtime/Puzzle A/Terminal.cs +++ b/Assets/Desert/Runtime/Puzzle A/Terminal.cs @@ -1,5 +1,4 @@ -using System; -using System.Collections.Generic; +using System.Collections.Generic; using System.Linq; using EscapeRoomEngine.Engine.Runtime.Modules; using EscapeRoomEngine.Engine.Runtime.Utilities; @@ -26,7 +25,6 @@ namespace EscapeRoomEngine.Desert.Runtime.Puzzle_A private IOption _activeSymbol; private Animator _animator; private Ball _ball; - private DynamicColor _puzzleColor, _solvedColor; private void Awake() { @@ -35,9 +33,6 @@ namespace EscapeRoomEngine.Desert.Runtime.Puzzle_A List 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() @@ -51,12 +46,12 @@ namespace EscapeRoomEngine.Desert.Runtime.Puzzle_A { case PuzzleEventType.Restarted: _ball.Active = true; - terminalLight.color = _puzzleColor.hdr; + terminalLight.color = Engine.Runtime.Engine.DefaultEngine.theme.puzzleColor.hdr; symbols.ForEach(symbol => symbol.Enable()); break; case PuzzleEventType.Solved: _ball.Active = false; - terminalLight.color = _solvedColor.hdr; + terminalLight.color = Engine.Runtime.Engine.DefaultEngine.theme.solvedColor.hdr; symbols.ForEach(symbol => symbol.Disable()); break; case PuzzleEventType.WrongInput: diff --git a/Assets/Desert/Runtime/Puzzle B/PuzzleB.cs b/Assets/Desert/Runtime/Puzzle B/PuzzleB.cs index ab1ab55..0b7edfa 100644 --- a/Assets/Desert/Runtime/Puzzle B/PuzzleB.cs +++ b/Assets/Desert/Runtime/Puzzle B/PuzzleB.cs @@ -31,17 +31,8 @@ namespace EscapeRoomEngine.Desert.Runtime.Puzzle_B [BoxGroup("Internal")] [SerializeField] private Crystal crystal; - private DynamicColor _puzzleColor, _solvedColor; private float _previousPress = -1; - protected override void Awake() - { - base.Awake(); - - _puzzleColor = Engine.Runtime.Engine.DefaultEngine.theme.puzzleColor; - _solvedColor = Engine.Runtime.Engine.DefaultEngine.theme.solvedColor; - } - protected override void Start() { base.Start(); @@ -52,15 +43,17 @@ namespace EscapeRoomEngine.Desert.Runtime.Puzzle_B switch (type) { case PuzzleEventType.Restarted: - crystal.Color = _puzzleColor; - lights.ForEach(emission => emission.color = _puzzleColor.hdr); - rotators.ForEach(rotator => rotator.Emission.color = _puzzleColor.hdr); + var color = Engine.Runtime.Engine.DefaultEngine.theme.puzzleColor; + crystal.Color = color; + lights.ForEach(emission => emission.color = color.hdr); + rotators.ForEach(rotator => rotator.Emission.color = color.hdr); buttonActions.ForEach(action => action.button.Enable()); break; case PuzzleEventType.Solved: - crystal.Color = _solvedColor; - lights.ForEach(emission => emission.color = _solvedColor.hdr); - rotators.ForEach(rotator => rotator.Emission.color = _solvedColor.hdr); + color = Engine.Runtime.Engine.DefaultEngine.theme.solvedColor; + crystal.Color = color; + lights.ForEach(emission => emission.color = color.hdr); + rotators.ForEach(rotator => rotator.Emission.color = color.hdr); buttonActions.ForEach(action => action.button.Disable()); break; } diff --git a/Assets/Desert/Runtime/Puzzle C/Dispenser.cs b/Assets/Desert/Runtime/Puzzle C/Dispenser.cs index 48fe56b..2e23675 100644 --- a/Assets/Desert/Runtime/Puzzle C/Dispenser.cs +++ b/Assets/Desert/Runtime/Puzzle C/Dispenser.cs @@ -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(); _light = GetComponent(); - _puzzleColor = Engine.Runtime.Engine.DefaultEngine.theme.puzzleColor; - _solvedColor = Engine.Runtime.Engine.DefaultEngine.theme.solvedColor; } private void Start() diff --git a/Assets/Desert/Runtime/Puzzle C/Hole.cs b/Assets/Desert/Runtime/Puzzle C/Hole.cs index 79cdb0f..22318a1 100644 --- a/Assets/Desert/Runtime/Puzzle C/Hole.cs +++ b/Assets/Desert/Runtime/Puzzle C/Hole.cs @@ -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(); - - _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(); 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; } } } diff --git a/Assets/Desert/Runtime/Puzzle C/Holes.cs b/Assets/Desert/Runtime/Puzzle C/Holes.cs index ebd15b2..e780921 100644 --- a/Assets/Desert/Runtime/Puzzle C/Holes.cs +++ b/Assets/Desert/Runtime/Puzzle C/Holes.cs @@ -13,16 +13,12 @@ namespace EscapeRoomEngine.Desert.Runtime.Puzzle_C private List _holes; private Dispenser _dispenser; - private DynamicColor _puzzleColor, _solvedColor, _activeColor; protected override void Awake() { base.Awake(); _holes = new List(GetComponentsInChildren()); - _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; } diff --git a/Assets/Portal/Runtime/PortalDriver.cs b/Assets/Portal/Runtime/PortalDriver.cs index 08fbbd1..7d294a6 100644 --- a/Assets/Portal/Runtime/PortalDriver.cs +++ b/Assets/Portal/Runtime/PortalDriver.cs @@ -1,4 +1,3 @@ -using System; using UnityEngine; using Logger = EscapeRoomEngine.Engine.Runtime.Utilities.Logger; using LogType = EscapeRoomEngine.Engine.Runtime.Utilities.LogType;