コード例 #1
0
ファイル: BossVisuals.cs プロジェクト: Blaster391/LD48
    // Update is called once per frame
    void Update()
    {
        bool isFinalForm = m_finalForm;

        m_lastUpdateTime += Time.deltaTime;
        float updateTime = 1 / (isFinalForm ? m_updateSpeed : m_finalPhaseUpdateSpeed);

        if (m_lastUpdateTime > updateTime)
        {
            m_lastUpdateTime = 0;
            m_index++;

            if (m_index > 100000000)
            {
                m_index = 0;
            }

            if (isFinalForm)
            {
                m_body.sprite = m_finalFormSprites[m_index % m_finalFormSprites.Count];
            }
            else
            {
                m_body.sprite = m_bodySprites[m_index % m_bodySprites.Count];
            }


            List <Sprite> faceSprites = m_restFaceSprites;
            switch (m_bossAI.GetState())
            {
            case BossState.Roar:
                faceSprites = m_roarFaceSprites;
                break;

            case BossState.Rest:
                faceSprites = m_restFaceSprites;
                break;

            case BossState.PounceCharging:
                faceSprites = m_pouncingFaceSprites;
                break;

            case BossState.Pouncing:
                faceSprites = m_pouncingFaceSprites;
                break;

            case BossState.SpinAttack:
                faceSprites = m_spinFaceSprites;
                break;

            case BossState.Shotgun:
                faceSprites = m_shotgunFaceSprites;
                break;

            case BossState.Summon:
                faceSprites = m_summonFaceSprites;
                break;

            case BossState.Dying:
                faceSprites = m_roarFaceSprites;
                break;
            }

            m_face.sprite = faceSprites[m_index % faceSprites.Count];
        }
    }