< Summary

Class:DCL.WorldStateUtils
Assembly:MainScripts
File(s):/tmp/workspace/unity-renderer/unity-renderer/Assets/Scripts/MainScripts/DCL/WorldRuntime/Utils/WorldStateUtils.cs
Covered lines:27
Uncovered lines:21
Coverable lines:48
Total lines:133
Line coverage:56.2% (27 of 48)
Covered branches:0
Total branches:0

Metrics

MethodBranch coverage Crap Score Cyclomatic complexity NPath complexity Sequence coverage
IsGlobalScene(...)0%6200%
TryToGetSceneCoordsID(...)0%6200%
ConvertUnityToScenePosition(...)0%330100%
ConvertSceneToUnityPosition(...)0%110100%
ConvertScenePositionToUnityPosition(...)0%110100%
ConvertPointInSceneToUnityPosition(...)0%4.943040%
ConvertPointInSceneToUnityPosition(...)0%110100%
IsCharacterInsideScene(...)0%110100%
GetActivePortableExperienceScenes()0%5.44055.56%
GetActivePortableExperienceIds()0%5.44055.56%
GetCurrentScene()0%4.123050%

File(s)

/tmp/workspace/unity-renderer/unity-renderer/Assets/Scripts/MainScripts/DCL/WorldRuntime/Utils/WorldStateUtils.cs

#LineLine coverage
 1using System.Collections.Generic;
 2using DCL.Controllers;
 3using DCL.Helpers;
 4using UnityEngine;
 5
 6namespace DCL
 7{
 8    public static class WorldStateUtils
 9    {
 10        public static bool IsGlobalScene(string sceneId)
 11        {
 012            var worldState = Environment.i.world.state;
 13
 014            if (worldState.TryGetScene(sceneId, out IParcelScene scene))
 15            {
 016                return scene is GlobalScene;
 17            }
 18
 019            return false;
 20        }
 21
 22        public static string TryToGetSceneCoordsID(string id)
 23        {
 024            var worldState = Environment.i.world.state;
 25
 026            if (worldState.TryGetScene(id, out IParcelScene parcelScene))
 27            {
 028                return parcelScene.sceneData.basePosition.ToString();
 29            }
 30
 031            return id;
 32        }
 33
 34        public static Vector3 ConvertUnityToScenePosition(Vector3 pos, IParcelScene scene = null)
 35        {
 6536            if (scene == null)
 37            {
 438                scene = GetCurrentScene();
 39
 440                if (scene == null)
 441                    return pos;
 42            }
 43
 6144            Vector3 worldPosition = PositionUtils.UnityToWorldPosition(pos);
 6145            return worldPosition - Utils.GridToWorldPosition(scene.sceneData.basePosition.x, scene.sceneData.basePositio
 46        }
 47
 248        public static Vector3 ConvertSceneToUnityPosition(Vector3 pos, IParcelScene scene = null) { return ConvertPointI
 49
 10950        public static Vector3 ConvertScenePositionToUnityPosition(IParcelScene scene = null) { return ConvertPointInScen
 51
 52        public static Vector3 ConvertPointInSceneToUnityPosition(Vector3 pos, IParcelScene scene = null)
 53        {
 11154            if (scene == null)
 55            {
 056                scene = GetCurrentScene();
 57
 058                if (scene == null)
 059                    return pos;
 60            }
 61
 11162            return ConvertPointInSceneToUnityPosition(pos, new Vector2Int(scene.sceneData.basePosition.x, scene.sceneDat
 63        }
 64
 65        public static Vector3 ConvertPointInSceneToUnityPosition(Vector3 pos, Vector2Int scenePoint)
 66        {
 11867            Vector3 scenePosition = Utils.GridToWorldPosition(scenePoint.x, scenePoint.y) + pos;
 11868            Vector3 worldPosition = PositionUtils.WorldToUnityPosition(scenePosition);
 69
 11870            return worldPosition;
 71        }
 72
 73        public static bool IsCharacterInsideScene(IParcelScene scene)
 74        {
 80275            Vector2Int gridPosition = Utils.WorldToGridPosition(CommonScriptableObjects.playerWorldPosition.Get());
 80276            return scene.IsInsideSceneBoundaries(gridPosition);
 77        }
 78
 79        public static List<GlobalScene> GetActivePortableExperienceScenes()
 80        {
 181            List<GlobalScene> activePortableExperienceScenes = new List<GlobalScene>();
 182            IWorldState worldState = Environment.i.world.state;
 83
 284            foreach (var globalSceneId in worldState.globalSceneIds)
 85            {
 086                if (worldState.TryGetScene(globalSceneId, out GlobalScene scene))
 87                {
 088                    if (scene.isPortableExperience)
 89                    {
 090                        activePortableExperienceScenes.Add(scene);
 91                    }
 92                }
 93            }
 94
 195            return activePortableExperienceScenes;
 96        }
 97
 98        public static List<string> GetActivePortableExperienceIds()
 99        {
 14100            List<string> currentSceneAndPortableExperiencesIds = new List<string>();
 14101            IWorldState worldState = Environment.i.world.state;
 102
 28103            foreach (var globalSceneId in worldState.globalSceneIds)
 104            {
 0105                if (worldState.TryGetScene(globalSceneId, out GlobalScene scene))
 106                {
 0107                    if (scene.isPortableExperience)
 108                    {
 0109                        currentSceneAndPortableExperiencesIds.Add(globalSceneId);
 110                    }
 111                }
 112            }
 113
 14114            return currentSceneAndPortableExperiencesIds;
 115        }
 116
 117        static IParcelScene GetCurrentScene()
 118        {
 4119            var worldState = Environment.i.world.state;
 4120            string currentSceneId = worldState.currentSceneId;
 121
 4122            if (string.IsNullOrEmpty(currentSceneId))
 4123                return null;
 124
 0125            bool foundCurrentScene = worldState.loadedScenes.TryGetValue(currentSceneId, out IParcelScene scene);
 126
 0127            if (!foundCurrentScene)
 0128                return null;
 129
 0130            return scene;
 131        }
 132    }
 133}