예제 #1
0
 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;
 }
예제 #2
0
    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());
             * }*/
        }
    }