< Summary

Class:DCLCharacterPosition
Assembly:MainScripts
File(s):/tmp/workspace/unity-renderer/unity-renderer/Assets/Scripts/MainScripts/DCL/Controllers/CharacterController/DCLCharacterPosition.cs
Covered lines:32
Uncovered lines:3
Coverable lines:35
Total lines:79
Line coverage:91.4% (32 of 35)
Covered branches:0
Total branches:0

Metrics

MethodBranch coverage Crap Score Cyclomatic complexity NPath complexity Sequence coverage
DCLCharacterPosition()0%110100%
CheckAndRepositionWorld()0%440100%
RepositionedWorldLastFrame()0%110100%
ToString()0%2100%

File(s)

/tmp/workspace/unity-renderer/unity-renderer/Assets/Scripts/MainScripts/DCL/Controllers/CharacterController/DCLCharacterPosition.cs

#LineLine coverage
 1using DCL.Configuration;
 2using System;
 3using DCL;
 4using DCL.Helpers;
 5using UnityEngine;
 6
 7public class DCLCharacterPosition
 8{
 9    private Vector3 worldPositionValue;
 10    private Vector3 unityPositionValue;
 11    private Vector3 offset;
 12
 13    private int lastRepositionFrame = 0;
 14
 15    public Vector3 worldPosition
 16    {
 017        get { return worldPositionValue; }
 18        set
 19        {
 2059420            worldPositionValue = value;
 2059421            unityPositionValue = PositionUtils.WorldToUnityPosition(worldPositionValue);
 2059422            CheckAndRepositionWorld();
 2059423        }
 24    }
 25
 26    public Vector3 unityPosition
 27    {
 028        get { return unityPositionValue; }
 29        set
 30        {
 131            unityPositionValue = value;
 132            worldPositionValue = PositionUtils.UnityToWorldPosition(unityPositionValue);
 133            CheckAndRepositionWorld();
 134        }
 35    }
 36
 12437    public DCLCharacterPosition()
 38    {
 12439        CommonScriptableObjects.worldOffset.Set(Vector3.zero);
 12440        CommonScriptableObjects.playerWorldPosition.Set(Vector3.zero);
 12441    }
 42
 43    private void CheckAndRepositionWorld()
 44    {
 2059545        bool dirty = false;
 2059546        float minDistanceForReposition = PlayerSettings.WORLD_REPOSITION_MINIMUM_DISTANCE;
 47
 2059548        if (Mathf.Abs(unityPositionValue.x) > minDistanceForReposition)
 49        {
 450            float dist = (int) (unityPositionValue.x / minDistanceForReposition) * minDistanceForReposition;
 451            unityPositionValue.x -= dist;
 452            offset.x += dist;
 453            dirty = true;
 54        }
 55
 2059556        if (Mathf.Abs(unityPositionValue.z) > minDistanceForReposition)
 57        {
 458            float dist = (int) (unityPositionValue.z / minDistanceForReposition) * minDistanceForReposition;
 459            unityPositionValue.z -= dist;
 460            offset.z += dist;
 461            dirty = true;
 62        }
 63
 2059564        if (dirty)
 65        {
 466            worldPositionValue = unityPositionValue + offset;
 67
 468            lastRepositionFrame = Time.frameCount;
 69
 470            CommonScriptableObjects.playerWorldPosition.Set(worldPositionValue);
 471            CommonScriptableObjects.worldOffset.Set(offset);
 472            DCL.Environment.i.platform.physicsSyncController.MarkDirty();
 73        }
 2059574    }
 75
 1902676    public bool RepositionedWorldLastFrame() { return lastRepositionFrame == Time.frameCount - 1; }
 77
 078    public override string ToString() { return $"worldPos: {worldPositionValue} - unityPos: {unityPositionValue} - offse
 79}