コード例 #1
0
ファイル: AssetsMenuItem.cs プロジェクト: hafewa/emo
        private static void MarkAssetsWithDir()
        {
            var settings = BuildScript.GetSettings();

            assetRootPath = settings.assetRootPath;
            var assetsManifest = BuildScript.GetManifest();
            var assets         = Selection.GetFiltered <Object>(SelectionMode.DeepAssets);

            for (var i = 0; i < assets.Length; i++)
            {
                var asset = assets[i];
                var path  = AssetDatabase.GetAssetPath(asset);
                if (Directory.Exists(path) || path.EndsWith(".cs", System.StringComparison.CurrentCulture))
                {
                    continue;
                }
                if (EditorUtility.DisplayCancelableProgressBar(KMarkAssets, path, i * 1f / assets.Length))
                {
                    break;
                }
                var assetBundleName = TrimedAssetBundleName(Path.GetDirectoryName(path).Replace("\\", "/")) + "_g";
                BuildScript.SetAssetBundleNameAndVariant(path, assetBundleName.ToLower(), null);
            }
            EditorUtility.SetDirty(assetsManifest);
            AssetDatabase.SaveAssets();
            EditorUtility.ClearProgressBar();
        }
コード例 #2
0
ファイル: AssetsMenuItem.cs プロジェクト: hafewa/emo
        private static void OnInitialize()
        {
            EditorUtility.ClearProgressBar();
            var settings = BuildScript.GetSettings();

            if (settings.localServer)
            {
                bool isRunning = LaunchLocalServer.IsRunning();
                if (!isRunning)
                {
                    LaunchLocalServer.Run();
                }
                Utility.dataPath = string.Empty;
                var manifest = BuildScript.GetManifest();
                if (string.IsNullOrEmpty(manifest.downloadURL))
                {
                    manifest.downloadURL = "http://127.0.0.1:7888/";
                    EditorUtility.SetDirty(manifest);
                    AssetDatabase.SaveAssets();
                }
            }
            else
            {
                bool isRunning = LaunchLocalServer.IsRunning();
                if (isRunning)
                {
                    LaunchLocalServer.KillRunningAssetBundleServer();
                }
                Utility.dataPath = System.Environment.CurrentDirectory;
            }
            Utility.downloadURL         = BuildScript.GetManifest().downloadURL;
            Utility.assetBundleMode     = settings.runtimeMode;
            Utility.getPlatformDelegate = BuildScript.GetPlatformName;
            Utility.loadDelegate        = AssetDatabase.LoadAssetAtPath;
        }
コード例 #3
0
        private void ResetManifest()
        {
            var manifest = BuildScript.GetManifest();

            manifest.assets  = new AssetData[0];
            manifest.dirs    = new string[0];
            manifest.bundles = new string[0];
            EditorUtility.SetDirty(manifest);
            AssetDatabase.SaveAssets();
            BuildCahe();
        }
コード例 #4
0
        private void BuildCahe()
        {
            _lastModify = File.GetLastWriteTime(Utility.AssetsManifestAsset);
            var manifest = BuildScript.GetManifest();
            var sb       = new StringBuilder(512);

            for (var i = 0; i < manifest.bundles.Length; i++)
            {
                sb.AppendLine(string.Format("bundle[{0}]={1}", i, manifest.bundles[i]));
            }

            sb.AppendLine();
            for (var i = 0; i < manifest.dirs.Length; i++)
            {
                sb.AppendLine(string.Format("dir[{0}]={1}", i, manifest.dirs[i]));
            }
            sb.AppendLine();

            for (int i = 0; i < manifest.assets.Length; i++)
            {
                var assetData = manifest.assets[i];
                var desc      = string.Format("asset[{0}] = bundle:{1}, dir:{2}, name:{3}", i, assetData.bundle, assetData.dir, assetData.name);
                sb.AppendLine(desc);
            }


            _manifestStr = sb.ToString();
            _lineIndex.Clear();
            _lineIndex.Add(-1);
            for (var i = 0; i < _manifestStr.Length; i++)
            {
                if (_manifestStr[i] == '\n')
                {
                    _lineIndex.Add(i);
                }
            }
        }
コード例 #5
0
 private static void OnEditorInitialize()
 {
     BuildScript.GetManifest();
     BuildScript.GetSettings();
     BuildScript.GetBuildRules();
 }