private void Awake() { if (instance == null) { instance = this; } }
/* 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 }