using System; using System.Collections; using System.Collections.Generic; using System.Linq; using System.Security.Policy; using AYellowpaper.SerializedCollections; using BITKit; using UnityEngine; namespace Net.BITKit.Impact { public class ScriptableImpact : ScriptableObject,ITag { [SerializeReference, SubclassSelector] private IReference[] tags; [SerializeField] private int priority; [SerializeField] private Transform[] prefabs; [SerializeField] private AudioClip[] audioClips; public int Hash { get; set; } public IReadOnlyCollection Tags => tags.Select(x=>x.Get()).ToArray(); public Transform Prefab => prefabs.Random(); public AudioClip AudioClip => audioClips.Random(); public int Priority => priority; } }