Пример #1
0
 public void Death()
 {
     if (dead)
     {
         elapsedTime += Time.deltaTime;
         if (elapsedTime >= intervalTime)
         {
             BossClear.SubCount(1);
             Destroy(gameObject);
         }
     }
 }
Пример #2
0
    // Update is called once per frame
    void Update()
    {
        if (PlayerManager.isWishMode || WishManager.wishProductionFlag)
        {
            return;
        }

        Stop();

        if (IsDead)
        {
            skinnedMeshRenderer.enabled = true;

            //死亡してから、アニメーションが終わるまでのおおよその時間経過でパーティクル生成、
            //かつ、return以下の処理を行わない
            deadElapsedTime += Time.deltaTime;
            if (deadElapsedTime >= 2)
            {
                Instantiate(downParticle, transform.position, Quaternion.identity);
                BossClear.SubCount(1);
                Destroy(gameObject);
            }
            return;
        }

        //体力が半分を切ったら、2倍の速度に変化
        if (hp <= maxHp / 2)
        {
            speed = 2;
        }

        switch (mode)
        {
        case Mode.NORMAL:
            StartCoroutine(DirectionCoroutine());
            break;

        case Mode.MOVE:
            StartCoroutine(MoveCoroutine());
            break;

        case Mode.ATTACK_STAR:
            StarAttack();
            Mode_MoveChange();
            break;

        default:
            break;
        }

        NowInvincible();
        Death();
    }
Пример #3
0
    // Update is called once per frame
    void Update()
    {
        if (PlayerManager.isWishMode || WishManager.wishProductionFlag)
        {
            Stop();
            return;
        }

        Death();

        if (IsDead)
        {
            //死亡してから、アニメーションが終わるまでのおおよその時間経過でパーティクル生成、
            //かつ、return以下の処理を行わない
            deadElapsedTime += Time.deltaTime;
            if (deadElapsedTime >= 2)
            {
                Instantiate(downParticle, transform.position, Quaternion.identity);
                BossClear.SubCount(2);
                Destroy(gameObject);
            }
            return;
        }

        if (hp <= maxHp / 2)
        {
            speed = 1.5f;
        }

        switch (mode)//状態に応じた処理を実行
        {
        case Mode.WAIT:
            Stop();
            StartCoroutine(DirectionCoroutine());
            RushPrepare();
            SetOnRight();
            anim.speed = 1 * speed;
            break;

        case Mode.RUSH:
            if (!isTurn)
            {
                RushAttack();
            }
            else
            {
                TurnRush();
            }
            break;

        case Mode.STAN:
            Stop();
            NowStan();
            anim.speed = 1;
            break;

        default:
            break;
        }

        HugingScale();
    }