Add detective board
This commit is contained in:
@@ -0,0 +1,41 @@
|
||||
using UnityEngine;
|
||||
|
||||
namespace Unheimlich.Data.DetectiveBoard
|
||||
{
|
||||
/// <summary>
|
||||
/// Represents a single clue/evidence node on the detective board.
|
||||
/// Unlocked through various triggers (audio, objects, dialogues, hallucinations, etc.).
|
||||
/// </summary>
|
||||
[CreateAssetMenu(fileName = "ClueData", menuName = "Unheimlich/Detective Board/Clue Data")]
|
||||
public class ClueData : ScriptableObject
|
||||
{
|
||||
[Header("Clue Identity")]
|
||||
[Tooltip("Unique identifier for this clue")]
|
||||
public string ClueID;
|
||||
|
||||
[Tooltip("Display title on the board")]
|
||||
public string Title;
|
||||
|
||||
[Tooltip("Detailed description of the clue")]
|
||||
[TextArea(3, 6)]
|
||||
public string Description;
|
||||
|
||||
[Header("Visual Representation")]
|
||||
[Tooltip("Icon or image for the node (post-it/card visual)")]
|
||||
public Sprite Icon;
|
||||
|
||||
[Tooltip("Color tint for the node")]
|
||||
public Color NodeColor = Color.white;
|
||||
|
||||
[Header("Connection Rules")]
|
||||
[Tooltip("IDs of clues this can connect to")]
|
||||
public string[] PossibleConnections;
|
||||
|
||||
[Header("Meta")]
|
||||
[Tooltip("Category for organization (e.g., 'Evidence', 'Witness', 'Location')")]
|
||||
public string Category;
|
||||
|
||||
[Tooltip("Initial position on the board (normalized 0-1)")]
|
||||
public Vector2 InitialPosition = new Vector2(0.5f, 0.5f);
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,2 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 166ae120db91b064c9b98086267b9783
|
||||
@@ -0,0 +1,42 @@
|
||||
using UnityEngine;
|
||||
|
||||
namespace Unheimlich.Data.DetectiveBoard
|
||||
{
|
||||
/// <summary>
|
||||
/// Configuration for detective board UI behavior and appearance.
|
||||
/// Defines node visuals, connection rules, and interaction parameters.
|
||||
/// </summary>
|
||||
[CreateAssetMenu(fileName = "DetectiveBoardSettings", menuName = "Unheimlich/Detective Board/Board Settings")]
|
||||
public class DetectiveBoardSettings : ScriptableObject
|
||||
{
|
||||
[Header("Node Visuals")]
|
||||
[Tooltip("Default sprite for nodes (post-it/card)")]
|
||||
public Sprite DefaultNodeSprite;
|
||||
|
||||
[Tooltip("Scale of node objects on the board")]
|
||||
public float NodeScale = 1f;
|
||||
|
||||
[Tooltip("Spacing between nodes when auto-arranged")]
|
||||
public float NodeSpacing = 0.5f;
|
||||
|
||||
[Header("Connection Visuals")]
|
||||
[Tooltip("Line width for connections")]
|
||||
public float ConnectionLineWidth = 0.05f;
|
||||
|
||||
[Tooltip("Color for confirmed connections")]
|
||||
public Color ConfirmedConnectionColor = Color.green;
|
||||
|
||||
[Tooltip("Color for uncertain connections")]
|
||||
public Color UncertainConnectionColor = Color.yellow;
|
||||
|
||||
[Tooltip("Color for eliminated connections")]
|
||||
public Color EliminatedConnectionColor = Color.red;
|
||||
|
||||
[Header("Interaction")]
|
||||
[Tooltip("Distance at which nodes can be interacted with")]
|
||||
public float InteractionRange = 2f;
|
||||
|
||||
[Tooltip("Highlight color when hovering over a node")]
|
||||
public Color HoverHighlightColor = new Color(1f, 1f, 0.5f, 1f);
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,2 @@
|
||||
fileFormatVersion: 2
|
||||
guid: f6b20768fe570fb429fcf6a348431232
|
||||
Reference in New Issue
Block a user