< Summary

Class:ParticlesOnAvatarVisualCue
Assembly:AvatarShape
File(s):/tmp/workspace/unity-renderer/unity-renderer/Assets/Scripts/MainScripts/DCL/Components/Avatar/ParticlesOnAvatarVisualCue.cs
Covered lines:8
Uncovered lines:8
Coverable lines:16
Total lines:40
Line coverage:50% (8 of 16)
Covered branches:0
Total branches:0

Metrics

MethodBranch coverage Crap Score Cyclomatic complexity NPath complexity Sequence coverage
Awake()0%110100%
OnVisualCue(...)0%11.534022.22%
OnDestroy()0%2.062075%

File(s)

/tmp/workspace/unity-renderer/unity-renderer/Assets/Scripts/MainScripts/DCL/Components/Avatar/ParticlesOnAvatarVisualCue.cs

#LineLine coverage
 1using DCL;
 2using UnityEngine;
 3
 4[RequireComponent(typeof(AvatarRenderer))]
 5public class ParticlesOnAvatarVisualCue : MonoBehaviour
 6{
 7    [SerializeField] private IAvatarRenderer.VisualCue avatarVisualCue;
 8    [SerializeField] private GameObject particlePrefab;
 9    [SerializeField] private bool followAvatar;
 10
 11    private AvatarRenderer avatarRenderer;
 12
 13    private void Awake()
 14    {
 14615        avatarRenderer = GetComponent<AvatarRenderer>();
 14616        avatarRenderer.OnVisualCue += OnVisualCue;
 14617    }
 18
 19    private void OnVisualCue(IAvatarRenderer.VisualCue cue)
 20    {
 14821        if (cue != avatarVisualCue || particlePrefab == null)
 14822            return;
 23
 024        GameObject particles = Instantiate(particlePrefab);
 025        particles.transform.position = avatarRenderer.transform.position + particlePrefab.transform.position;
 026        if (followAvatar)
 27        {
 028            FollowObject particlesFollow = particles.AddComponent<FollowObject>();
 029            particlesFollow.target = avatarRenderer.transform;
 030            particlesFollow.offset = particlePrefab.transform.position;
 31        }
 032    }
 33
 34    private void OnDestroy()
 35    {
 14536        if (avatarRenderer == null)
 037            return;
 14538        avatarRenderer.OnVisualCue -= OnVisualCue;
 14539    }
 40}