using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using Ktyl.Util;

public class PlayerDeath : MonoBehaviour
{
    [SerializeField] private SerialVector3 _respawnPosition;
    [SerializeField] private GameEvent _playerDeath;
    [SerializeField] private GameEvent _playerRespawn;

    public void Respawn()
    {
        StartCoroutine(RespawnPlayerCR());
    }

    // raise death/respawn events with a given intermediate delay
    public IEnumerator RespawnPlayerCR()
    {
        _playerDeath.Raise();

        yield return new WaitForSeconds(1.5f);

        // move player to respawn position
        transform.position = _respawnPosition;

        // need to wait a bit for the respawn to actually work?? >:v
        yield return new WaitForSeconds(0.5f);
        
        _playerRespawn.Raise();
    }
}
