< Summary

Class:DCL.DataStore
Assembly:DataStore
File(s):/tmp/workspace/unity-renderer/unity-renderer/Assets/Scripts/MainScripts/DCL/DataStore/DataStore.cs
Covered lines:38
Uncovered lines:4
Coverable lines:42
Total lines:71
Line coverage:90.4% (38 of 42)
Covered branches:0
Total branches:0

Metrics

MethodBranch coverage Crap Score Cyclomatic complexity NPath complexity Sequence coverage
DataStore()0%110100%
DataStore()0%110100%
Set[T](...)0%2.52050%
Get[T]()0%220100%
Clear()0%110100%

File(s)

/tmp/workspace/unity-renderer/unity-renderer/Assets/Scripts/MainScripts/DCL/DataStore/DataStore.cs

#LineLine coverage
 1using System;
 2using System.Collections.Generic;
 3using DCL.ServerTime;
 4
 5namespace DCL
 6{
 7    public enum AppMode
 8    {
 9        DEFAULT,
 10        BUILDER_IN_WORLD_EDITION
 11    }
 12
 13    public class DataStore
 14    {
 115        private static DataStore instance = new DataStore();
 16
 256817        public static DataStore i { get => instance; }
 18
 114919        private Dictionary<Type, object> dataStores = new Dictionary<Type, object>();
 20
 21        public void Set<T>(T data) where T : class
 22        {
 1116123            if (!dataStores.ContainsKey(typeof(T)))
 1116124                dataStores.Add(typeof(T), data);
 25            else
 026                dataStores[typeof(T)] = data;
 027        }
 28
 29        public T Get<T>() where T : class, new()
 30        {
 19671431            if (!dataStores.ContainsKey(typeof(T)))
 1116132                Set(new T());
 33
 19671434            return dataStores[typeof(T)] as T;
 35        }
 36
 87237        public static void Clear() => instance = new DataStore();
 38
 47139        public DataStore_World world => i.Get<DataStore_World>();
 2341940        public DataStore_Common common => i.Get<DataStore_Common>();
 333041        public DataStore_Realm realm => i.Get<DataStore_Realm>();
 322742        public DebugConfig debugConfig => i.Get<DebugConfig>();
 59343        public DataStore_BuilderInWorld builderInWorld => i.Get<DataStore_BuilderInWorld>();
 71644        public DataStore_Quests Quests => i.Get<DataStore_Quests>();
 508945        public DataStore_HUDs HUDs => i.Get<DataStore_HUDs>();
 725846        public DataStore_Player player => i.Get<DataStore_Player>();
 2124647        public DataStore_AvatarsLOD avatarsLOD => i.Get<DataStore_AvatarsLOD>();
 532448        public DataStore_VirtualAudioMixer virtualAudioMixer => i.Get<DataStore_VirtualAudioMixer>();
 3460949        public DataStore_Screen screen => i.Get<DataStore_Screen>();
 050        public DataStore_WSCommunication wsCommunication => i.Get<DataStore_WSCommunication>();
 360951        public DataStore_WorldObjects sceneWorldObjects => i.Get<DataStore_WorldObjects>();
 6281852        public DataStore_ExploreV2 exploreV2 => i.Get<DataStore_ExploreV2>();
 68353        public DataStore_FeatureFlag featureFlags => i.Get<DataStore_FeatureFlag>();
 1270454        public DataStore_Camera camera => i.Get<DataStore_Camera>();
 73555        public DataStore_Settings settings => i.Get<DataStore_Settings>();
 6056        public DataStore_SkyboxConfig skyboxConfig => i.Get<DataStore_SkyboxConfig>();
 057        public WorldTimer worldTimer => i.Get<WorldTimer>();
 12358        public DataStore_Performance performance => i.Get<DataStore_Performance>();
 11159        public DataStore_ExperiencesViewer experiencesViewer => i.Get<DataStore_ExperiencesViewer>();
 108660        public DataStore_Emotes emotes => i.Get<DataStore_Emotes>();
 43761        public DataStore_EmotesCustomization emotesCustomization => i.Get<DataStore_EmotesCustomization>();
 26962        public DataStore_SceneBoundariesChecker sceneBoundariesChecker => i.Get<DataStore_SceneBoundariesChecker>();
 83663        public DataStore_ECS7 ecs7 => i.Get<DataStore_ECS7>();
 136464        public DataStore_VoiceChat voiceChat => i.Get<DataStore_VoiceChat>();
 59165        public DataStore_TextureConfig textureConfig => i.Get<DataStore_TextureConfig>();
 6266        public DataStore_FriendNotifications friendNotifications => i.Get<DataStore_FriendNotifications>();
 98067        public DataStore_AvatarConfig avatarConfig => i.Get<DataStore_AvatarConfig>();
 1068        public DataStore_RpcContext rpcContext => i.Get<DataStore_RpcContext>();
 24369        public DataStore_Channels channels => i.Get<DataStore_Channels>();
 70    }
 71}