public void PickupItem(MushroomEffect effect) { if (mushroomEffect != null) { mushroomEffect.OnEnd(gameObject, mushRoomTime, (effect is VisInstaKillMushroomEffect) ? (effect.GetComponent <AlphaNBTTag>() != null ? effect.GetComponent <AlphaNBTTag>().NBT: -1) : -1); } effect.OnStart(gameObject); mushroomEffect = effect; mushRoomTime = mushroomEffect.Time * 60 * Time.deltaTime; maxMushRoomTime = mushRoomTime; }
public override void Die() { if (GetComponent <PlayerMovement>().isNotMain&& !isDead) { GameObject.FindGameObjectWithTag("VirtualCam").GetComponent <CameraMovement>().targets.Remove(transform); isDead = true; GetComponent <Animator>().SetBool("Dead", true); //GameObject.FindGameObjectWithTag("Player").GetComponent<PlayerMovement>().hasSpawnedSecondPlayer = false; GetComponent <Rigidbody2D>().simulated = false; GetComponent <PlayerMovement>().enabled = false; if (!GameObject.FindGameObjectWithTag("Player").GetComponent <PlayerStats>().isDead) { GameObject.FindGameObjectWithTag("Player").GetComponent <PlayerStats>().Die(); } StartCoroutine(waitForDeath()); return; } if (!isDead) { isDead = true; GameManager.instance.deaths++; if (mushroomEffect != null) { mushroomEffect.OnEnd(gameObject, mushRoomTime, -1); mushroomEffect = null; mushRoomTime = 0; GameManager.instance.MushroomFillTime.fillAmount = 0; } GetComponent <Rigidbody2D>().simulated = false; GetComponent <PlayerMovement>().enabled = false; GetComponent <Animator>().SetBool("Dead", true); GetComponent <Animator>().SetBool("Crouch", false); GetComponent <Animator>().SetBool("Jump", false); GetComponent <PlayerMovement>().PlayerSpawnIndex = 2; /*if (GetComponent<PlayerMovement>().hasSpawnedSecondPlayer) * { * * * }*/ for (int i = 2; i <= GetComponent <PlayerMovement>().MaxPlayerAtATime; i++) { var gb = GameObject.FindGameObjectWithTag("Player_" + i); if (gb != null) { gb.GetComponent <PlayerStats>().Die(); } } //GetComponent<PlayerMovement>().hasSpawnedSecondPlayer = false; /*if (lastCheckPoint != null) * {*/ StartCoroutine(waitForDelayDeath2()); /*} * else * { * GameManager.instance.levelLoader.CamFollowPlayer = false; * GameManager.instance.levelLoader.cam.SetFollow(null); * StartCoroutine(waitForReload()); * }*/ } }