DynamicColor, Crystal prefab, Finish Puzzle B

This commit is contained in:
2022-11-28 23:31:00 +01:00
parent 60e390a993
commit 450c16c94f
63 changed files with 2915 additions and 361 deletions

View File

@@ -1,6 +1,6 @@
using EscapeRoomEngine.Engine.Runtime.Modules;
using EscapeRoomEngine.Engine.Runtime.Utilities;
using NaughtyAttributes;
using UnityEngine;
namespace EscapeRoomEngine.Desert.Runtime.Puzzle_A
{
@@ -9,7 +9,7 @@ namespace EscapeRoomEngine.Desert.Runtime.Puzzle_A
[BoxGroup("Internal")] [Required] public Emission statusLight;
[BoxGroup("Internal")] [Required] public Ring ring;
private Color _puzzleColor, _solvedColor;
private DynamicColor _puzzleColor, _solvedColor;
private void Awake()
{
@@ -29,7 +29,7 @@ namespace EscapeRoomEngine.Desert.Runtime.Puzzle_A
{
_active = value;
statusLight.color = _active ? _puzzleColor : _solvedColor;
statusLight.color = _active ? _puzzleColor.hdr : _solvedColor.hdr;
ring.rotating = _active;
if (!_active)
{

View File

@@ -1,33 +0,0 @@
using NaughtyAttributes;
using UnityEngine;
namespace EscapeRoomEngine.Desert.Runtime.Puzzle_A
{
[RequireComponent(typeof(Emission))]
public class Crystal : MonoBehaviour
{
[Required] public Light crystalLight;
public bool Active
{
get => _emission.active;
set
{
_emission.active = value;
crystalLight.enabled = value;
}
}
private Emission _emission;
private void Awake()
{
_emission = GetComponent<Emission>();
}
private void Start()
{
Active = false;
}
}
}

View File

@@ -1,3 +0,0 @@
fileFormatVersion: 2
guid: 3b9480c87b3b4def9c85adb088dab147
timeCreated: 1668703088

View File

@@ -1,45 +0,0 @@
using NaughtyAttributes;
using UnityEngine;
namespace EscapeRoomEngine.Desert.Runtime.Puzzle_A
{
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 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()
{
base.Start();
ButtonEvent += (_, _) =>
{
var color = _puzzleColor;
if (!Active)
{
color = _solvedColor;
} else if (Pressed)
{
color = _activeColor;
}
_material.SetColor(FresnelColor, color);
_material.SetColor(Color, color);
};
}
}
}

View File

@@ -1,3 +0,0 @@
fileFormatVersion: 2
guid: 3d6620bee0f14224b11a19808d537cbd
timeCreated: 1668813872

View File

@@ -26,7 +26,7 @@ namespace EscapeRoomEngine.Desert.Runtime.Puzzle_A
private IOption<Symbol> _activeSymbol;
private Animator _animator;
private Ball _ball;
private Color _puzzleColor, _solvedColor;
private DynamicColor _puzzleColor, _solvedColor;
private void Awake()
{
@@ -50,12 +50,12 @@ namespace EscapeRoomEngine.Desert.Runtime.Puzzle_A
{
case PuzzleEventType.Restarted:
_ball.Active = true;
terminalLight.color = _puzzleColor;
terminalLight.color = _puzzleColor.hdr;
symbols.ForEach(symbol => symbol.Enable());
break;
case PuzzleEventType.Solved:
_ball.Active = false;
terminalLight.color = _solvedColor;
terminalLight.color = _solvedColor.hdr;
symbols.ForEach(symbol => symbol.Disable());
break;
case PuzzleEventType.WrongInput: