using System; using UnityEngine; using UnityEngine.AddressableAssets; using UnityEngine.Video; namespace CharacterSystem { [Serializable] public sealed class AssetReferenceVideoClip : AssetReferenceT { public AssetReferenceVideoClip(string guid) : base(guid) { } } [CreateAssetMenu(fileName = "CharacterDefinition", menuName = "Scriptable Objects/Character Definition")] public sealed class CharacterDefinition : ScriptableObject { [SerializeField] private int _characterIndex; [SerializeField] private string _characterName; [SerializeField] private Sprite _icon; [SerializeField] private Sprite _iconSmall; [SerializeField] private DifficultyModule _difficultyModule; [SerializeField] private AssetReferenceGameObject _prefab; [SerializeField] private AssetReferenceVideoClip _backgroundVideo; public int CharacterIndex => _characterIndex; public string CharacterName => _characterName; public Sprite Icon => _icon; public Sprite IconSmall => _iconSmall; public DifficultyModule DifficultyModule => _difficultyModule; public AssetReferenceGameObject Prefab => _prefab; public AssetReferenceVideoClip BackgroundVideo => _backgroundVideo; } }