< Summary

Class:DCL.WorldStateUtils
Assembly:PositionUtils
File(s):/tmp/workspace/unity-renderer/unity-renderer/Assets/Scripts/MainScripts/DCL/Helpers/Utils/PositionUtils/WorldStateUtils.cs
Covered lines:20
Uncovered lines:13
Coverable lines:33
Total lines:102
Line coverage:60.6% (20 of 33)
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%2100%
ConvertPointInSceneToUnityPosition(...)0%4.943040%
ConvertPointInSceneToUnityPosition(...)0%110100%
IsCharacterInsideScene(...)0%110100%
GetCurrentScene()0%3.023087.5%

File(s)

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

#LineLine coverage
 1using DCL.Controllers;
 2using DCL.Helpers;
 3using DCL.Models;
 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.isPersistent;
 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            {
 638                scene = GetCurrentScene();
 39
 640                if (scene == null)
 241                    return pos;
 42            }
 43
 6344            Vector3 worldPosition = PositionUtils.UnityToWorldPosition(pos);
 6345            return worldPosition -
 46                   Utils.GridToWorldPosition(scene.sceneData.basePosition.x, scene.sceneData.basePosition.y);
 47        }
 48
 49        public static Vector3 ConvertSceneToUnityPosition(Vector3 pos, IParcelScene scene = null)
 50        {
 251            return ConvertPointInSceneToUnityPosition(pos, scene);
 52        }
 53
 54        public static Vector3 ConvertScenePositionToUnityPosition(IParcelScene scene = null)
 55        {
 056            return ConvertPointInSceneToUnityPosition(Vector3.zero, scene);
 57        }
 58
 59        public static Vector3 ConvertPointInSceneToUnityPosition(Vector3 pos, IParcelScene scene = null)
 60        {
 261            if (scene == null)
 62            {
 063                scene = GetCurrentScene();
 64
 065                if (scene == null)
 066                    return pos;
 67            }
 68
 269            return ConvertPointInSceneToUnityPosition(pos,
 70                new Vector2Int(scene.sceneData.basePosition.x, scene.sceneData.basePosition.y));
 71        }
 72
 73        public static Vector3 ConvertPointInSceneToUnityPosition(Vector3 pos, Vector2Int scenePoint)
 74        {
 975            Vector3 scenePosition = Utils.GridToWorldPosition(scenePoint.x, scenePoint.y) + pos;
 976            Vector3 worldPosition = PositionUtils.WorldToUnityPosition(scenePosition);
 77
 978            return worldPosition;
 79        }
 80
 81        public static bool IsCharacterInsideScene(IParcelScene scene)
 82        {
 3383            return scene.IsInsideSceneBoundaries(DataStore.i.player.playerGridPosition.Get());
 84        }
 85
 86        public static IParcelScene GetCurrentScene()
 87        {
 688            var worldState = Environment.i.world.state;
 689            string currentSceneId = worldState.GetCurrentSceneId();
 90
 691            if (string.IsNullOrEmpty(currentSceneId))
 092                return null;
 93
 694            bool foundCurrentScene = worldState.TryGetScene(currentSceneId, out IParcelScene scene);
 95
 696            if (!foundCurrentScene)
 297                return null;
 98
 499            return scene;
 100        }
 101    }
 102}