< Summary

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

Metrics

MethodBranch coverage Crap Score Cyclomatic complexity NPath complexity Sequence coverage
DataStore()0%110100%
Clear()0%110100%
DataStore()0%110100%
DataStore_Settings()0%2100%
SceneData()0%110100%
DataStore_WorldObjects()0%110100%
DataStore_BuilderInWorld()0%110100%
DataStore_Quests()0%110100%
DataStore_HUDs()0%110100%
LoadingHUD()0%110100%
DataStore_Player()0%110100%
DataStore_AvatarsLOD()0%110100%
DataStore_VirtualAudioMixer()0%110100%
DataStore_Screen()0%110100%
DataStore_WSCommunication()0%110100%
DataStore_ExploreV2()0%110100%
DataStore_FeatureFlag()0%110100%
DataStore_Camera()0%2100%

File(s)

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

#LineLine coverage
 1using DCL.Builder;
 2using UnityEngine;
 3using Variables.RealmsInfo;
 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();
 22616        public static DataStore i { get => instance; }
 85017        public static void Clear() => instance = new DataStore();
 18
 88319        public readonly CurrentRealmVariable playerRealm = new CurrentRealmVariable();
 88320        public readonly RealmsVariable realmsInfo = new RealmsVariable();
 88321        public readonly DebugConfig debugConfig = new DebugConfig();
 88322        public readonly BaseVariable<bool> isSignUpFlow = new BaseVariable<bool>();
 88323        public readonly BaseDictionary<string, WearableItem> wearables = new BaseDictionary<string, WearableItem>();
 88324        public readonly DataStore_BuilderInWorld builderInWorld = new DataStore_BuilderInWorld();
 88325        public readonly DataStore_Quests Quests = new DataStore_Quests();
 88326        public readonly DataStore_HUDs HUDs = new DataStore_HUDs();
 88327        public readonly BaseVariable<bool> isPlayerRendererLoaded = new BaseVariable<bool>();
 88328        public readonly BaseVariable<AppMode> appMode = new BaseVariable<AppMode>();
 88329        public readonly DataStore_Player player = new DataStore_Player();
 88330        public readonly BaseVariable<NFTPromptModel> onOpenNFTPrompt = new BaseVariable<NFTPromptModel>();
 88331        public readonly DataStore_AvatarsLOD avatarsLOD = new DataStore_AvatarsLOD();
 88332        public readonly DataStore_VirtualAudioMixer virtualAudioMixer = new DataStore_VirtualAudioMixer();
 88333        public readonly DataStore_Screen screen = new DataStore_Screen();
 88334        public readonly DataStore_WSCommunication wsCommunication = new DataStore_WSCommunication();
 88335        public readonly DataStore_WorldObjects sceneWorldObjects = new DataStore_WorldObjects();
 88336        public readonly DataStore_ExploreV2 exploreV2 = new DataStore_ExploreV2();
 88337        public readonly DataStore_FeatureFlag featureFlags = new DataStore_FeatureFlag();
 88338        public readonly DataStore_Camera camera = new DataStore_Camera();
 88339        public readonly DataStore_Settings settings = new DataStore_Settings();
 40
 41        public class DataStore_Settings
 42        {
 043            public readonly BaseVariable<bool> profanityChatFilteringEnabled = new BaseVariable<bool>();
 44        }
 45
 46        public class DataStore_WorldObjects
 47        {
 48            public class SceneData
 49            {
 42150                public readonly BaseDictionary<Mesh, int> refCountedMeshes = new BaseDictionary<Mesh, int>();
 42151                public readonly BaseHashSet<Rendereable> renderedObjects = new BaseHashSet<Rendereable>();
 52            }
 53
 88354            public readonly BaseDictionary<string, SceneData> sceneData = new BaseDictionary<string, SceneData>();
 55        }
 56
 57        public class DataStore_BuilderInWorld
 58        {
 88359            public readonly BaseDictionary<string, CatalogItem> catalogItemDict = new BaseDictionary<string, CatalogItem
 88360            public readonly BaseDictionary<string, CatalogItem> currentSceneCatalogItemDict = new BaseDictionary<string,
 88361            public readonly BaseDictionary<string, CatalogItemPack> catalogItemPackDict = new BaseDictionary<string, Cat
 88362            public readonly BaseVariable<PublishSceneResultPayload> unpublishSceneResult = new BaseVariable<PublishScene
 88363            public readonly BaseVariable<bool> showTaskBar = new BaseVariable<bool>();
 88364            public readonly BaseVariable<bool> isDevBuild = new BaseVariable<bool>();
 88365            public readonly BaseVariable<LandWithAccess[]> landsWithAccess = new BaseVariable<LandWithAccess[]>();
 88366            public readonly BaseVariable<ProjectData[]> projectData = new BaseVariable<ProjectData[]>();
 88367            public readonly BaseVariable<Scene[]> scenesData = new BaseVariable<Scene[]>();
 68        }
 69
 70        public class DataStore_Quests
 71        {
 88372            public readonly BaseDictionary<string, QuestModel> quests = new BaseDictionary<string, QuestModel>();
 88373            public readonly BaseCollection<string> pinnedQuests = new BaseCollection<string>();
 74        }
 75
 76        public class DataStore_HUDs
 77        {
 88378            public readonly BaseVariable<bool> questsPanelVisible = new BaseVariable<bool>(false);
 88379            public readonly BaseVariable<bool> builderProjectsPanelVisible = new BaseVariable<bool>(false);
 88380            public readonly BaseVariable<bool> signupVisible = new BaseVariable<bool>(false);
 88381            public readonly BaseVariable<bool> controlsVisible = new BaseVariable<bool>(false);
 88382            public readonly BaseVariable<bool> avatarEditorVisible = new BaseVariable<bool>(false);
 88383            public readonly BaseVariable<bool> emotesVisible = new BaseVariable<bool>(false);
 88384            public readonly BaseVariable<bool> navmapVisible = new BaseVariable<bool>(false);
 85
 88386            public readonly BaseVariable<bool> avatarNamesVisible = new BaseVariable<bool>(true);
 88387            public readonly BaseVariable<float> avatarNamesOpacity = new BaseVariable<float>(1);
 88388            public readonly LoadingHUD loadingHUD = new LoadingHUD();
 89
 90            public class LoadingHUD
 91            {
 88392                public readonly BaseVariable<bool> visible = new BaseVariable<bool>(false);
 88393                public readonly BaseVariable<string> message = new BaseVariable<string>(null);
 88394                public readonly BaseVariable<float> percentage = new BaseVariable<float>(0);
 88395                public readonly BaseVariable<bool> showWalletPrompt = new BaseVariable<bool>(false);
 88396                public readonly BaseVariable<bool> showTips = new BaseVariable<bool>(false);
 97            }
 98        }
 99
 100        public class DataStore_Player
 101        {
 102            // NOTE: set when character is teleported (DCLCharacterController - Teleport)
 883103            public readonly BaseVariable<Vector3> lastTeleportPosition = new BaseVariable<Vector3>(Vector3.zero);
 883104            public readonly BaseDictionary<string, Player> otherPlayers = new BaseDictionary<string, Player>();
 105        }
 106
 107        public class DataStore_AvatarsLOD
 108        {
 109            public const int DEFAULT_MAX_AVATAR = 50;
 110            public const int DEFAULT_MAX_IMPOSTORS = 70;
 111
 883112            public readonly BaseVariable<float> simpleAvatarDistance = new BaseVariable<float>(15f);
 883113            public readonly BaseVariable<float> LODDistance = new BaseVariable<float>(30f);
 883114            public readonly BaseVariable<int> maxAvatars = new BaseVariable<int>(DEFAULT_MAX_AVATAR);
 883115            public readonly BaseVariable<int> maxImpostors = new BaseVariable<int>(DEFAULT_MAX_IMPOSTORS);
 116        }
 117
 118        /// <summary>
 119        /// An "audio mixer" that handles muting/fading when entering special states like Avatar Editor, Tutorial, Build
 120        /// </summary>
 121        public class DataStore_VirtualAudioMixer
 122        {
 883123            public readonly BaseVariable<float> musicVolume = new BaseVariable<float>(1f);
 883124            public readonly BaseVariable<float> sceneSFXVolume = new BaseVariable<float>(1f);
 883125            public readonly BaseVariable<float> voiceChatVolume = new BaseVariable<float>(1f);
 883126            public readonly BaseVariable<float> uiSFXVolume = new BaseVariable<float>(1f);
 883127            public readonly BaseVariable<float> avatarSFXVolume = new BaseVariable<float>(1f);
 128        }
 129
 130        public class DataStore_Screen
 131        {
 883132            public readonly BaseVariable<Vector2Int> size = new BaseVariable<Vector2Int>(Vector2Int.zero);
 133        }
 134
 135        public class DataStore_WSCommunication
 136        {
 137            [System.NonSerialized]
 883138            public string url = "ws://localhost:5000/";
 139
 883140            public readonly BaseVariable<bool> communicationEstablished = new BaseVariable<bool>();
 883141            public readonly BaseVariable<bool> communicationReady = new BaseVariable<bool>();
 142        }
 143
 144        public class DataStore_ExploreV2
 145        {
 883146            public readonly BaseVariable<bool> isInitialized = new BaseVariable<bool>(false);
 883147            public readonly BaseVariable<bool> isOpen = new BaseVariable<bool>(false);
 148        }
 149
 150        public class DataStore_FeatureFlag
 151        {
 883152            public readonly BaseVariable<FeatureFlag> flags = new BaseVariable<FeatureFlag>(new FeatureFlag());
 153        }
 154
 155        public class DataStore_Camera
 156        {
 0157            public readonly BaseVariable<Quaternion> rotation =  new BaseVariable<Quaternion>();
 158        }
 159    }
 160}