< Summary

Class:DCL.ECSComponents.ECSTransformSerialization
Assembly:DCL.ECSComponents.Transform.Serialization
File(s):/tmp/workspace/unity-renderer/unity-renderer/Assets/DCLPlugins/ECS7/ECSComponents/Transform/Serialization/ECSTransformSerialization.cs
Covered lines:25
Uncovered lines:0
Coverable lines:25
Total lines:53
Line coverage:100% (25 of 25)
Covered branches:0
Total branches:0
Covered methods:3
Total methods:3
Method coverage:100% (3 of 3)

Metrics

MethodBranch coverage Crap Score Cyclomatic complexity NPath complexity Sequence coverage
ECSTransformSerialization()0%110100%
Deserialize(...)0%110100%
Serialize(...)0%110100%

File(s)

/tmp/workspace/unity-renderer/unity-renderer/Assets/DCLPlugins/ECS7/ECSComponents/Transform/Serialization/ECSTransformSerialization.cs

#LineLine coverage
 1using System.IO;
 2using BinaryWriter = KernelCommunication.BinaryWriter;
 3
 4namespace DCL.ECSComponents
 5{
 6    public static class ECSTransformSerialization
 7    {
 8        private const int TRANSFORM_LENGTH = 44;
 9
 110        private static readonly MemoryStream memoryStream = new MemoryStream(TRANSFORM_LENGTH);
 111        private static readonly BinaryWriter binaryWriter = new BinaryWriter(memoryStream);
 12
 13        public static unsafe ECSTransform Deserialize(object data)
 14        {
 215            byte[] bytes = (byte[])data;
 16
 217            ECSTransform model = new ECSTransform();
 18
 219            fixed (byte* numPtr = &bytes[0])
 20            {
 221                float* arr = (float*)numPtr;
 222                model.position.Set(arr[0], arr[1], arr[2]);
 223                model.rotation.Set(arr[3], arr[4], arr[5], arr[6]);
 224                model.scale.Set(arr[7], arr[8], arr[9]);
 225                model.parentId = *(int*)(numPtr + 40);
 26            }
 27
 228            return model;
 29        }
 30
 31        public static byte[] Serialize(ECSTransform model)
 32        {
 233            binaryWriter.WriteSingle(model.position.x);
 234            binaryWriter.WriteSingle(model.position.y);
 235            binaryWriter.WriteSingle(model.position.z);
 36
 237            binaryWriter.WriteSingle(model.rotation.x);
 238            binaryWriter.WriteSingle(model.rotation.y);
 239            binaryWriter.WriteSingle(model.rotation.z);
 240            binaryWriter.WriteSingle(model.rotation.w);
 41
 242            binaryWriter.WriteSingle(model.scale.x);
 243            binaryWriter.WriteSingle(model.scale.y);
 244            binaryWriter.WriteSingle(model.scale.z);
 45
 246            binaryWriter.WriteInt32((int)model.parentId);
 47
 248            byte[] result = memoryStream.ToArray();
 249            memoryStream.SetLength(0);
 250            return result;
 51        }
 52    }
 53}