< Summary

Class:ECSSystems.BillboardSystem.ECSBillboardSystem
Assembly:ECS7Plugin.Systems.Billboard
File(s):/tmp/workspace/unity-renderer/unity-renderer/Assets/DCLPlugins/ECS7/Systems/BillboardSystem/ECSBillboardSystem.cs
Covered lines:16
Uncovered lines:0
Coverable lines:16
Total lines:44
Line coverage:100% (16 of 16)
Covered branches:0
Total branches:0

Metrics

MethodBranch coverage Crap Score Cyclomatic complexity NPath complexity Sequence coverage
ECSBillboardSystem(...)0%110100%
Update()0%440100%

File(s)

/tmp/workspace/unity-renderer/unity-renderer/Assets/DCLPlugins/ECS7/Systems/BillboardSystem/ECSBillboardSystem.cs

#LineLine coverage
 1using System;
 2using DCL;
 3using DCL.ECSComponents;
 4using DCL.ECSRuntime;
 5using DCL.Models;
 6
 7namespace ECSSystems.BillboardSystem
 8{
 9    public class ECSBillboardSystem
 10    {
 11        private readonly ECSComponent<PBBillboard> billboardComponent;
 12        private readonly DataStore_Camera camera;
 13
 414        public ECSBillboardSystem(ECSComponent<PBBillboard> billboards,  DataStore_Camera camera)
 15        {
 416            this.billboardComponent = billboards;
 417            this.camera = camera;
 418        }
 19
 20        public void Update()
 21        {
 1422            UnityEngine.Vector3 cameraPosition = camera.transform.Get().position;
 1423            var billboards = billboardComponent.Get();
 24
 3025            for (var i = 0; i < billboards.Count; i++)
 26            {
 127                PBBillboard billboard = billboards[i].value.model;
 128                IDCLEntity entity = billboards[i].value.entity;
 129                UnityEngine.Vector3 lookAtVector = // billboard.OppositeDirection ?
 30                    // cameraPosition - entity.gameObject.transform.position :
 31                    entity.gameObject.transform.position - cameraPosition;
 32
 133                if (billboard.BillboardMode == BillboardMode.BmY)
 34                {
 135                    lookAtVector.Normalize();
 136                    lookAtVector.y = entity.gameObject.transform.forward.y;
 37                }
 38
 139                if (lookAtVector != UnityEngine.Vector3.zero)
 140                    entity.gameObject.transform.forward = lookAtVector.normalized;
 41            }
 1442        }
 43    }
 44}