36 lines
1011 B
C#
36 lines
1011 B
C#
using UnityEngine;
|
|
|
|
public class MapElement : MonoBehaviour
|
|
{
|
|
[SerializeField]
|
|
private MapElementSO _elementSO;
|
|
public MapElementSO ElementSO => _elementSO;
|
|
|
|
private float _respawnElementTimer;
|
|
private int _respawnTimeout = 4;
|
|
private bool _needRespawn = false;
|
|
|
|
public void Hit()
|
|
{
|
|
gameObject.GetComponent<BoxCollider2D>().enabled=false;
|
|
gameObject.GetComponentInChildren<SpriteRenderer>().enabled = false;
|
|
|
|
_respawnElementTimer = _respawnTimeout;
|
|
_needRespawn = true;
|
|
}
|
|
|
|
private void Update()
|
|
{
|
|
if (_needRespawn)
|
|
{
|
|
_respawnElementTimer -= Time.deltaTime;
|
|
if (_respawnElementTimer <= 0)
|
|
{
|
|
_respawnElementTimer = _respawnTimeout;
|
|
gameObject.GetComponent<BoxCollider2D>().enabled = true;
|
|
gameObject.GetComponentInChildren<SpriteRenderer>().enabled = true;
|
|
_needRespawn = false;
|
|
}
|
|
}
|
|
}
|
|
} |