< Summary

Class:DCL.Chat.HUD.DefaultChatEntryFactory
Assembly:ChatHUD
File(s):/tmp/workspace/unity-renderer/unity-renderer/Assets/Scripts/MainScripts/DCL/Controllers/HUD/ChatWidgetHUD/DefaultChatEntryFactory.cs
Covered lines:0
Uncovered lines:16
Coverable lines:16
Total lines:43
Line coverage:0% (0 of 16)
Covered branches:0
Total branches:0

Metrics

MethodBranch coverage Crap Score Cyclomatic complexity NPath complexity Sequence coverage
Create(...)0%72800%
Destroy(...)0%6200%

File(s)

/tmp/workspace/unity-renderer/unity-renderer/Assets/Scripts/MainScripts/DCL/Controllers/HUD/ChatWidgetHUD/DefaultChatEntryFactory.cs

#LineLine coverage
 1using DCL.Interface;
 2using UnityEngine;
 3
 4namespace DCL.Chat.HUD
 5{
 6    [CreateAssetMenu(fileName = "DefaultChatEntryFactory", menuName = "DCL/Social/DefaultChatEntryFactory")]
 7    public class DefaultChatEntryFactory : ScriptableObject, IChatEntryFactory
 8    {
 9        [SerializeField] private DefaultChatEntry defaultMessagePrefab;
 10        [SerializeField] private DefaultChatEntry systemMessagePrefab;
 11        [SerializeField] private DefaultChatEntry privateReceivedMessagePrefab;
 12        [SerializeField] private DefaultChatEntry privateSentMessagePrefab;
 13        [SerializeField] private DefaultChatEntry publicReceivedMessagePrefab;
 14        [SerializeField] private DefaultChatEntry publicSentMessagePrefab;
 15
 16        public ChatEntry Create(ChatEntryModel model)
 17        {
 018            if (model.messageType == ChatMessage.Type.SYSTEM)
 019                return Instantiate(systemMessagePrefab);
 020            if (model.messageType == ChatMessage.Type.PUBLIC)
 21            {
 022                if (model.subType == ChatEntryModel.SubType.RECEIVED)
 023                    return Instantiate(publicReceivedMessagePrefab);
 024                if (model.subType == ChatEntryModel.SubType.SENT)
 025                    return Instantiate(publicSentMessagePrefab);
 26            }
 027            else if (model.messageType == ChatMessage.Type.PRIVATE)
 28            {
 029                if (model.subType == ChatEntryModel.SubType.RECEIVED)
 030                    return Instantiate(privateReceivedMessagePrefab);
 031                if (model.subType == ChatEntryModel.SubType.SENT)
 032                    return Instantiate(privateSentMessagePrefab);
 33            }
 034            return Instantiate(defaultMessagePrefab);
 35        }
 36
 37        public void Destroy(ChatEntry entry)
 38        {
 039            if (!entry) return;
 040            Destroy(entry.gameObject);
 041        }
 42    }
 43}