Laxley Grandfather Clock puzzle artwork done.

This commit is contained in:
2026-03-28 18:53:38 +00:00
parent 69306a141b
commit 83e9a35d2f
152 changed files with 12822 additions and 194 deletions

View File

@@ -1,6 +1,8 @@
using System;
using BriarQueen.Data.Identifiers;
using BriarQueen.Data.IO.Saves;
using BriarQueen.Framework.Managers.IO;
using BriarQueen.Framework.Managers.Player;
using NaughtyAttributes;
using UnityEngine;
using VContainer;
@@ -10,15 +12,21 @@ namespace BriarQueen.Framework.Managers
public class DebugManager : MonoBehaviour
{
private SaveManager _saveManager;
private PlayerManager _playerManager;
[Header("Current Loaded Save")]
[SerializeField, ReadOnly]
private SaveGame _currentSave;
[Header("Interactive Debugging")]
[SerializeField]
private ItemKey _itemToGive;
[Inject]
public void Construct(SaveManager saveManager)
public void Construct(SaveManager saveManager, PlayerManager playerManager)
{
_saveManager = saveManager;
_playerManager = playerManager;
}
public void Start()
@@ -30,5 +38,14 @@ namespace BriarQueen.Framework.Managers
{
_currentSave = save;
}
[Button]
private void GiveItem()
{
if (_itemToGive == ItemKey.None)
return;
_playerManager.CollectItem(ItemIDs.Get(_itemToGive));
}
}
}

View File

@@ -9,6 +9,7 @@ using BriarQueen.Data.IO.Saves;
using BriarQueen.Framework.Coordinators.Events;
using BriarQueen.Framework.Events.Save;
using BriarQueen.Framework.Extensions;
using BriarQueen.Framework.Managers.Player.Data;
using Cysharp.Threading.Tasks;
using MemoryPack;
using UnityEngine;
@@ -418,5 +419,17 @@ namespace BriarQueen.Framework.Managers.IO
return CurrentSave.PersistentVariables.Game.GetLevelFlag(levelFlag);
}
public bool HasCollectedItem(string uniqueIdentifier)
{
if (uniqueIdentifier == null)
return false;
var collected = CurrentSave?.CollectedItems;
if (collected == null)
return false;
return collected.Any(x => x.UniqueIdentifier == uniqueIdentifier);
}
}
}

View File

@@ -14,5 +14,6 @@ namespace BriarQueen.Framework.Managers.Interaction.Data
UniTask EnterHover();
UniTask ExitHover();
}
}

View File

@@ -375,6 +375,7 @@ namespace BriarQueen.Framework.Managers.Interaction
return;
if (_currentHovered != null)
{
try
{
await _currentHovered.ExitHover();
@@ -382,20 +383,19 @@ namespace BriarQueen.Framework.Managers.Interaction
catch
{
}
}
_currentHovered = next;
_eventCoordinator.Publish(
new HoverInteractableChangedEvent(_currentHovered));
_eventCoordinator.Publish(new HoverInteractableChangedEvent(_currentHovered));
var cursor =
_currentHovered?.ApplicableCursorStyle
?? UICursorService.CursorStyle.Default;
var cursor = _currentHovered?.ApplicableCursorStyle
?? UICursorService.CursorStyle.Default;
_eventCoordinator.Publish(
new CursorStyleChangeEvent(cursor));
_eventCoordinator.Publish(new CursorStyleChangeEvent(cursor));
if (_currentHovered != null)
{
try
{
await _currentHovered.EnterHover();
@@ -403,6 +403,7 @@ namespace BriarQueen.Framework.Managers.Interaction
catch
{
}
}
}
private async UniTask ClearHover()
@@ -437,6 +438,7 @@ namespace BriarQueen.Framework.Managers.Interaction
return;
_currentHovered.OnInteract(_selectedItem).Forget();
}
private void OnRightClickReceived(OnRightClickEvent obj)

View File

@@ -70,6 +70,7 @@ namespace BriarQueen.Framework.Managers.Levels.Data
public virtual string InteractableName =>
!string.IsNullOrWhiteSpace(_interactableTooltip) ? _interactableTooltip : _itemData.ItemName;
/// <summary>
/// Called when the item is interacted with. Defaults to Pickup.

View File

@@ -3,6 +3,7 @@ using System.Collections.Generic;
using BriarQueen.Data.Identifiers;
using BriarQueen.Framework.Coordinators.Events;
using BriarQueen.Framework.Events.UI;
using BriarQueen.Framework.Extensions;
using BriarQueen.Framework.Managers.Interaction;
using BriarQueen.Framework.Managers.IO;
using BriarQueen.Framework.Managers.UI.Base;
@@ -222,16 +223,15 @@ namespace BriarQueen.Framework.Managers.UI
private string GetToolbeltTextForEntry(ToolID toolID, bool lost)
{
if (lost)
return $"You lost the {toolID.ToString()}.";
return $"You lost the {toolID.GetDisplayName()}.";
else
return $"You gained the {toolID.ToString()}.";
return $"You gained the {toolID.GetDisplayName()}.";
}
private string GetCodexTextForEntry(CodexType codexType)
{
return codexType switch
{
CodexType.BookEntry => "You've acquired a new book entry.",
CodexType.BookEntry => "You've acquired a new document.",
CodexType.PuzzleClue => "You've acquired a new puzzle clue.",
CodexType.Photo => "You've acquired a new photo.",
_ => string.Empty