using UnityEngine; using System.Collections.Generic; /// /// ScriptableObject representing a single puzzle step, its display info, and which steps it unlocks. /// [CreateAssetMenu(fileName = "PuzzleStepSO", menuName = "Puzzle/Step")] public class PuzzleStepSO : ScriptableObject { /// /// Unique identifier for this puzzle step. /// public string stepId; /// /// Display name for this step. /// public string displayName; /// /// Description of this step. /// [TextArea] public string description; /// /// Icon for this step. /// public Sprite icon; /// /// List of steps that this step unlocks when completed. /// [Header("Unlocks")] public List unlocks = new List(); [Header("Interaction Settings")] [Tooltip("Whether to show an indicator when this step is unlocked")] [SerializeField] private bool showIndicator = false; /// /// Whether to show an indicator when this step is unlocked. /// public bool ShowIndicator => showIndicator; /// /// Gets or sets whether to show an indicator. /// public bool GetShowIndicator() => showIndicator; public void SetShowIndicator(bool value) => showIndicator = value; }