using Platformer.Core;
using Platformer.Mechanics;
using Platformer.Model;
namespace Platformer.Gameplay
{
///
/// Fired when the player is spawned after dying.
///
public class PlayerSpawn : Simulation.Event
{
PlatformerModel model = Simulation.GetModel();
public override void Execute()
{
var player = model.player;
player.collider2d.enabled = true;
player.controlEnabled = false;
if (player.audioSource && player.respawnAudio)
player.audioSource.PlayOneShot(player.respawnAudio);
player.health.Increment();
player.Teleport(model.spawnPoint.transform.position);
player.jumpState = PlayerController.JumpState.Grounded;
player.animator.SetBool("dead", false);
model.virtualCamera.m_Follow = player.transform;
model.virtualCamera.m_LookAt = player.transform;
Simulation.Schedule(2f);
}
}
}