< Summary

Class:DCL.AssetBundleMenuItems
Assembly:ABConverter
File(s):/tmp/workspace/unity-renderer/unity-renderer/Assets/ABConverter/AssetBundleMenuItems.cs
Covered lines:0
Uncovered lines:44
Coverable lines:44
Total lines:131
Line coverage:0% (0 of 44)
Covered branches:0
Total branches:0

Metrics

MethodBranch coverage Crap Score Cyclomatic complexity NPath complexity Sequence coverage
DumpEmptyParcels_Default()0%2100%
DumpEmptyParcels_Halloween()0%2100%
DumpEmptyParcels(...)0%6200%
DumpAllBodiesWearables()0%2100%
DumpAllNonBodiesWearables()0%2100%
StartVisualTests()0%2100%
DumpArea()0%2100%
DumpSceneId()0%2100%
DumpSingleAsset()0%2100%
DumpOrg()0%2100%
DumpCenterPlaza()0%2100%
OnlyBuildBundles()0%2100%

File(s)

/tmp/workspace/unity-renderer/unity-renderer/Assets/ABConverter/AssetBundleMenuItems.cs

#LineLine coverage
 1using System;
 2using DCL.Helpers;
 3using System.Collections.Generic;
 4using System.ComponentModel;
 5using System.IO;
 6using DCL.ABConverter;
 7using Unity.EditorCoroutines.Editor;
 8using UnityEditor;
 9using UnityEngine;
 10using UnityEngine.Networking;
 11using System.IO;
 12using System.Linq;
 13using UnityGLTF;
 14using static DCL.ContentServerUtils;
 15using Utils = DCL.Helpers.Utils;
 16
 17namespace DCL.ABConverter
 18{
 19}
 20
 21namespace DCL
 22{
 23    public static class AssetBundleMenuItems
 24    {
 25        [System.Serializable]
 26        public class EmptyParcels
 27        {
 28            public MappingPair[] EP_01;
 29            public MappingPair[] EP_02;
 30            public MappingPair[] EP_03;
 31            public MappingPair[] EP_04;
 32            public MappingPair[] EP_05;
 33            public MappingPair[] EP_06;
 34            public MappingPair[] EP_07;
 35            public MappingPair[] EP_08;
 36            public MappingPair[] EP_09;
 37            public MappingPair[] EP_10;
 38            public MappingPair[] EP_11;
 39            public MappingPair[] EP_12;
 40        }
 41
 42        private const string KERNEL_RELATIVE_PATH = "/../../../explorer/kernel"; // This has to be set manually accordin
 43
 44        [MenuItem("Decentraland/Asset Bundle Builder/Dump Default Empty Parcels")]
 045        public static void DumpEmptyParcels_Default() { DumpEmptyParcels(); }
 46
 47        [MenuItem("Decentraland/Asset Bundle Builder/Dump Halloween Empty Parcels")]
 048        public static void DumpEmptyParcels_Halloween() { DumpEmptyParcels("empty-scenes-halloween"); }
 49
 50        public static void DumpEmptyParcels(string folderName = "empty-scenes")
 51        {
 052            string indexJsonPath = Application.dataPath;
 53
 054            indexJsonPath += KERNEL_RELATIVE_PATH + $"/static/loader/{folderName}/index.json";
 55
 056            if (!File.Exists(indexJsonPath))
 57            {
 058                Debug.LogError("Index.json path doesn't exists! Make sure to 'make watch' first so it gets generated.");
 059                return;
 60            }
 61
 062            string emptyScenes = File.ReadAllText(indexJsonPath);
 063            var es = JsonUtility.FromJson<EmptyParcels>(emptyScenes);
 64
 065            List<MappingPair> mappings = new List<MappingPair>();
 66
 067            mappings.AddRange(es.EP_01);
 068            mappings.AddRange(es.EP_02);
 069            mappings.AddRange(es.EP_03);
 070            mappings.AddRange(es.EP_04);
 071            mappings.AddRange(es.EP_05);
 072            mappings.AddRange(es.EP_06);
 073            mappings.AddRange(es.EP_07);
 074            mappings.AddRange(es.EP_08);
 075            mappings.AddRange(es.EP_09);
 076            mappings.AddRange(es.EP_10);
 077            mappings.AddRange(es.EP_11);
 078            mappings.AddRange(es.EP_12);
 79
 080            string emptyScenesResourcesPath = Application.dataPath;
 081            emptyScenesResourcesPath += KERNEL_RELATIVE_PATH + $"/static/loader/{folderName}";
 82
 083            string customBaseUrl = "file://" + emptyScenesResourcesPath;
 84
 085            var settings = new ABConverter.Client.Settings(ApiTLD.NONE);
 086            settings.skipAlreadyBuiltBundles = true;
 087            settings.deleteDownloadPathAfterFinished = false;
 088            settings.baseUrl = customBaseUrl + "/contents/";
 89
 090            var core = new ABConverter.Core(ABConverter.Environment.CreateWithDefaultImplementations(), settings);
 091            core.Convert(mappings.ToArray());
 092        }
 93
 94        [MenuItem("Decentraland/Asset Bundle Builder/Dump All Body-Wearables")]
 095        public static void DumpAllBodiesWearables() { ABConverter.Client.DumpAllBodiesWearables(); }
 96
 97        [MenuItem("Decentraland/Asset Bundle Builder/Dump All Non-Body-Wearables (Optimized)")]
 098        public static void DumpAllNonBodiesWearables() { ABConverter.Client.DumpAllNonBodiesWearables(); }
 99
 100        [MenuItem("Decentraland/Start Visual Tests")]
 0101        public static void StartVisualTests() { EditorCoroutineUtility.StartCoroutineOwnerless(VisualTests.TestConverted
 102
 103        [MenuItem("Decentraland/Asset Bundle Builder/Dump Org -110,-110")]
 0104        public static void DumpArea() { ABConverter.Client.DumpArea(new Vector2Int(-110, -110), new Vector2Int(1, 1)); }
 105
 106        [MenuItem("Decentraland/Asset Bundle Builder/Dump scene QmXMzPLZNx5EHiYi3tK9MT5g9HqjAqgyAoZUu2LfAXJcSM")]
 0107        public static void DumpSceneId() { ABConverter.Client.DumpScene("QmXMzPLZNx5EHiYi3tK9MT5g9HqjAqgyAoZUu2LfAXJcSM"
 108
 109        [MenuItem("Decentraland/Asset Bundle Builder/Dump Single Asset")]
 110        public static void DumpSingleAsset()
 111        {
 112            // TODO: Make an editor window to setup these values from editor (for other dump-modes as well)
 0113            ABConverter.Client.DumpAsset("QmS9eDwvcEpyYXChz6pFpyWyfyajiXbt6KA4CxQa3JKPGC",
 114                "models/FloorBaseGrass_01/FloorBaseGrass_01.glb",
 115                "QmXMzPLZNx5EHiYi3tK9MT5g9HqjAqgyAoZUu2LfAXJcSM");
 0116        }
 117
 118        [MenuItem("Decentraland/Asset Bundle Builder/Dump Org -6,30")]
 0119        public static void DumpOrg() { ABConverter.Client.DumpArea(new Vector2Int(-6, 30), new Vector2Int(15, 15)); }
 120
 121        [MenuItem("Decentraland/Asset Bundle Builder/Dump Org 0,0")]
 122        public static void DumpCenterPlaza()
 123        {
 0124            var zoneArray = Utils.GetCenteredZoneArray(new Vector2Int(0, 0), new Vector2Int(1, 1));
 0125            ABConverter.Client.DumpArea(zoneArray);
 0126        }
 127
 128        [MenuItem("Decentraland/Asset Bundle Builder/Only Build Bundles")]
 0129        public static void OnlyBuildBundles() { BuildPipeline.BuildAssetBundles(ABConverter.Config.ASSET_BUNDLES_PATH_RO
 130    }
 131}