using System; using System.Collections.Generic; using UnityEngine; [Serializable] public class SongDlcChartOverrideEntry { public int difficulty; public TextAsset chartFile; } [CreateAssetMenu(fileName = "SongDlcContent_", menuName = "EaseOut/Song DLC Content")] public class SongDlcContentSO : ScriptableObject { [Header("Identity")] public string contentId; public string sourceDlcId; public int songId; public string songName; [Header("Song Pack")] public dlcData ownerDlc; [Header("Illustrations")] public Sprite illustration; public Sprite backgroudPIC; public Sprite fullscreen_songPicture; public Sprite card_profileImage; public Sprite right_pic_bottom_image; public Sprite right_pic_top_image; [Header("Audio")] public AudioClip audioFile; public AudioClip audio_previewAudio; public AudioClip settlementMusic; [Header("Charts")] public List chartOverrides = new List(); public string GetResolvedContentId() { if (!string.IsNullOrWhiteSpace(contentId)) { return contentId.Trim(); } string safeName = string.IsNullOrWhiteSpace(name) ? "song_dlc_content" : name.Trim(); return "song_" + songId + "_" + safeName; } }