Files
AppleHillsProduction/Assets/Scripts/PuzzleS/PuzzleStepSO.cs

48 lines
1.4 KiB
C#
Raw Normal View History

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