Files
beyond/Assets/Scripts/Effects/HiddenObject.cs
2025-02-26 13:21:50 +01:00

61 lines
1.7 KiB
C#

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.Events;
namespace Beyond
{
public class HiddenObject : Scannable
{
[Tooltip("Collider that should be active with silent peek")]
public Collider m_actionCollider;
private bool alreadyUsed = false;
[Tooltip("If true, collider will be disabled insted of enabled")]
[SerializeField]
private bool m_reverseAction = false;
// Start is called before the first frame update
private void Start()
{
if (SilentPeekController.instance != null)
SilentPeekController.instance.m_OnStateChanged.AddListener(OnSilentPeek);
if (m_actionCollider && !m_reverseAction)
m_actionCollider.enabled = false;
}
private void OnDestroy()
{
if (SilentPeekController.instance != null)
SilentPeekController.instance.m_OnStateChanged.RemoveListener(OnSilentPeek);
Compass.Instance.RemoveQuestMarker(transform);
}
private void OnSilentPeek(bool enabled)
{
if (alreadyUsed && enabled)
{
return;
}
if (m_actionCollider)
m_actionCollider.enabled = enabled ^ m_reverseAction;
}
public void MarkAsAlreadyUsed()
{
alreadyUsed = true;
}
// Update is called once per frame
private void Update()
{
}
public override void OnScanned()
{
base.OnScanned();
//Compass.Instance.AddQuestMarker(transform, null, m_minCompassDistance);
}
}
}