DynamicColor, Crystal prefab, Finish Puzzle B
This commit is contained in:
@@ -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)
|
||||
{
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,3 +0,0 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 3b9480c87b3b4def9c85adb088dab147
|
||||
timeCreated: 1668703088
|
||||
@@ -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);
|
||||
};
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,3 +0,0 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 3d6620bee0f14224b11a19808d537cbd
|
||||
timeCreated: 1668813872
|
||||
@@ -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:
|
||||
|
||||
Reference in New Issue
Block a user