< Summary

Class:DCL.DataStore
Assembly:DataStore
File(s):/tmp/workspace/unity-renderer/unity-renderer/Assets/Scripts/MainScripts/DCL/DataStore/DataStore.cs
Covered lines:63
Uncovered lines:2
Coverable lines:65
Total lines:146
Line coverage:96.9% (63 of 65)
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%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();
 80015        public static DataStore i { get => instance; }
 81916        public static void Clear() => instance = new DataStore();
 17
 82018        public readonly CurrentRealmVariable playerRealm = new CurrentRealmVariable();
 82019        public readonly RealmsVariable realmsInfo = new RealmsVariable();
 82020        public readonly DebugConfig debugConfig = new DebugConfig();
 82021        public readonly BaseVariable<bool> isSignUpFlow = new BaseVariable<bool>();
 82022        public readonly BaseDictionary<string, WearableItem> wearables = new BaseDictionary<string, WearableItem>();
 82023        public readonly DataStore_BuilderInWorld builderInWorld = new DataStore_BuilderInWorld();
 82024        public readonly DataStore_Quests Quests = new DataStore_Quests();
 82025        public readonly DataStore_HUDs HUDs = new DataStore_HUDs();
 82026        public readonly BaseVariable<bool> isPlayerRendererLoaded = new BaseVariable<bool>();
 82027        public readonly BaseVariable<AppMode> appMode = new BaseVariable<AppMode>();
 82028        public readonly DataStore_Player player = new DataStore_Player();
 82029        public readonly BaseVariable<NFTPromptModel> onOpenNFTPrompt = new BaseVariable<NFTPromptModel>();
 82030        public readonly DataStore_AvatarsLOD avatarsLOD = new DataStore_AvatarsLOD();
 82031        public readonly DataStore_VirtualAudioMixer virtualAudioMixer = new DataStore_VirtualAudioMixer();
 82032        public readonly DataStore_Screen screen = new DataStore_Screen();
 82033        public readonly DataStore_WSCommunication wsCommunication = new DataStore_WSCommunication();
 82034        public readonly DataStore_WorldObjects sceneWorldObjects = new DataStore_WorldObjects();
 82035        public readonly DataStore_ExploreV2 exploreV2 = new DataStore_ExploreV2();
 82036        public readonly DataStore_Taskbar taskbar = new DataStore_Taskbar();
 82037        public readonly DataStore_FeatureFlag featureFlags = new DataStore_FeatureFlag();
 38
 39        public class DataStore_WorldObjects
 40        {
 41            public class SceneData
 42            {
 41843                public readonly BaseDictionary<Mesh, int> refCountedMeshes = new BaseDictionary<Mesh, int>();
 41844                public readonly BaseHashSet<Rendereable> renderedObjects = new BaseHashSet<Rendereable>();
 45            }
 46
 82047            public readonly BaseDictionary<string, SceneData> sceneData = new BaseDictionary<string, SceneData>();
 48        }
 49
 50        public class DataStore_BuilderInWorld
 51        {
 82052            public readonly BaseDictionary<string, CatalogItem> catalogItemDict = new BaseDictionary<string, CatalogItem
 82053            public readonly BaseDictionary<string, CatalogItem> currentSceneCatalogItemDict = new BaseDictionary<string,
 82054            public readonly BaseDictionary<string, CatalogItemPack> catalogItemPackDict = new BaseDictionary<string, Cat
 82055            public readonly BaseVariable<PublishSceneResultPayload> unpublishSceneResult = new BaseVariable<PublishScene
 82056            public readonly BaseVariable<bool> showTaskBar = new BaseVariable<bool>();
 82057            public readonly BaseVariable<LandWithAccess[]> landsWithAccess = new BaseVariable<LandWithAccess[]>();
 58        }
 59
 60        public class DataStore_Quests
 61        {
 82062            public readonly BaseDictionary<string, QuestModel> quests = new BaseDictionary<string, QuestModel>();
 82063            public readonly BaseCollection<string> pinnedQuests = new BaseCollection<string>();
 64        }
 65
 66        public class DataStore_HUDs
 67        {
 82068            public readonly BaseVariable<bool> questsPanelVisible = new BaseVariable<bool>(false);
 82069            public readonly BaseVariable<bool> builderProjectsPanelVisible = new BaseVariable<bool>(false);
 82070            public readonly BaseVariable<bool> signupVisible = new BaseVariable<bool>(false);
 82071            public readonly BaseVariable<bool> avatarNamesVisible = new BaseVariable<bool>(false);
 82072            public readonly BaseVariable<float> avatarNamesOpacity = new BaseVariable<float>(1);
 82073            public readonly LoadingHUD loadingHUD = new LoadingHUD();
 74
 75            public class LoadingHUD
 76            {
 82077                public readonly BaseVariable<bool> visible = new BaseVariable<bool>(false);
 82078                public readonly BaseVariable<string> message = new BaseVariable<string>(null);
 82079                public readonly BaseVariable<float> percentage = new BaseVariable<float>(0);
 82080                public readonly BaseVariable<bool> showWalletPrompt = new BaseVariable<bool>(false);
 82081                public readonly BaseVariable<bool> showTips = new BaseVariable<bool>(false);
 82            }
 83        }
 84
 85        public class DataStore_Player
 86        {
 87            // NOTE: set when character is teleported (DCLCharacterController - Teleport)
 82088            public readonly BaseVariable<Vector3> lastTeleportPosition = new BaseVariable<Vector3>(Vector3.zero);
 82089            public readonly BaseDictionary<string, Player> otherPlayers = new BaseDictionary<string, Player>();
 90        }
 91
 92        public class DataStore_AvatarsLOD
 93        {
 94            public const int DEFAULT_MAX_AVATAR = 50;
 95            public const int DEFAULT_MAX_IMPOSTORS = 70;
 96
 82097            public readonly BaseVariable<float> simpleAvatarDistance = new BaseVariable<float>(15f);
 82098            public readonly BaseVariable<float> LODDistance = new BaseVariable<float>(30f);
 82099            public readonly BaseVariable<int> maxAvatars = new BaseVariable<int>(DEFAULT_MAX_AVATAR);
 820100            public readonly BaseVariable<int> maxImpostors = new BaseVariable<int>(DEFAULT_MAX_IMPOSTORS);
 820101            public readonly BaseHashSet<string> visibleNames = new BaseHashSet<string>();
 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        {
 820109            public readonly BaseVariable<float> musicVolume = new BaseVariable<float>(1f);
 820110            public readonly BaseVariable<float> sceneSFXVolume = new BaseVariable<float>(1f);
 820111            public readonly BaseVariable<float> voiceChatVolume = new BaseVariable<float>(1f);
 820112            public readonly BaseVariable<float> uiSFXVolume = new BaseVariable<float>(1f);
 820113            public readonly BaseVariable<float> avatarSFXVolume = new BaseVariable<float>(1f);
 114        }
 115
 116        public class DataStore_Screen
 117        {
 820118            public readonly BaseVariable<Vector2Int> size = new BaseVariable<Vector2Int>(Vector2Int.zero);
 119        }
 120
 121        public class DataStore_WSCommunication
 122        {
 123            [System.NonSerialized]
 820124            public string url = "ws://localhost:5000/";
 125
 820126            public readonly BaseVariable<bool> communicationEstablished = new BaseVariable<bool>();
 820127            public readonly BaseVariable<bool> communicationReady = new BaseVariable<bool>();
 128        }
 129
 130        public class DataStore_ExploreV2
 131        {
 820132            public readonly BaseVariable<bool> isInitialized = new BaseVariable<bool>(false);
 820133            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        {
 0143            public readonly BaseVariable<FeatureFlag> flags = new BaseVariable<FeatureFlag>();
 144        }
 145    }
 146}