Files
modular-vr/Assets/Station46/Modules/Portal/Scripts/Station46Portal.cs
2023-04-06 09:55:51 +02:00

38 lines
1.3 KiB
C#

using EscapeRoomEngine.Engine.Runtime.Modules.State;
using Station46.Scripts;
using UnityEngine;
namespace Station46.Modules.Portal.Scripts
{
/// <summary>
/// The Station 46 theme includes its own version of a portal that changes colour when it is unlocked.
/// </summary>
[RequireComponent(typeof(Emission))]
public class Station46Portal : EscapeRoomEngine.Portal.Runtime.Portal
{
private Emission _emission;
protected override void Awake()
{
base.Awake();
_emission = GetComponent<Emission>();
DoorEvent += (_, type) =>
{
// ReSharper disable once SwitchStatementMissingSomeEnumCasesNoDefault ConvertSwitchStatementToSwitchExpression
switch (type)
{
case DoorEventType.Unlocked:
_emission.color = EscapeRoomEngine.Engine.Runtime.Engine.Theme.solvedColor.hdr;
break;
case DoorEventType.Locked:
_emission.color = EscapeRoomEngine.Engine.Runtime.Engine.Theme.puzzleColor.hdr;
break;
}
};
_emission.active = true;
}
}
}