< Summary

Class:DCL.DataStore
Assembly:DataStore
File(s):/tmp/workspace/unity-renderer/unity-renderer/Assets/Scripts/MainScripts/DCL/DataStore/DataStore.cs
Covered lines:64
Uncovered lines:2
Coverable lines:66
Total lines:151
Line coverage:96.9% (64 of 66)
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%
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_Taskbar()0%2100%
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 UnityEngine;
 2using Variables.RealmsInfo;
 3
 4namespace DCL
 5{
 6    public enum AppMode
 7    {
 8        DEFAULT,
 9        BUILDER_IN_WORLD_EDITION
 10    }
 11
 12    public class DataStore
 13    {
 114        private static DataStore instance = new DataStore();
 80615        public static DataStore i { get => instance; }
 83216        public static void Clear() => instance = new DataStore();
 17
 83318        public readonly CurrentRealmVariable playerRealm = new CurrentRealmVariable();
 83319        public readonly RealmsVariable realmsInfo = new RealmsVariable();
 83320        public readonly DebugConfig debugConfig = new DebugConfig();
 83321        public readonly BaseVariable<bool> isSignUpFlow = new BaseVariable<bool>();
 83322        public readonly BaseDictionary<string, WearableItem> wearables = new BaseDictionary<string, WearableItem>();
 83323        public readonly DataStore_BuilderInWorld builderInWorld = new DataStore_BuilderInWorld();
 83324        public readonly DataStore_Quests Quests = new DataStore_Quests();
 83325        public readonly DataStore_HUDs HUDs = new DataStore_HUDs();
 83326        public readonly BaseVariable<bool> isPlayerRendererLoaded = new BaseVariable<bool>();
 83327        public readonly BaseVariable<AppMode> appMode = new BaseVariable<AppMode>();
 83328        public readonly DataStore_Player player = new DataStore_Player();
 83329        public readonly BaseVariable<NFTPromptModel> onOpenNFTPrompt = new BaseVariable<NFTPromptModel>();
 83330        public readonly DataStore_AvatarsLOD avatarsLOD = new DataStore_AvatarsLOD();
 83331        public readonly DataStore_VirtualAudioMixer virtualAudioMixer = new DataStore_VirtualAudioMixer();
 83332        public readonly DataStore_Screen screen = new DataStore_Screen();
 83333        public readonly DataStore_WSCommunication wsCommunication = new DataStore_WSCommunication();
 83334        public readonly DataStore_WorldObjects sceneWorldObjects = new DataStore_WorldObjects();
 83335        public readonly DataStore_ExploreV2 exploreV2 = new DataStore_ExploreV2();
 83336        public readonly DataStore_Taskbar taskbar = new DataStore_Taskbar();
 83337        public readonly DataStore_FeatureFlag featureFlags = new DataStore_FeatureFlag();
 83338        public readonly DataStore_Camera camera = new DataStore_Camera();
 39
 40        public class DataStore_WorldObjects
 41        {
 42            public class SceneData
 43            {
 41644                public readonly BaseDictionary<Mesh, int> refCountedMeshes = new BaseDictionary<Mesh, int>();
 41645                public readonly BaseHashSet<Rendereable> renderedObjects = new BaseHashSet<Rendereable>();
 46            }
 47
 83348            public readonly BaseDictionary<string, SceneData> sceneData = new BaseDictionary<string, SceneData>();
 49        }
 50
 51        public class DataStore_BuilderInWorld
 52        {
 83353            public readonly BaseDictionary<string, CatalogItem> catalogItemDict = new BaseDictionary<string, CatalogItem
 83354            public readonly BaseDictionary<string, CatalogItem> currentSceneCatalogItemDict = new BaseDictionary<string,
 83355            public readonly BaseDictionary<string, CatalogItemPack> catalogItemPackDict = new BaseDictionary<string, Cat
 83356            public readonly BaseVariable<PublishSceneResultPayload> unpublishSceneResult = new BaseVariable<PublishScene
 83357            public readonly BaseVariable<bool> showTaskBar = new BaseVariable<bool>();
 83358            public readonly BaseVariable<LandWithAccess[]> landsWithAccess = new BaseVariable<LandWithAccess[]>();
 59        }
 60
 61        public class DataStore_Quests
 62        {
 83363            public readonly BaseDictionary<string, QuestModel> quests = new BaseDictionary<string, QuestModel>();
 83364            public readonly BaseCollection<string> pinnedQuests = new BaseCollection<string>();
 65        }
 66
 67        public class DataStore_HUDs
 68        {
 83369            public readonly BaseVariable<bool> questsPanelVisible = new BaseVariable<bool>(false);
 83370            public readonly BaseVariable<bool> builderProjectsPanelVisible = new BaseVariable<bool>(false);
 83371            public readonly BaseVariable<bool> signupVisible = new BaseVariable<bool>(false);
 83372            public readonly BaseVariable<bool> avatarNamesVisible = new BaseVariable<bool>(true);
 83373            public readonly BaseVariable<float> avatarNamesOpacity = new BaseVariable<float>(1);
 83374            public readonly LoadingHUD loadingHUD = new LoadingHUD();
 75
 76            public class LoadingHUD
 77            {
 83378                public readonly BaseVariable<bool> visible = new BaseVariable<bool>(false);
 83379                public readonly BaseVariable<string> message = new BaseVariable<string>(null);
 83380                public readonly BaseVariable<float> percentage = new BaseVariable<float>(0);
 83381                public readonly BaseVariable<bool> showWalletPrompt = new BaseVariable<bool>(false);
 83382                public readonly BaseVariable<bool> showTips = new BaseVariable<bool>(false);
 83            }
 84        }
 85
 86        public class DataStore_Player
 87        {
 88            // NOTE: set when character is teleported (DCLCharacterController - Teleport)
 83389            public readonly BaseVariable<Vector3> lastTeleportPosition = new BaseVariable<Vector3>(Vector3.zero);
 83390            public readonly BaseDictionary<string, Player> otherPlayers = new BaseDictionary<string, Player>();
 91        }
 92
 93        public class DataStore_AvatarsLOD
 94        {
 95            public const int DEFAULT_MAX_AVATAR = 50;
 96            public const int DEFAULT_MAX_IMPOSTORS = 70;
 97
 83398            public readonly BaseVariable<float> simpleAvatarDistance = new BaseVariable<float>(15f);
 83399            public readonly BaseVariable<float> LODDistance = new BaseVariable<float>(30f);
 833100            public readonly BaseVariable<int> maxAvatars = new BaseVariable<int>(DEFAULT_MAX_AVATAR);
 833101            public readonly BaseVariable<int> maxImpostors = new BaseVariable<int>(DEFAULT_MAX_IMPOSTORS);
 102        }
 103
 104        /// <summary>
 105        /// An "audio mixer" that handles muting/fading when entering special states like Avatar Editor, Tutorial, Build
 106        /// </summary>
 107        public class DataStore_VirtualAudioMixer
 108        {
 833109            public readonly BaseVariable<float> musicVolume = new BaseVariable<float>(1f);
 833110            public readonly BaseVariable<float> sceneSFXVolume = new BaseVariable<float>(1f);
 833111            public readonly BaseVariable<float> voiceChatVolume = new BaseVariable<float>(1f);
 833112            public readonly BaseVariable<float> uiSFXVolume = new BaseVariable<float>(1f);
 833113            public readonly BaseVariable<float> avatarSFXVolume = new BaseVariable<float>(1f);
 114        }
 115
 116        public class DataStore_Screen
 117        {
 833118            public readonly BaseVariable<Vector2Int> size = new BaseVariable<Vector2Int>(Vector2Int.zero);
 119        }
 120
 121        public class DataStore_WSCommunication
 122        {
 123            [System.NonSerialized]
 833124            public string url = "ws://localhost:5000/";
 125
 833126            public readonly BaseVariable<bool> communicationEstablished = new BaseVariable<bool>();
 833127            public readonly BaseVariable<bool> communicationReady = new BaseVariable<bool>();
 128        }
 129
 130        public class DataStore_ExploreV2
 131        {
 833132            public readonly BaseVariable<bool> isInitialized = new BaseVariable<bool>(false);
 833133            public readonly BaseVariable<bool> isOpen = new BaseVariable<bool>(false);
 134        }
 135
 136        public class DataStore_Taskbar
 137        {
 0138            public readonly BaseVariable<bool> isExploreV2Enabled = new BaseVariable<bool>(false);
 139        }
 140
 141        public class DataStore_FeatureFlag
 142        {
 833143            public readonly BaseVariable<FeatureFlag> flags = new BaseVariable<FeatureFlag>(new FeatureFlag());
 144        }
 145
 146        public class DataStore_Camera
 147        {
 0148            public readonly BaseVariable<Quaternion> rotation =  new BaseVariable<Quaternion>();
 149        }
 150    }
 151}