// [MenuItem("Hugula/Android IL2CPP Project publish ", false, 16)] static void BuildForAndroidProjectIL2CPP() { string path = "../../release/android_il2cpp"; path = Path.GetFullPath(path); exportingAndroidProject = true; AndroidSettings(); EditorUtils.DirectoryDelete(path); EditorUtils.CheckDirectory(path); #if UNITY_5_6_OR_NEWER PlayerSettings.SetScriptingBackend(BuildTargetGroup.Android, ScriptingImplementation.IL2CPP); #else PlayerSettings.SetPropertyInt("ScriptingBackend", (int)ScriptingImplementation.IL2CPP, BuildTargetGroup.Android); #endif if (setting.ToLower().Contains("development")) { GenericBuild(GetBuildScenes(), path, BuildTarget.Android, BuildOptions.Development | BuildOptions.AcceptExternalModificationsToPlayer); } else { GenericBuild(GetBuildScenes(), path, BuildTarget.Android, BuildOptions.AcceptExternalModificationsToPlayer); } // PlayerSettings.SetPropertyInt("ScriptingBackend", (int)ScriptingImplementation.Mono2x, BuildTargetGroup.Android); CUtils.DebugCastTime("Time BuildForAndroidProjectIL2CPP End"); }
static void ExportRes() { Settings(); CUtils.DebugCastTime("Time ExportRes Begin"); ExportResources.exportPublish();//资源 CUtils.DebugCastTime("Time exportPublish End"); }
// Use this for initialization void Start() { //load manifest CUtils.DebugCastTime("LoadingFirst"); Hugula.Localization.language = PlayerPrefs.GetString("Language", Application.systemLanguage.ToString()); LoadFirstHelper.LoadManifest(sceneAssetBundleName, sceneName); }
static void OnSceneAbLoaded(CRequest req) { #if HUGULA_LOADER_DEBUG Debug.LogFormat("OnSceneAbLoaded {0} is done !", req.url); #endif CUtils.DebugCastTime("On " + sceneName + "Loaded"); }
/// <summary> /// Builds the asset bundles update A. /// </summary> public static void buildAssetBundlesUpdateAB() { EditorUtility.DisplayProgressBar("Generate FileList", "loading bundle manifest", 1 / 2); AssetDatabase.Refresh(); string readPath = BuildScript.GetFileStreamingOutAssetsPath();// 读取Streaming目录 var u3dList = getAllChildFiles(readPath, @"\.meta$|\.manifest$|\.DS_Store$|\.u$", null, false); List <string> assets = new List <string>(); foreach (var s in u3dList) { string ab = GetAssetPath(s); //s.Replace(readPath, "").Replace("/", "").Replace("\\", ""); assets.Add(ab); } readPath = BuildScript.GetLuaBytesResourcesPath();// 读取lua 目录 u3dList = getAllChildFiles(readPath, @"\.bytes$", null); foreach (var s in u3dList) { string ab = GetAssetPath(s); //s.Replace(readPath, "").Replace("/", "").Replace("\\", ""); assets.Add(ab); } EditorUtility.ClearProgressBar(); CUtils.DebugCastTime("Time Generate FileList End"); Debug.Log("all assetbundle count = " + assets.Count); BuildScript.GenerateAssetBundlesUpdateFile(assets.ToArray()); CUtils.DebugCastTime("Time GenerateAssetBundlesUpdateFile End"); }
// Use this for initialization IEnumerator Start() { CUtils.DebugCastTime("LoadingFirst.Start"); //load manifest ResourcesLoader.Initialize(); CUtils.DebugCastTime("LoadingFirst.Initialize"); LogSys(); LoadFirstHelper.LoadFileManifest(sceneAssetBundleName, sceneName); yield return(null); #if UNITY_ANDROID //&& !UNITY_EDITOR if (ManifestManager.fileManifest == null) { //obb丢失 } #endif Hugula.Localization.language = PlayerPrefs.GetString("Language", Application.systemLanguage.ToString()); yield return(new WaitForLanguageHasBeenSet()); if (ManifestManager.CheckNeedUncompressStreamingAssets()) { // todo } LoadFirstHelper.BeginLoadScene(enterLua); }
static void OnSceneAbLoaded(CRequest req) { LResLoader.instance.OnSharedComplete -= OnSharedComplete; #if HUGULA_LOADER_DEBUG Debug.LogFormat("OnSceneAbLoaded {0} is done !", req.url); #endif CUtils.DebugCastTime("On " + sceneName + "Loaded"); }
public static void BuildAssetBundles() { CUtils.DebugCastTime("Time HandleUpdateMaterail End"); CheckstreamingAssetsPath(); CUtils.DebugCastTime("Time CheckstreamingAssetsPath End"); BuildPipeline.BuildAssetBundles(GetOutPutPath(), optionsDefault, target); CUtils.DebugCastTime("Time BuildPipeline.BuildAssetBundles End"); }
void Start() { CUtils.DebugCastTime("Plua Start"); lua.init(null, () => { CUtils.DebugCastTime("Slua binded"); DoMain(); }); }
public static void GenerateAssetBundlesUpdateFile(string[] allBundles) { string title = "Generate Update File "; string info = "Compute crc32"; EditorUtility.DisplayProgressBar(title, info, 0.1f); Dictionary <string, object[]> firstCrcDict = new Dictionary <string, object[]>(); HashSet <string> manualFileList = new HashSet <string>(); Dictionary <string, object[]> currCrcDict = new Dictionary <string, object[]>(); Dictionary <string, object[]> diffCrcDict = new Dictionary <string, object[]>(); #region 读取首包 bool firstExists = SplitPackage.ReadFirst(firstCrcDict, manualFileList); #endregion SplitPackage.DeleteSplitPackageResFolder(); #region 生成校验列表 SplitPackage.UpdateOutPath = null; AssetDatabase.Refresh(); StringBuilder[] sbs = SplitPackage.CreateCrcListContent(allBundles, firstCrcDict, currCrcDict, diffCrcDict, manualFileList); uint streaming_crc = SplitPackage.CreateStreamingCrcList(sbs[0]); //本地列表 // System.Threading.Thread.Sleep(1000); uint diff_crc = SplitPackage.CreateStreamingCrcList(sbs[1], firstExists, SplitPackage.UpdateOutPath); //增量列表 // System.Threading.Thread.Sleep(1000); CUtils.DebugCastTime("Time CreateStreamingCrcList End"); #endregion #region 生成版本号 //生成版本号码 SplitPackage.CreateVersionAssetBundle(diff_crc); CUtils.DebugCastTime("Time CreateVersionAssetBundle End"); #endregion #region copy更新文件导出 SplitPackage.CopyVersionToSplitFolder(diff_crc); SplitPackage.CopyChangeFileToSplitFolder(firstExists, firstCrcDict, currCrcDict, diffCrcDict, manualFileList); CUtils.DebugCastTime("Time CopyChangeFileToSplitFolder End"); Debug.LogFormat("streaming_crc={0},diff_crc{1}", streaming_crc, diff_crc); Debug.LogFormat(" firstCrcDict={0},currCrcDict={1},diffCrcDict={2},manualFileList={3}", firstCrcDict.Count, currCrcDict.Count, diffCrcDict.Count, manualFileList.Count); #endregion #region 除手动加载文件 #if (UNITY_ANDROID || UNITY_IOS) //&& !UNITY_EDITOR SplitPackage.DeleteStreamingFiles(manualFileList); #endif #endregion EditorUtility.ClearProgressBar(); }
public static void BuildAssetBundles() { CUtils.DebugCastTime("Time HandleUpdateMaterail End"); EditorUtils.CheckstreamingAssetsPath(); CUtils.DebugCastTime("Time CheckstreamingAssetsPath End"); var ab = BuildPipeline.BuildAssetBundles(EditorUtils.GetOutPutPath(), SplitPackage.DefaultBuildAssetBundleOptions, target); SplitPackage.CreateStreamingFileManifest(ab); CUtils.DebugCastTime("Time BuildPipeline.BuildAssetBundles End"); }
// [MenuItem("Hugula/IOS Publish ", false, 16)] static void BuildForIOS() { CUtils.DebugCastTime("Time BuildForIOS Begin"); string path = "../../release/ios"; path = Path.GetFullPath(path); ExportResources.DirectoryDelete(path); ExportResources.CheckDirectory(path); BuildPipeline.BuildPlayer(GetBuildScenes(), path, BuildTarget.iOS, BuildOptions.None); CUtils.DebugCastTime("Time BuildForIOS End"); }
/// <summary> /// Pre Init Lua. /// </summary> /// <param name="sconds">Sconds.</param> public void PreInitLua () { #if !HUGULA_RELEASE Debug.LogFormat ("ManagedThreadId = {0},frame={1}", System.Threading.Thread.CurrentThread.ManagedThreadId, Time.frameCount); #endif if (lua == null) lua = new Lua (); Debug.LogFormat ("PreInitLua {0}", lua); CUtils.DebugCastTime (""); lua.init (null, () => { CUtils.DebugCastTime ("Slua binded"); isLuaInitFinished = true; }, LuaSvrFlag.LSF_3RDDLL); }
public static void exportPublish() { exportLua(); CUtils.DebugCastTime("Time exportLua End"); exportLanguage(); exportConfig(); BuildScript.BuildAssetBundles(); //导出资源 // CleanAssetbundle.Clean(); //清理多余的资源 CUtils.DebugCastTime("Time BuildAssetBundles End"); buildAssetBundlesUpdateAB();//更新列表和版本号码 CUtils.DebugCastTime("Time buildAssetBundlesUpdateAB End"); }
/// <summary> /// Pre Init Lua. /// </summary> /// <param name="sconds">Sconds.</param> public static void PreInitLua() { if (lua == null) { lua = new Lua(); } CUtils.DebugCastTime(""); lua.init(null, () => { CUtils.DebugCastTime("Slua binded"); isLuaInitFinished = true; }, LuaSvrFlag.LSF_3RDDLL); }
public static void LoadFileManifest() { #if UNITY_EDITOR Debug.LogFormat("<color=green>SimulateAssetBundleInEditor {0} mode </color> <color=#8cacbc> change( menu AssetBundles/Simulation Mode)</color>", ManifestManager.SimulateAssetBundleInEditor ? "simulate" : "assetbundle"); // if (ManifestManager.SimulateAssetBundleInEditor) // { // return; // } #endif ManifestManager.LoadFileManifest(null); ManifestManager.LoadUpdateFileManifest(null); CUtils.DebugCastTime("LoadingFirst.LoadFileManifest"); }
public static void BeginLoadScene() { CUtils.DebugCastTime("LoadingFirst"); var req = LRequest.Get(); req.relativeUrl = CUtils.GetRightFileName(sceneAssetBundleName); req.assetName = sceneName; req.OnComplete = OnSceneAbLoaded; req.OnEnd = OnSceneAbError; req.assetType = CacheManager.Typeof_ABScene; req.async = true; LResLoader.instance.LoadReq(req); }
//开始加载场景 public static void BeginLoadScene() { ResourcesLoader.OnAssetBundleComplete = OnSharedComplete; CUtils.DebugCastTime("LoadingFirst.BeginLoadScene"); var req = CRequest.Get(); req.relativeUrl = CUtils.GetRightFileName(sceneAssetBundleName); req.assetName = sceneName; req.OnComplete = OnSceneAbLoaded; req.OnEnd = OnSceneAbError; req.assetType = CacheManager.Typeof_ABScene; CacheManager.Unload(req.keyHashCode); ResourcesLoader.LoadAsset(req); }
internal static void LoadFileManifest(string sceneAbName, string scenename) { sceneAssetBundleName = sceneAbName; sceneName = scenename; #if UNITY_EDITOR Debug.LogFormat("<color=green>SimulateAssetBundleInEditor {0} mode </color> <color=#8cacbc> change( menu AssetBundles/Simulation Mode)</color>", ManifestManager.SimulateAssetBundleInEditor ? "simulate" : "assetbundle"); // if (ManifestManager.SimulateAssetBundleInEditor) // { // return; // } #endif ManifestManager.LoadFileManifest(null); CUtils.DebugCastTime("LoadingFirst.LoadFileManifest"); }
//开始加载场景 internal static void BeginLoadScene(string beginLua) { ManifestManager.LoadUpdateFileManifest(null); PLua.DestoryLua(); PLua.enterLua = beginLua; CUtils.DebugCastTime("LoadingFirst"); var req = CRequest.Get(); req.relativeUrl = CUtils.GetRightFileName(sceneAssetBundleName); req.assetName = sceneName; req.OnComplete = OnSceneAbLoaded; req.OnEnd = OnSceneAbError; req.assetType = CacheManager.Typeof_ABScene; req.async = true; ResourcesLoader.LoadAsset(req); ResourcesLoader.OnAssetBundleComplete = OnSharedComplete; }
// [MenuItem("Hugula/Android publish ", false, 16)] static void BuildForAndroid() { string path = "hugula.apk"; path = Path.GetFullPath(path); exportingAndroidProject = false; //copy android plugins AndroidSettings("mono"); PlayerSettings.SetPropertyInt("ScriptingBackend", (int)ScriptingImplementation.Mono2x, BuildTargetGroup.Android); if (setting.ToLower().Contains("development")) { GenericBuild(GetBuildScenes(), path, BuildTarget.Android, BuildOptions.Development); } else { GenericBuild(GetBuildScenes(), path, BuildTarget.Android, BuildOptions.None); } CUtils.DebugCastTime("Time BuildForAndroid End"); }
// [MenuItem("Hugula/IOS Publish ", false, 16)] static void BuildForIOS() { CUtils.DebugCastTime("Time BuildForIOS Begin"); string path = "../Release/iOS"; path = Path.GetFullPath(path); IOSSettings(); EditorUtils.DirectoryDelete(path); EditorUtils.CheckDirectory(path); if (setting.ToLower().Contains("development")) { GenericBuild(GetBuildScenes(), path, BuildTarget.iOS, BuildOptions.Development); } else { GenericBuild(GetBuildScenes(), path, BuildTarget.iOS, BuildOptions.None); } CUtils.DebugCastTime("Time BuildForIOS End"); }
// [MenuItem("Hugula/Android Project publish ", false, 16)] static void BuildForAndroidProject() { string path = "../../release/android"; path = Path.GetFullPath(path); exportingAndroidProject = true; AndroidSettings("mono"); EditorUtils.DirectoryDelete(path); EditorUtils.CheckDirectory(path); if (setting.ToLower().Contains("development")) { GenericBuild(GetBuildScenes(), path, BuildTarget.Android, BuildOptions.Development | BuildOptions.AcceptExternalModificationsToPlayer); } else { GenericBuild(GetBuildScenes(), path, BuildTarget.Android, BuildOptions.AcceptExternalModificationsToPlayer); } CUtils.DebugCastTime("Time BuildForAndroidProject End"); }
// Use this for initialization IEnumerator Start() { CUtils.DebugCastTime("LoadingFirst.Start"); //load manifest ResourcesLoader.Initialize(); CUtils.DebugCastTime("LoadingFirst.Initialize"); LogSys(); LoadFirstHelper.LoadFileManifest(); yield return(new WaitForSeconds(0.16f)); Hugula.Localization.language = PlayerPrefs.GetString("Language", Application.systemLanguage.ToString()); yield return(new WaitForLanguageHasBeenSet()); LoadFirstHelper.SetScene(sceneAssetBundleName, sceneName); if (ManifestManager.CheckNeedUncompressStreamingAssets()) { // todo } LoadFirstHelper.BeginLoadScene(); }
// [MenuItem("Hugula/Android iL2CPP publish ", false, 16)] static void BuildForAndroidIL2CPP() { string path = "hugula.apk"; path = Path.GetFullPath(path); exportingAndroidProject = false; //copy android plugins AndroidSettings(); #if UNITY_5_6_OR_NEWER PlayerSettings.SetScriptingBackend(BuildTargetGroup.Android, ScriptingImplementation.IL2CPP); #else PlayerSettings.SetPropertyInt("ScriptingBackend", (int)ScriptingImplementation.IL2CPP, BuildTargetGroup.Android); #endif if (setting.ToLower().Contains("development")) { GenericBuild(GetBuildScenes(), path, BuildTarget.Android, BuildOptions.Development); } else { GenericBuild(GetBuildScenes(), path, BuildTarget.Android, BuildOptions.None); } CUtils.DebugCastTime("Time BuildForAndroid iL2CPP End"); }
// Use this for initialization void Start() { //load manifest CUtils.DebugCastTime("LoadingFirst"); LoadFirstHelper.LoadManifest(sceneAssetBundleName, sceneName); }
/// <summary> /// lua begin /// </summary> private void DoMain() { CUtils.DebugCastTime(""); lua.luaState.doString(this.luaMain); }
static void OnSceneAbLoaded(CRequest req) { LResLoader.instance.OnSharedComplete -= OnSharedComplete; CUtils.DebugCastTime("On " + sceneName + "Loaded"); }