< Summary

Class:AssetCatalogBridge
Assembly:SceneAssets
File(s):/tmp/workspace/unity-renderer/unity-renderer/Assets/Scripts/MainScripts/DCL/Models/SceneAssets/AssetCatalogBridge.cs
Covered lines:42
Uncovered lines:19
Coverable lines:61
Total lines:157
Line coverage:68.8% (42 of 61)
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%
RemoveSceneObjectToSceneCatalog(...)0%6200%
AddSceneObjectToSceneCatalog(...)0%6200%
AddSceneObjectToSceneCatalog(...)0%12300%
AddSceneAssetPackToCatalog(...)0%440100%
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> OnItemAdded;
 14    public static System.Action<SceneObject> OnSceneCatalogItemAdded;
 15    public static System.Action<SceneAssetPack> OnSceneAssetPackAdded;
 16
 017    public static AssetCatalogBridge i { get; internal set; }
 18
 19    private SceneAssetPackDictionary sceneAssetPackCatalogValue;
 20    public SceneAssetPackDictionary sceneAssetPackCatalog
 21    {
 22        get
 23        {
 16424            if (sceneAssetPackCatalogValue == null)
 25            {
 2826                sceneAssetPackCatalogValue = Resources.Load<SceneAssetPackDictionary>("SceneAssetPackCatalog");
 27            }
 28
 16429            return sceneAssetPackCatalogValue;
 30        }
 31    }
 32
 33    private SceneObjectDictionary sceneObjectCatalogValue;
 34    public SceneObjectDictionary sceneObjectCatalog
 35    {
 36        get
 37        {
 17738            if (sceneObjectCatalogValue == null)
 39            {
 2840                sceneObjectCatalogValue = Resources.Load<SceneObjectDictionary>("SceneObjectCatalog");
 41            }
 42
 17743            return sceneObjectCatalogValue;
 44        }
 45    }
 46
 28647    public void Awake() { i = this; }
 48
 49    public ContentProvider GetContentProviderForAssetIdInSceneObjectCatalog(string assetId)
 50    {
 1751        if (sceneObjectCatalogValue.TryGetValue(assetId, out SceneObject sceneObject))
 1752            return CreateContentProviderForSceneObject(sceneObject);
 53
 054        return null;
 55    }
 56
 57    ContentProvider CreateContentProviderForSceneObject(SceneObject sceneObject)
 58    {
 1759        ContentProvider contentProvider = new ContentProvider();
 1760        contentProvider.baseUrl = BIWUrlUtils.GetUrlSceneObjectContent();
 9661        foreach (KeyValuePair<string, string> content in sceneObject.contents)
 62        {
 3163            ContentServerUtils.MappingPair mappingPair = new ContentServerUtils.MappingPair();
 3164            mappingPair.file = content.Key;
 3165            mappingPair.hash = content.Value;
 3166            contentProvider.contents.Add(mappingPair);
 67        }
 68
 1769        contentProvider.BakeHashes();
 1770        return contentProvider;
 71    }
 72
 73    public SceneObject GetSceneObjectById(string assetId)
 74    {
 075        if (sceneObjectCatalogValue.TryGetValue(assetId, out SceneObject sceneObject))
 076            return sceneObject;
 077        return null;
 78    }
 79
 80    public void AddFullSceneObjectCatalog(string payload)
 81    {
 3282        JObject jObject = (JObject)JsonConvert.DeserializeObject(payload);
 3283        if (jObject["ok"].ToObject<bool>())
 84        {
 85
 3286            JArray array = JArray.Parse(jObject["data"].ToString());
 87
 12888            foreach (JObject item in array)
 89            {
 3290                i.AddSceneAssetPackToCatalog(item);
 91            }
 92        }
 3293    }
 94
 95    public void ClearCatalog()
 96    {
 9997        sceneObjectCatalog.Clear();
 9998        sceneAssetPackCatalog.Clear();
 9999    }
 100
 101    public void AddSceneObjectToCatalog(SceneObject sceneObject)
 102    {
 39103        if (sceneObjectCatalog.ContainsKey(sceneObject.id))
 0104            return;
 105
 39106        sceneObjectCatalog.Add(sceneObject.id, sceneObject);
 39107        OnItemAdded?.Invoke(sceneObject);
 39108    }
 109
 110    public void RemoveSceneObjectToSceneCatalog(string sceneObjectId)
 111    {
 0112        if (!sceneObjectCatalog.ContainsKey(sceneObjectId))
 0113            return;
 114
 0115        sceneObjectCatalog.Remove(sceneObjectId);
 0116    }
 117
 118    public void AddSceneObjectToSceneCatalog(SceneObject[] sceneObjects)
 119    {
 0120        foreach (var sceneObject in sceneObjects)
 121        {
 0122            AddSceneObjectToSceneCatalog(sceneObject);
 123        }
 0124    }
 125
 126    public void AddSceneObjectToSceneCatalog(SceneObject sceneObject)
 127    {
 0128        if (sceneObjectCatalog.ContainsKey(sceneObject.id))
 0129            return;
 130
 0131        sceneObjectCatalog.Add(sceneObject.id, sceneObject);
 0132        OnSceneCatalogItemAdded?.Invoke(sceneObject);
 0133    }
 134
 135    public void AddSceneAssetPackToCatalog(SceneAssetPack sceneAssetPack)
 136    {
 33137        if (sceneAssetPackCatalog.ContainsKey(sceneAssetPack.id))
 1138            return;
 139
 142140        foreach (SceneObject sceneObject in sceneAssetPack.assets)
 141        {
 39142            AddSceneObjectToCatalog(sceneObject);
 143        }
 144
 32145        sceneAssetPackCatalog.Add(sceneAssetPack.id, sceneAssetPack);
 32146        OnSceneAssetPackAdded?.Invoke(sceneAssetPack);
 32147    }
 148
 149    public void AddSceneAssetPackToCatalog(JObject payload)
 150    {
 32151        if (VERBOSE)
 0152            Debug.Log("add sceneAssetPack: " + payload);
 153
 32154        SceneAssetPack sceneAssetPack = JsonConvert.DeserializeObject<SceneAssetPack>(payload.ToString());
 32155        AddSceneAssetPackToCatalog(sceneAssetPack);
 32156    }
 157}