private void Awake()
 {
     if (instance == null)
     {
         instance = this;
     }
 }
Example #2
0
    /* Creators */
    public override void init()
    {
        // TODO : 片段程式碼function化
#if LOAD_FROM_ASSETBUNDLE
        // update analysis data asset bundle
        //updateAssetBundle(m_assetBundleAnalysisDataName);
        // get analysis data asset bundle
        LoadedAssetBundle analysisDatabundle = loadAssetBundle(m_assetBundleAnalysisDataName);
        if (analysisDatabundle == null)
        {
            DebugerManager.logError("[AssetBundleLoader] init - Load Asset Bundle Analysis Data Fail : " + m_assetBundleAnalysisDataName);
            return;
        }
        // load asset bundle dependency txt
        TextAsset analysisDataTXT = analysisDatabundle.m_assetBundle.LoadAsset <TextAsset>(m_assetBundleAnalysisDataName);
        if (analysisDataTXT == null)
        {
            DebugerManager.logError("[AssetBundleLoader] init - Load AssetBundle Analysis Data TXT Fail : " + m_assetBundleAnalysisDataName);
            return;
        }
        // analyze asset bundle analysis data
        analyzeAssetBundleAnalysisData(ref m_assetBundleCRCMap, ref m_objectBelongAssetBundleMap, analysisDataTXT);
        // release asset bundle
        unloadAssetBundle(m_assetBundleAnalysisDataName);


        // compare asset bundle CRC
        checkNeedToUpateAssetBundle(m_assetBundleFolderPath, m_assetBundleCRCMap, ref m_waitForUpdateAssetBundleNameList);

        // call update & save update
        // ...


        // load main manifest
        RuntimePlatform assetBundlePlatform;
        switch (Application.platform)
        {
        default:
            assetBundlePlatform = Application.platform;
            break;

        case RuntimePlatform.WindowsEditor:
            assetBundlePlatform = RuntimePlatform.Android;
            break;

        case RuntimePlatform.OSXEditor:
            assetBundlePlatform = RuntimePlatform.IPhonePlayer;
            break;
        }
        string            manifestAssetBundleName = getPlatformNameForAssetBundles(assetBundlePlatform);
        LoadedAssetBundle mainManifestbundle      = loadAssetBundle(manifestAssetBundleName);
        m_assetBundleManifest = mainManifestbundle.m_assetBundle.LoadAsset <AssetBundleManifest>("AssetBundleManifest");
        // release asset bundle
        unloadAssetBundle(manifestAssetBundleName);
#endif
    }