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); } } }