2025-09-06 21:01:54 +02:00
|
|
|
|
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>();
|
2025-10-02 05:42:17 +00:00
|
|
|
|
|
|
|
|
|
|
[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;
|
2025-09-06 21:01:54 +02:00
|
|
|
|
}
|