#if UNITY_EDITOR using UnityEditor; #endif using UnityEngine; namespace CCG.Bigfoot.ScriptableObjects { /// <summary> /// Provides scriptable object creation of a CardData /// </summary> /// <remarks> /// Authors: CS /// Created: 2024-01-16 /// </remarks> public enum CardType { Unset, None, All, Trooper, Jedi, Sith, Rebel, Droid, BountyHunter, Mandolorian, Scoundrel, Imperial, Hutt, Jawa, Tusken } public enum NameFontMaterialType { Normal, Leader } [CreateAssetMenu(fileName = "NewCard", menuName = "Custom/Card")] public sealed class CardData : ScriptableObject { public Sprite Artwork; public Sprite FrameArt; public Sprite TierArt; public int Tier; public int Level; public string Name; public NameFontMaterialType NameFontType; public CardType Type; #if UNITY_EDITOR #if BIGFOOT_LOCAL [ContextMenuItem("Show Text Box", "ShowTextBox")] #endif [TextArea] #endif public string Description; public int SortingOrder; public int Attack; public int Health; /// <summary> /// Managed at runtime as a way to get the current object using this data. /// </summary> [System.NonSerialized] public RectTransform RectTransform; #if UNITY_EDITOR && BIGFOOT_LOCAL private void ShowTextBox() { if (!EditorApplication.isPlaying) { CardScripts.CardDataEditorWindow.ShowWindow(this); } else { Debug.LogWarning("Can't show Text Box in Play mode!"); } } #endif } }