puzzlestep_indicators (#14)

Co-authored-by: Michal Pikulski <michal.a.pikulski@gmail.com>
Reviewed-on: #14
This commit is contained in:
2025-10-02 05:42:17 +00:00
parent a6c63af911
commit e713a580a9
29 changed files with 899 additions and 10 deletions

View File

@@ -22,6 +22,12 @@ namespace AppleHills.Core.Settings
[SerializeField] private GameObject basePickupPrefab;
[SerializeField] private GameObject levelSwitchMenuPrefab;
[Header("Puzzle Settings")]
[Tooltip("Default prefab for puzzle step indicators")]
[SerializeField] private GameObject defaultPuzzleIndicatorPrefab;
[Tooltip("Default range for puzzle prompts")]
[SerializeField] private float defaultPuzzlePromptRange = 3.0f;
[Header("Item Configuration")]
[SerializeField] private List<CombinationRule> combinationRules = new List<CombinationRule>();
[SerializeField] private List<SlotItemConfig> slotItemConfigs = new List<SlotItemConfig>();
@@ -35,6 +41,8 @@ namespace AppleHills.Core.Settings
public GameObject LevelSwitchMenuPrefab => levelSwitchMenuPrefab;
public List<CombinationRule> CombinationRules => combinationRules;
public List<SlotItemConfig> SlotItemConfigs => slotItemConfigs;
public GameObject DefaultPuzzleIndicatorPrefab => defaultPuzzleIndicatorPrefab;
public float DefaultPuzzlePromptRange => defaultPuzzlePromptRange;
public override void OnValidate()
{
@@ -43,6 +51,7 @@ namespace AppleHills.Core.Settings
playerStopDistance = Mathf.Max(0.1f, playerStopDistance);
playerStopDistanceDirectInteraction = Mathf.Max(0.1f, playerStopDistanceDirectInteraction);
followerPickupDelay = Mathf.Max(0f, followerPickupDelay);
defaultPuzzlePromptRange = Mathf.Max(0.1f, defaultPuzzlePromptRange);
}
}
}

View File

@@ -38,6 +38,10 @@ namespace AppleHills.Core.Settings
GameObject LevelSwitchMenuPrefab { get; }
List<CombinationRule> CombinationRules { get; }
List<SlotItemConfig> SlotItemConfigs { get; }
// Puzzle settings
GameObject DefaultPuzzleIndicatorPrefab { get; }
float DefaultPuzzlePromptRange { get; }
}
/// <summary>