< Summary

Class:AvatarSystem.AvatarFactory
Assembly:AvatarSystem
File(s):/tmp/workspace/unity-renderer/unity-renderer/Assets/Scripts/MainScripts/DCL/AvatarSystem/AvatarFactory.cs
Covered lines:6
Uncovered lines:1
Coverable lines:7
Total lines:53
Line coverage:85.7% (6 of 7)
Covered branches:0
Total branches:0
Covered methods:4
Total methods:5
Method coverage:80% (4 of 5)

Metrics

MethodBranch coverage Crap Score Cyclomatic complexity NPath complexity Sequence coverage
AvatarFactory(...)0%110100%
CreateAvatar(...)0%110100%
CreateAvatarWithHologram(...)0%2100%
CreateLoader(...)0%110100%
CreateAvatarCurator()0%110100%

File(s)

/tmp/workspace/unity-renderer/unity-renderer/Assets/Scripts/MainScripts/DCL/AvatarSystem/AvatarFactory.cs

#LineLine coverage
 1using DCL;
 2using DCL.Emotes;
 3using DCLServices.WearablesCatalogService;
 4using GPUSkinning;
 5using UnityEngine;
 6
 7namespace AvatarSystem
 8{
 9    public class AvatarFactory : IAvatarFactory
 10    {
 11        private readonly ServiceLocator serviceLocator;
 12
 42513        public AvatarFactory(ServiceLocator serviceLocator)
 14        {
 42515            this.serviceLocator = serviceLocator;
 42516        }
 17
 18        public IAvatar CreateAvatar(GameObject avatarContainer, IAnimator animator, ILOD lod, IVisibility visibility) =>
 51819            new Avatar(
 20                CreateAvatarCurator(),
 21                CreateLoader(avatarContainer),
 22                visibility,
 23                lod,
 24                new SimpleGPUSkinning(),
 25                serviceLocator.Get<IGPUSkinningThrottlerService>(),
 26                new AvatarEmotesController(animator, serviceLocator.Get<IEmotesService>())
 27            );
 28
 29        public IAvatar CreateAvatarWithHologram(
 30            GameObject avatarContainer,
 31            IBaseAvatar baseAvatar,
 32            IAnimator animator,
 33            ILOD lod,
 34            IVisibility visibility
 35        ) =>
 036            new AvatarWithHologram(
 37                baseAvatar,
 38                CreateAvatarCurator(),
 39                CreateLoader(avatarContainer),
 40                visibility,
 41                lod,
 42                new SimpleGPUSkinning(),
 43                serviceLocator.Get<IGPUSkinningThrottlerService>(),
 44                new AvatarEmotesController(animator, serviceLocator.Get<IEmotesService>())
 45            );
 46
 47        private Loader CreateLoader(GameObject avatarContainer) =>
 51848            new (new WearableLoaderFactory(), avatarContainer, new AvatarMeshCombinerHelper());
 49
 50        private AvatarCurator CreateAvatarCurator() =>
 51851            new (new WearableItemResolver(serviceLocator.Get<IWearablesCatalogService>()), serviceLocator.Get<IEmotesCat
 52    }
 53}