//----------------------------------------------------------------------------

    /*!
     *          @brief	進化演出ステップ:キャラシルエット化
     *          @note
     */
    //----------------------------------------------------------------------------
    void ExecStep_090_CharaShadow()
    {
        //-------------------
        // トリガー処理
        //-------------------
        if (m_WorkStepTriger == true)
        {
            //----------------------------------------
            // エフェクトを発生
            //----------------------------------------
            Vector3 vEffectPosition = m_ReferObject[OBJECT_CHARA_MESH_ROOT].transform.position;
            vEffectPosition.y  = m_EffectPosY;
            vEffectPosition.z += GlobalDefine.UNITDETAIL_EFFECT_OFFSET_Z;
            if (EffectManager.Instance.isPlayingEffect(EVOL_EFF_NAME))
            {
                EffectManager.Instance.stopEffect(EVOL_EFF_NAME);
            }
            GameObject _effObj = EffectManager_OLD.CreateEffect2D(ref vEffectPosition, SceneObjReferMainMenu.Instance.m_EffectEvolFix, gameObject, EVOL_EFF_NAME);
            UnityUtil.SetSortingOrder(_effObj, "EFFECT");
            _effObj.transform.localScale = new Vector3(EFFECT_SCALE, EFFECT_SCALE, EFFECT_SCALE);
        }

        //-------------------
        // 更新完遂待ち
        //-------------------
        m_WorkStepDelta += Time.deltaTime;
        if (m_WorkStepDelta >= MainMenuDefine.UPDATE_WAIT_TIME)
        {
            m_WorkStep++;
        }
    }
Beispiel #2
0
    //----------------------------------------------------------------------------

    /*!
     *          @brief	リンク演出ステップ:リンクユニットカットイン
     *          @note
     */
    //----------------------------------------------------------------------------
    void ExecStep_030_LinkCutin()
    {
        //-------------------
        // トリガー処理
        //-------------------
        if (m_WorkStepTriger == true)
        {
            //----------------------------------------
            // カットイン準備
            //----------------------------------------
            m_CutinLink.SetupCutin();

            //---------------------------------------
            // オブジェクトのセットアップが完了したので、アニメーション発行
            //----------------------------------------
            m_CutinLink.StartAnimAll(MainMenuDefine.ANIM_FIX_UNIT_IN);

            //----------------------------------------
            // エフェクトを発生
            //----------------------------------------
            Vector3 vEffectPosition = m_ReferObject[OBJECT_CHARA_MESH].transform.position;
            vEffectPosition.y  = m_EffectPosY;
            vEffectPosition.z += GlobalDefine.UNITDETAIL_EFFECT_OFFSET_Z;
            GameObject _effObj = EffectManager_OLD.CreateEffect2D(ref vEffectPosition, SceneObjReferMainMenu.Instance.m_EffectEvolCutinFriend, gameObject);
            UnityUtil.SetSortingOrder(_effObj, "EFFECT");
            _effObj.transform.localScale = new Vector3(EFFECT_SCALE, EFFECT_SCALE, EFFECT_SCALE);

            //----------------------------------------
            // SE再生
            //----------------------------------------
            SoundUtil.PlaySE(SEID.SE_MM_D01_FRIEND_UNIT);
        }


        //-------------------
        // 更新完遂待ち
        //-------------------
        if (m_CutinLink.isBaseAnimPlay == true)
        {
            return;
        }

        m_WorkStep++;
    }
    //----------------------------------------------------------------------------

    /*!
     *          @brief	進化演出ステップ:素材ユニットカットイン
     *          @note
     */
    //----------------------------------------------------------------------------
    void ExecStep_050_MaterialCutin()
    {
        //-------------------
        // トリガー処理
        //-------------------
        if (m_WorkStepTriger == true)
        {
        }

        //----------------------------------------
        // AssetBundleの反映前チェック
        //----------------------------------------
        bool bAssetBundleAssignEnd = true;

        for (int i = 0; i < m_EvolCutinParts.Length; i++)
        {
            if (m_EvolCutinParts[i].isTexture)
            {
                bAssetBundleAssignEnd = false;
                break;
            }
        }
        if (bAssetBundleAssignEnd == false)
        {
            //----------------------------------------
            // カットイン準備
            //----------------------------------------
            for (int i = 0; i < m_EvolCutinParts.Length; i++)
            {
                if (m_EvolCutinParts[i].SetupCutin(true) == false)
                {
                    return;
                }
            }
        }

        //-------------------
        // 次が発行可能かチェック
        //-------------------
        bool bNextCutin = true;

        for (int i = 0; i < m_EvolCutinParts.Length; i++)
        {
            if (m_EvolCutinParts[i].isBaseAnimPlay == false)
            {
                continue;
            }

            bNextCutin = false;
            break;
        }
        if (bNextCutin == false)
        {
            return;
        }


        //-------------------
        // 次の素材がいないなら完遂
        //-------------------
        int nPartsNum = (int)(m_WorkStepDelta + 0.1f);

        if (nPartsNum >= m_EvolCutinParts.Length)
        {
            m_WorkStep++;
            return;
        }

        //-------------------
        // 次の素材がいるならカットイン呼び出し
        //-------------------
        {
            // 1つ前のキャラカットイン終了アニメーション
            int nWorkStepPrev = nPartsNum - 1;
            if (nWorkStepPrev >= 0)
            {
                m_EvolCutinParts[nWorkStepPrev].StartAnimUnit(MainMenuDefine.ANIM_COST_UNIT_OUT);
            }

            m_EvolCutinParts[nPartsNum].StartAnimAll(MainMenuDefine.ANIM_COST_UNIT_IN);

            // 最後のアクセス番号を保存
            m_LastPartsIdx = nPartsNum;

            m_WorkStepDelta += 1.0f;

            //----------------------------------------
            // エフェクトを発生
            //----------------------------------------
            Vector3 vEffectPosition = m_ReferObject[OBJECT_CHARA_MESH_ROOT].transform.position;
            vEffectPosition.y  = m_EffectPosY;
            vEffectPosition.z += GlobalDefine.UNITDETAIL_EFFECT_OFFSET_Z;
            GameObject _effObj = EffectManager_OLD.CreateEffect2D(ref vEffectPosition, SceneObjReferMainMenu.Instance.m_EffectEvolCutinParts, gameObject);
            UnityUtil.SetSortingOrder(_effObj, "EFFECT");
            _effObj.transform.localScale = new Vector3(EFFECT_SCALE, EFFECT_SCALE, EFFECT_SCALE);

            //----------------------------------------
            // SE再生
            //----------------------------------------
            SoundUtil.PlaySE(SEID.SE_MM_D02_MATERIAL_UNIT);
        }
    }
Beispiel #4
0
    //----------------------------------------------------------------------------

    /*!
     *          @brief	リンク演出ステップ:リンク
     *          @note
     */
    //----------------------------------------------------------------------------
    void ExecStep_090_LinkOn()
    {
        //----------------------------------------
        // トリガー処理
        //----------------------------------------
        if (m_WorkStepTriger == true)
        {
            //----------------------------------------
            // リンクのロゴ表示
            //----------------------------------------
            if (m_AnimationShotLogo[LAYER_LOGO_LINKON] != null)
            {
                UnityUtil.SetObjectEnabled(m_AnimationShotLogo[LAYER_LOGO_LINKON].gameObject, true);
                m_AnimationShotLogo[LAYER_LOGO_LINKON].PlayAnimation(AnimationClipShot.SHOT_ANIM.PLAY);
            }

            //----------------------------------------
            // エフェクトを出す
            //----------------------------------------
            if (SceneObjReferMainMenu.Instance.m_EffectLinkOn != null)
            {
                Vector3    vPos    = new Vector3(0, m_EffectPosY, 0);
                GameObject _effObj = EffectManager_OLD.CreateEffect2D(ref vPos, SceneObjReferMainMenu.Instance.m_EffectLinkOn, gameObject);
                UnityUtil.SetSortingOrder(_effObj, "EFFECT");
                _effObj.transform.localScale = new Vector3(EFFECT_SCALE, EFFECT_SCALE, EFFECT_SCALE);
            }

            //----------------------------------------
            // 「LINK ON」ボイス再生
            //----------------------------------------
            SoundUtil.PlaySE(SEID.VOICE_INGAME_MM_LINK_ON);

            //----------------------------------------
            // SE再生
            //----------------------------------------
            SoundUtil.PlaySE(SEID.SE_MM_D10_EVOLVE_COMP);
        }

        //----------------------------------------
        // アニメーション待ち
        //----------------------------------------
        if (m_AnimationShotLogo[LAYER_LOGO_LINKON] != null &&
            m_AnimationShotLogo[LAYER_LOGO_LINKON].ChkAnimationPlaying() == true)
        {
            return;
        }


        //----------------------------------------
        // 表示は切っておく
        //----------------------------------------
        if (m_AnimationShotLogo[LAYER_LOGO_LINKON] != null)
        {
            UnityUtil.SetObjectEnabled(m_AnimationShotLogo[LAYER_LOGO_LINKON].gameObject, false);
        }

        //----------------------------------------
        // 次のステップへ遷移
        //----------------------------------------
        m_WorkStep++;
    }