Files
modular-vr/Assets/Desert/Runtime/Puzzle A/Ball.cs

46 lines
1.2 KiB
C#

using EscapeRoomEngine.Engine.Runtime.Modules;
using NaughtyAttributes;
using UnityEngine;
namespace EscapeRoomEngine.Desert.Runtime.Puzzle_A
{
public class Ball : ModuleState
{
[BoxGroup("Internal")] [Required] public Emission statusLight;
[BoxGroup("Internal")] [Required] public Ring ring;
private Color _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;
}
public bool Active
{
get => _active;
set
{
_active = value;
statusLight.color = _active ? _puzzleColor : _solvedColor;
ring.rotating = _active;
if (!_active)
{
ring.crystal.Active = false;
ring.symbols.ForEach(symbol => symbol.Active = false);
}
}
}
private bool _active;
public override void SetModule(Module module) {}
}
}