Files
MagicDog/Assets/Scripts/HiddenObject.cs
2026-04-14 16:37:06 +02:00

50 lines
1.1 KiB
C#

using System;
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.Assertions;
public class HiddenObject : MonoBehaviour
{
private MeshRenderer _renderer;
private GameManager _gameManager;
private void Awake()
{
_renderer = GetComponent<MeshRenderer>();
Assert.IsNotNull(_renderer);
_renderer.enabled = false;
_gameManager = GameObject.Find("GameManager").GetComponent<GameManager>();
Assert.IsNotNull(_gameManager);
}
public void ShowObjectForSeconds(int seconds)
{
if (_renderer.enabled)
{
return;
}
StartCoroutine(ShowObjectForSecondsEnumerator(seconds));
}
private IEnumerator ShowObjectForSecondsEnumerator(int seconds)
{
_renderer.enabled = true;
yield return new WaitForSeconds(seconds);
_renderer.enabled = false;
}
private void OnTriggerEnter(Collider other)
{
if (!other.name.Equals("Player"))
{
return;
}
_gameManager.CollectKey();
Destroy(gameObject);
}
}