< Summary

Class:DCL.Emotes.EmbeddedEmote
Assembly:AvatarAssets
File(s):/tmp/workspace/unity-renderer/unity-renderer/Assets/Scripts/MainScripts/DCL/Models/AvatarAssets/EmbeddedEmotesSO.cs
Covered lines:0
Uncovered lines:1
Coverable lines:1
Total lines:68
Line coverage:0% (0 of 1)
Covered branches:0
Total branches:0
Covered methods:0
Total methods:1
Method coverage:0% (0 of 1)

Metrics

MethodBranch coverage Crap Score Cyclomatic complexity NPath complexity Sequence coverage
ShowInBackpack()0%2100%

File(s)

/tmp/workspace/unity-renderer/unity-renderer/Assets/Scripts/MainScripts/DCL/Models/AvatarAssets/EmbeddedEmotesSO.cs

#LineLine coverage
 1using System;
 2using System.Collections.Generic;
 3using System.Linq;
 4using UnityEngine;
 5
 6namespace DCL.Emotes
 7{
 8    [CreateAssetMenu(menuName = "DCL/Emotes/EmbeddedEmotes", fileName = "EmbeddedEmotes")]
 9    public class EmbeddedEmotesSO : ScriptableObject
 10    {
 11        [SerializeField] private EmbeddedEmote[] emotes;
 12        [SerializeField] private ExtendedEmote[] extendedEmotes;
 13
 14        private string[] ids;
 15        private List<EmbeddedEmote> items;
 16
 17        public string[] GetAllIds()
 18        {
 19            return ids ??= emotes.Select(e => e.id).Union(extendedEmotes.Select(e => e.id)).ToArray();
 20        }
 21
 22        public IEnumerable<EmbeddedEmote> GetAllEmotes()
 23        {
 24            if (items is { Count: > 0 }) return items;
 25
 26            items = new List<EmbeddedEmote>();
 27            items.AddRange(emotes);
 28            items.AddRange(extendedEmotes);
 29
 30            return items;
 31        }
 32
 33        public EmbeddedEmote[] GetEmbeddedEmotes() =>
 34            emotes;
 35
 36        public ExtendedEmote[] GetExtendedEmbeddedEmotes() =>
 37            extendedEmotes;
 38
 39        public void Clear()
 40        {
 41            emotes = Array.Empty<EmbeddedEmote>();
 42            extendedEmotes = Array.Empty<ExtendedEmote>();
 43        }
 44
 45        public void OverrideEmotes(EmbeddedEmote[] emotes)
 46        {
 47            this.emotes = emotes;
 48        }
 49    }
 50
 51    [Serializable]
 52    public class EmbeddedEmote : WearableItem
 53    {
 54        public AnimationClip femaleAnimation;
 55        public AnimationClip maleAnimation;
 56        public bool dontShowInBackpack;
 57
 58        public override bool ShowInBackpack() =>
 059            !dontShowInBackpack;
 60    }
 61
 62    [Serializable]
 63    public class ExtendedEmote : EmbeddedEmote
 64    {
 65        public GameObject propPrefab;
 66        public AudioClip clip;
 67    }
 68}

Methods/Properties

ShowInBackpack()