< Summary

Class:DCL.ECSComponents.ProtoConvertUtils
Assembly:ECSComponents.Utils
File(s):/tmp/workspace/unity-renderer/unity-renderer/Assets/DCLPlugins/ECS7/ECSComponents/Utils/ProtoConvertUtils.cs
Covered lines:22
Uncovered lines:28
Coverable lines:50
Total lines:172
Line coverage:44% (22 of 50)
Covered branches:0
Total branches:0

Metrics

MethodBranch coverage Crap Score Cyclomatic complexity NPath complexity Sequence coverage
ToPBRaycasHit(...)0%2100%
ToPBRaycasHit(...)0%3.043083.33%
UnityVectorToPBVector(...)0%110100%
PBVectorToUnityVector(...)0%110100%
PBCameraEnumToUnityEnum(...)0%5.673033.33%
UnityEnumToPBCameraEnum(...)0%330100%
ToUnityColor(...)0%110100%
ToUnityColor(...)0%110100%
ToFontName(...)0%110100%
ToUnityTextAlign(...)0%99.2111010%
ToUnityBorder(...)0%6200%
ToDCLUVs(...)0%12300%
ToDCLImageScaleMode(...)0%30500%

File(s)

/tmp/workspace/unity-renderer/unity-renderer/Assets/DCLPlugins/ECS7/ECSComponents/Utils/ProtoConvertUtils.cs

#LineLine coverage
 1using DCL.CameraTool;
 2using DCL.Helpers;
 3using DCL.UIElements.Structures;
 4using Google.Protobuf.Collections;
 5using JetBrains.Annotations;
 6using Decentraland.Common;
 7using UnityEngine;
 8using Vector3 = Decentraland.Common.Vector3;
 9
 10namespace DCL.ECSComponents
 11{
 12    public static class ProtoConvertUtils
 13    {
 14        public static RaycastHit ToPBRaycasHit(long entityId, string meshName, Ray ray, HitInfo rawHit)
 15        {
 016            var hit = new RaycastHit();
 017            hit.Length = rawHit.distance;
 018            hit.Origin = UnityVectorToPBVector(ray.origin);
 019            hit.EntityId = (int)entityId;
 020            hit.MeshName = meshName;
 021            hit.Position = UnityVectorToPBVector(rawHit.point);
 022            hit.NormalHit = UnityVectorToPBVector(rawHit.normal);
 023            hit.Direction = UnityVectorToPBVector(ray.direction);
 24
 025            return hit;
 26        }
 27
 28        public static RaycastHit ToPBRaycasHit(long entityId, string meshName, Ray ray,
 29            float hitDistance, UnityEngine.Vector3 hitPoint, UnityEngine.Vector3 hitNormal, bool isValidEntity = true)
 30        {
 4231            var ret = new RaycastHit
 32            {
 33                Length = hitDistance,
 34                Origin = UnityVectorToPBVector(ray.origin),
 35                Position = UnityVectorToPBVector(hitPoint),
 36                NormalHit = UnityVectorToPBVector(hitNormal),
 37                Direction = UnityVectorToPBVector(ray.direction)
 38            };
 39
 4240            if (isValidEntity)
 41            {
 3742                ret.EntityId = entityId;
 43            }
 4244            if (!string.IsNullOrEmpty(meshName))
 45            {
 046                ret.MeshName = meshName;
 47            }
 48
 4249            return ret;
 50        }
 51
 52        public static Vector3 UnityVectorToPBVector(UnityEngine.Vector3 original)
 53        {
 16854            Vector3 vector = new Vector3();
 16855            vector.X = original.x;
 16856            vector.Y = original.y;
 16857            vector.Z = original.z;
 16858            return vector;
 59        }
 60
 61        public static UnityEngine.Vector3 PBVectorToUnityVector(Vector3 original)
 62        {
 663            UnityEngine.Vector3 vector = new UnityEngine.Vector3();
 664            vector.x = original.X;
 665            vector.y = original.Y;
 666            vector.z = original.Z;
 667            return vector;
 68        }
 69
 70        public static CameraMode.ModeId PBCameraEnumToUnityEnum(CameraType mode)
 71        {
 72            switch (mode)
 73            {
 74                case CameraType.CtFirstPerson:
 475                    return CameraMode.ModeId.FirstPerson;
 76                case CameraType.CtThirdPerson:
 077                    return CameraMode.ModeId.ThirdPerson;
 78                default:
 079                    return CommonScriptableObjects.cameraMode.Get();
 80            }
 81        }
 82
 83        public static CameraType UnityEnumToPBCameraEnum(CameraMode.ModeId mode)
 84        {
 85            switch (mode)
 86            {
 87                case CameraMode.ModeId.FirstPerson:
 188                    return CameraType.CtFirstPerson;
 89                case CameraMode.ModeId.ThirdPerson:
 90                default:
 2091                    return CameraType.CtThirdPerson;
 92            }
 93        }
 94
 95        public static Color ToUnityColor(this Color3 color)
 96        {
 5197            return new Color(color.R, color.G, color.B);
 98        }
 99
 100        public static Color ToUnityColor(this Color4 color)
 101        {
 41102            return new Color(color.R, color.G, color.B, color.A);
 103        }
 104
 105        public static string ToFontName(this Font font)
 106        {
 107            // TODO: add support for the rest of the fonts and discuss old font deprecation
 108            const string SANS_SERIF = "SansSerif";
 109
 110            switch (font)
 111            {
 112                case Font.FSansSerif:
 22113                    return SANS_SERIF;
 114                default:
 115                    return SANS_SERIF;
 116            }
 117        }
 118
 119        public static TextAnchor ToUnityTextAlign(this TextAlignMode align)
 120        {
 121            switch (align)
 122            {
 123                case TextAlignMode.TamTopCenter:
 0124                    return TextAnchor.UpperCenter;
 125                case TextAlignMode.TamTopLeft:
 0126                    return TextAnchor.UpperLeft;
 127                case TextAlignMode.TamTopRight:
 0128                    return TextAnchor.UpperRight;
 129
 130                case TextAlignMode.TamBottomCenter:
 0131                    return TextAnchor.LowerCenter;
 132                case TextAlignMode.TamBottomLeft:
 0133                    return TextAnchor.LowerLeft;
 134                case TextAlignMode.TamBottomRight:
 0135                    return TextAnchor.LowerRight;
 136
 137                case TextAlignMode.TamMiddleCenter:
 0138                    return TextAnchor.MiddleCenter;
 139                case TextAlignMode.TamMiddleLeft:
 0140                    return TextAnchor.MiddleLeft;
 141                case TextAlignMode.TamMiddleRight:
 1142                    return TextAnchor.MiddleRight;
 143
 144                default:
 0145                    return TextAnchor.MiddleCenter;
 146            }
 147        }
 148
 149        public static Vector4 ToUnityBorder([CanBeNull] this BorderRect rect) =>
 0150            rect == null ? Vector4.zero : new Vector4(rect.Left, rect.Top, rect.Right, rect.Bottom);
 151
 152        public static DCLUVs ToDCLUVs([CanBeNull] this RepeatedField<float> uvs) =>
 0153            uvs is not { Count: 8 }
 154                ? DCLUVs.Default
 155                : new DCLUVs(
 156                    new UnityEngine.Vector2(uvs[0], uvs[1]),
 157                    new UnityEngine.Vector2(uvs[2], uvs[3]),
 158                    new UnityEngine.Vector2(uvs[4], uvs[5]),
 159                    new UnityEngine.Vector2(uvs[6], uvs[7]));
 160
 161        public static DCLImageScaleMode ToDCLImageScaleMode(this BackgroundTextureMode textureMode)
 162        {
 0163            return textureMode switch
 164                   {
 0165                       BackgroundTextureMode.Center => DCLImageScaleMode.CENTER,
 0166                       BackgroundTextureMode.Stretch => DCLImageScaleMode.STRETCH,
 0167                       BackgroundTextureMode.NineSlices => DCLImageScaleMode.NINE_SLICES,
 0168                       _ => DCLImageScaleMode.STRETCH
 169                   };
 170        }
 171    }
 172}