void Start() { initialGravity = rigidbody2D.gravityScale; footLayer = LayerMask.NameToLayer("foot"); platformLayer = LayerMask.NameToLayer("platform"); animator = this.GetComponent <CarvalloAnimator>(); MeleeFired += animator.Attack1; }
private IEnumerator RespawnInternal() { GameObject respawnPlatform = GameObject.Instantiate(respawnPlatformPrefab, transform.position + Vector3.down * 2, transform.rotation) as GameObject; invincible = true; yield return(new WaitForSeconds(0.1f)); CarvalloAnimator ca = GetComponent <CarvalloAnimator>(); bool ticktock = false; Vector3 modelLocalPos = ca.model.transform.localPosition; for (int i = 0; i < 50; ++i) { if (ticktock) { ca.model.transform.position = Camera.main.transform.position + Vector3.back * 10; } else { ca.model.transform.localPosition = modelLocalPos; } yield return(new WaitForSeconds(0.02f)); ticktock = !ticktock; } ca.model.transform.localPosition = modelLocalPos; invincible = false; yield return(new WaitForSeconds(0.5f)); List <Renderer> platformRenderers = respawnPlatform.GetComponentsInChildren <Renderer>().ToList(); for (int i = 0; i < 50; ++i) { yield return(new WaitForSeconds(0.02f)); foreach (Renderer r in platformRenderers) { r.enabled = !r.enabled; } } GameObject.Destroy(respawnPlatform); }