< 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:22
Uncovered lines:11
Coverable lines:33
Total lines:101
Line coverage:66.6% (22 of 33)
Covered branches:0
Total branches:0

Metrics

MethodBranch coverage Crap Score Cyclomatic complexity NPath complexity Sequence coverage
IsGlobalScene(...)0%2.062075%
TryToGetSceneCoordsFromSceneNumber(...)0%6200%
ConvertUnityToScenePosition(...)0%330100%
ConvertSceneToUnityPosition(...)0%110100%
ConvertScenePositionToUnityPosition(...)0%2100%
ConvertPointInSceneToUnityPosition(...)0%4.943040%
ConvertPointInSceneToUnityPosition(...)0%110100%
IsCharacterInsideScene(...)0%110100%
GetCurrentScene()0%3.143075%

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(int sceneNumber)
 11        {
 212            var worldState = Environment.i.world.state;
 13
 214            if (worldState.TryGetScene(sceneNumber, out IParcelScene scene))
 15            {
 016                return scene.isPersistent;
 17            }
 18
 219            return false;
 20        }
 21
 22        public static string TryToGetSceneCoordsFromSceneNumber(int sceneNumber)
 23        {
 024            var worldState = Environment.i.world.state;
 25
 026            if (worldState.TryGetScene(sceneNumber, out IParcelScene parcelScene))
 27            {
 028                return parcelScene.sceneData.basePosition.ToString();
 29            }
 30
 031            return $"scene number {sceneNumber}";
 32        }
 33
 34        public static Vector3 ConvertUnityToScenePosition(Vector3 pos, IParcelScene scene = null)
 35        {
 11836            if (scene == null)
 37            {
 238                scene = GetCurrentScene();
 39
 240                if (scene == null)
 241                    return pos;
 42            }
 43
 11644            Vector3 worldPosition = PositionUtils.UnityToWorldPosition(pos);
 11645            return worldPosition - Utils.GridToWorldPosition(scene.sceneData.basePosition.x, scene.sceneData.basePositio
 46        }
 47
 48        public static Vector3 ConvertSceneToUnityPosition(Vector3 pos, IParcelScene scene = null)
 49        {
 250            return ConvertPointInSceneToUnityPosition(pos, scene);
 51        }
 52
 53        public static Vector3 ConvertScenePositionToUnityPosition(IParcelScene scene = null)
 54        {
 055            return ConvertPointInSceneToUnityPosition(Vector3.zero, scene);
 56        }
 57
 58        public static Vector3 ConvertPointInSceneToUnityPosition(Vector3 pos, IParcelScene scene = null)
 59        {
 260            if (scene == null)
 61            {
 062                scene = GetCurrentScene();
 63
 064                if (scene == null)
 065                    return pos;
 66            }
 67
 268            return ConvertPointInSceneToUnityPosition(pos,
 69                new Vector2Int(scene.sceneData.basePosition.x, scene.sceneData.basePosition.y));
 70        }
 71
 72        public static Vector3 ConvertPointInSceneToUnityPosition(Vector3 pos, Vector2Int scenePoint)
 73        {
 274            Vector3 scenePosition = Utils.GridToWorldPosition(scenePoint.x, scenePoint.y) + pos;
 275            Vector3 worldPosition = PositionUtils.WorldToUnityPosition(scenePosition);
 76
 277            return worldPosition;
 78        }
 79
 80        public static bool IsCharacterInsideScene(IParcelScene scene)
 81        {
 3882            return scene.IsInsideSceneBoundaries(DataStore.i.player.playerGridPosition.Get());
 83        }
 84
 85        public static IParcelScene GetCurrentScene()
 86        {
 287            var worldState = Environment.i.world.state;
 288            int currentSceneNumber = worldState.GetCurrentSceneNumber();
 89
 290            if (currentSceneNumber <= 0)
 091                return null;
 92
 293            bool foundCurrentScene = worldState.TryGetScene(currentSceneNumber, out IParcelScene scene);
 94
 295            if (!foundCurrentScene)
 296                return null;
 97
 098            return scene;
 99        }
 100    }
 101}