< Summary

Class:DCL.DataStore
Assembly:DataStore
File(s):/tmp/workspace/unity-renderer/unity-renderer/Assets/Scripts/MainScripts/DCL/DataStore/DataStore.cs
Covered lines:52
Uncovered lines:0
Coverable lines:52
Total lines:113
Line coverage:100% (52 of 52)
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_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%

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();
 79815        public static DataStore i { get => instance; }
 6916        public static void Clear() => instance = new DataStore();
 17
 7018        public readonly CurrentRealmVariable playerRealm = new CurrentRealmVariable();
 7019        public readonly RealmsVariable realmsInfo = new RealmsVariable();
 7020        public readonly DebugConfig debugConfig = new DebugConfig();
 7021        public readonly BaseVariable<bool> isSignUpFlow = new BaseVariable<bool>();
 7022        public readonly BaseDictionary<string, WearableItem> wearables = new BaseDictionary<string, WearableItem>();
 7023        public readonly DataStore_BuilderInWorld builderInWorld = new DataStore_BuilderInWorld();
 7024        public readonly DataStore_Quests Quests = new DataStore_Quests();
 7025        public readonly DataStore_HUDs HUDs = new DataStore_HUDs();
 7026        public readonly BaseVariable<bool> isPlayerRendererLoaded = new BaseVariable<bool>();
 7027        public readonly BaseVariable<AppMode> appMode = new BaseVariable<AppMode>();
 7028        public readonly DataStore_Player player = new DataStore_Player();
 7029        public readonly BaseVariable<NFTPromptModel> onOpenNFTPrompt = new BaseVariable<NFTPromptModel>();
 7030        public readonly DataStore_AvatarsLOD avatarsLOD = new DataStore_AvatarsLOD();
 7031        public readonly DataStore_VirtualAudioMixer virtualAudioMixer = new DataStore_VirtualAudioMixer();
 7032        public readonly DataStore_Screen screen = new DataStore_Screen();
 7033        public readonly DataStore_WSCommunication wsCommunication = new DataStore_WSCommunication();
 34
 35        public class DataStore_BuilderInWorld
 36        {
 7037            public readonly BaseDictionary<string, CatalogItem> catalogItemDict = new BaseDictionary<string, CatalogItem
 7038            public readonly BaseDictionary<string, CatalogItem> currentSceneCatalogItemDict = new BaseDictionary<string,
 7039            public readonly BaseDictionary<string, CatalogItemPack> catalogItemPackDict = new BaseDictionary<string, Cat
 7040            public readonly BaseVariable<PublishSceneResultPayload> unpublishSceneResult = new BaseVariable<PublishScene
 7041            public readonly BaseVariable<bool> showTaskBar = new BaseVariable<bool>();
 7042            public readonly BaseVariable<LandWithAccess[]> landsWithAccess = new BaseVariable<LandWithAccess[]>();
 43        }
 44
 45        public class DataStore_Quests
 46        {
 7047            public readonly BaseDictionary<string, QuestModel> quests = new BaseDictionary<string, QuestModel>();
 7048            public readonly BaseCollection<string> pinnedQuests = new BaseCollection<string>();
 49        }
 50
 51        public class DataStore_HUDs
 52        {
 7053            public readonly BaseVariable<bool> questsPanelVisible = new BaseVariable<bool>(false);
 7054            public readonly BaseVariable<bool> builderProjectsPanelVisible = new BaseVariable<bool>(false);
 7055            public readonly BaseVariable<bool> signupVisible = new BaseVariable<bool>(false);
 7056            public readonly LoadingHUD loadingHUD = new LoadingHUD();
 57
 58            public class LoadingHUD
 59            {
 7060                public readonly BaseVariable<bool> visible = new BaseVariable<bool>(false);
 7061                public readonly BaseVariable<string> message = new BaseVariable<string>(null);
 7062                public readonly BaseVariable<float> percentage = new BaseVariable<float>(0);
 7063                public readonly BaseVariable<bool> showWalletPrompt = new BaseVariable<bool>(false);
 7064                public readonly BaseVariable<bool> showTips = new BaseVariable<bool>(false);
 65            }
 66        }
 67
 68        public class DataStore_Player
 69        {
 70            // NOTE: set when character is teleported (DCLCharacterController - Teleport)
 7071            public readonly BaseVariable<Vector3> lastTeleportPosition = new BaseVariable<Vector3>(Vector3.zero);
 7072            public readonly BaseDictionary<string, Player> otherPlayers = new BaseDictionary<string, Player>();
 73        }
 74
 75        public class DataStore_AvatarsLOD
 76        {
 77            public const int DEFAULT_MAX_AVATAR = 50;
 78            public const int DEFAULT_MAX_IMPOSTORS = 70;
 79
 7080            public readonly BaseVariable<float> simpleAvatarDistance = new BaseVariable<float>(15f);
 7081            public readonly BaseVariable<float> LODDistance = new BaseVariable<float>(30f);
 7082            public readonly BaseVariable<int> maxAvatars = new BaseVariable<int>(DEFAULT_MAX_AVATAR);
 7083            public readonly BaseVariable<int> maxImpostors = new BaseVariable<int>(DEFAULT_MAX_IMPOSTORS);
 7084            public readonly BaseHashSet<string> visibleNames = new BaseHashSet<string>();
 85        }
 86
 87        /// <summary>
 88        /// An "audio mixer" that handles muting/fading when entering special states like Avatar Editor, Tutorial, Build
 89        /// </summary>
 90        public class DataStore_VirtualAudioMixer
 91        {
 7092            public readonly BaseVariable<float> musicVolume = new BaseVariable<float>(1f);
 7093            public readonly BaseVariable<float> sceneSFXVolume = new BaseVariable<float>(1f);
 7094            public readonly BaseVariable<float> voiceChatVolume = new BaseVariable<float>(1f);
 7095            public readonly BaseVariable<float> uiSFXVolume = new BaseVariable<float>(1f);
 7096            public readonly BaseVariable<float> avatarSFXVolume = new BaseVariable<float>(1f);
 97        }
 98
 99        public class DataStore_Screen
 100        {
 70101            public readonly BaseVariable<Vector2Int> size = new BaseVariable<Vector2Int>(Vector2Int.zero);
 102        }
 103
 104        public class DataStore_WSCommunication
 105        {
 106            [System.NonSerialized]
 70107            public string url = "ws://localhost:5000/";
 108
 70109            public readonly BaseVariable<bool> communicationEstablished = new BaseVariable<bool>();
 70110            public readonly BaseVariable<bool> communicationReady = new BaseVariable<bool>();
 111        }
 112    }
 113}