< Summary

Class:AssetCatalogBridge
Assembly:SceneAssets
File(s):/tmp/workspace/unity-renderer/unity-renderer/Assets/Scripts/MainScripts/DCL/Models/SceneAssets/AssetCatalogBridge.cs
Covered lines:41
Uncovered lines:8
Coverable lines:49
Total lines:131
Line coverage:83.6% (41 of 49)
Covered branches:0
Total branches:0

Metrics

MethodBranch coverage Crap Score Cyclomatic complexity NPath complexity Sequence coverage
Awake()0%110100%
GetContentProviderForAssetIdInSceneObjectCatalog(...)0%2.152066.67%
CreateContentProviderForSceneObject(...)0%220100%
GetSceneObjectById(...)0%6200%
AddFullSceneObjectCatalog(...)0%440100%
ClearCatalog()0%110100%
AddSceneObjectToCatalog(...)0%3.073080%
AddSceneAssetPackToCatalog(...)0%4.024088.89%
AddSceneAssetPackToCatalog(...)0%4.134080%

File(s)

/tmp/workspace/unity-renderer/unity-renderer/Assets/Scripts/MainScripts/DCL/Models/SceneAssets/AssetCatalogBridge.cs

#LineLine coverage
 1using DCL;
 2using DCL.Configuration;
 3using Newtonsoft.Json;
 4using Newtonsoft.Json.Linq;
 5using System.Collections;
 6using System.Collections.Generic;
 7using UnityEngine;
 8
 9public class AssetCatalogBridge : MonoBehaviour
 10{
 11    public static bool VERBOSE = false;
 12
 13    public static System.Action<SceneObject> OnSceneObjectAdded;
 14    public static System.Action<SceneAssetPack> OnSceneAssetPackAdded;
 15
 016    public static AssetCatalogBridge i { get; private set; }
 17
 18    private SceneAssetPackDictionary sceneAssetPackCatalogValue;
 19    public SceneAssetPackDictionary sceneAssetPackCatalog
 20    {
 21        get
 22        {
 8523            if (sceneAssetPackCatalogValue == null)
 24            {
 1925                sceneAssetPackCatalogValue = Resources.Load<SceneAssetPackDictionary>("SceneAssetPackCatalog");
 26            }
 27
 8528            return sceneAssetPackCatalogValue;
 29        }
 30    }
 31
 32    private SceneObjectDictionary sceneObjectCatalogValue;
 33    public SceneObjectDictionary sceneObjectCatalog
 34    {
 35        get
 36        {
 9337            if (sceneObjectCatalogValue == null)
 38            {
 1939                sceneObjectCatalogValue = Resources.Load<SceneObjectDictionary>("SceneObjectCatalog");
 40            }
 41
 9342            return sceneObjectCatalogValue;
 43        }
 44    }
 45
 23846    public void Awake() { i = this; }
 47
 48    public ContentProvider GetContentProviderForAssetIdInSceneObjectCatalog(string assetId)
 49    {
 1750        if (sceneObjectCatalogValue.TryGetValue(assetId, out SceneObject sceneObject))
 1751            return CreateContentProviderForSceneObject(sceneObject);
 52
 053        return null;
 54    }
 55
 56    ContentProvider CreateContentProviderForSceneObject(SceneObject sceneObject)
 57    {
 1758        ContentProvider contentProvider = new ContentProvider();
 1759        contentProvider.baseUrl = BIWUrlUtils.GetUrlSceneObjectContent();
 9660        foreach (KeyValuePair<string, string> content in sceneObject.contents)
 61        {
 3162            ContentServerUtils.MappingPair mappingPair = new ContentServerUtils.MappingPair();
 3163            mappingPair.file = content.Key;
 3164            mappingPair.hash = content.Value;
 3165            contentProvider.contents.Add(mappingPair);
 66        }
 67
 1768        contentProvider.BakeHashes();
 1769        return contentProvider;
 70    }
 71
 72    public SceneObject GetSceneObjectById(string assetId)
 73    {
 074        if (sceneObjectCatalogValue.TryGetValue(assetId, out SceneObject sceneObject))
 075            return sceneObject;
 076        return null;
 77    }
 78
 79    public void AddFullSceneObjectCatalog(string payload)
 80    {
 2281        JObject jObject = (JObject)JsonConvert.DeserializeObject(payload);
 2282        if (jObject["ok"].ToObject<bool>())
 83        {
 84
 2285            JArray array = JArray.Parse(jObject["data"].ToString());
 86
 8887            foreach (JObject item in array)
 88            {
 2289                i.AddSceneAssetPackToCatalog(item);
 90            }
 91        }
 2292    }
 93
 94    public void ClearCatalog()
 95    {
 3996        sceneObjectCatalog.Clear();
 3997        sceneAssetPackCatalog.Clear();
 3998    }
 99
 100    public void AddSceneObjectToCatalog(SceneObject sceneObject)
 101    {
 27102        if (sceneObjectCatalog.ContainsKey(sceneObject.id))
 0103            return;
 104
 27105        sceneObjectCatalog.Add(sceneObject.id, sceneObject);
 27106        OnSceneObjectAdded?.Invoke(sceneObject);
 26107    }
 108
 109    public void AddSceneAssetPackToCatalog(SceneAssetPack sceneAssetPack)
 110    {
 23111        if (sceneAssetPackCatalog.ContainsKey(sceneAssetPack.id))
 0112            return;
 113
 100114        foreach (SceneObject sceneObject in sceneAssetPack.assets)
 115        {
 27116            AddSceneObjectToCatalog(sceneObject);
 117        }
 118
 23119        sceneAssetPackCatalog.Add(sceneAssetPack.id, sceneAssetPack);
 23120        OnSceneAssetPackAdded?.Invoke(sceneAssetPack);
 22121    }
 122
 123    public void AddSceneAssetPackToCatalog(JObject payload)
 124    {
 22125        if (VERBOSE)
 0126            Debug.Log("add sceneAssetPack: " + payload);
 127
 22128        SceneAssetPack sceneAssetPack = JsonConvert.DeserializeObject<SceneAssetPack>(payload.ToString());
 22129        AddSceneAssetPackToCatalog(sceneAssetPack);
 22130    }
 131}