Mini demo with all features

This commit is contained in:
2026-02-23 14:10:46 +01:00
parent 5b1bdaeb90
commit d9326e48cc
176 changed files with 32668 additions and 564 deletions
@@ -13,9 +13,11 @@ namespace Unheimlich.UI.DetectiveBoard
[SerializeField] private TextMeshProUGUI _titleText;
[SerializeField] private TextMeshProUGUI _descriptionText;
[SerializeField] private Image _iconImage;
[SerializeField] private GameObject _strikethroughLine;
[SerializeField] private Image _selectionOutline;
[Header("Effects")]
[SerializeField] private PostItScribbleEffect _scribbleEffect;
[Header("Connection Points")]
[SerializeField] private RectTransform _connectionPoint;
@@ -27,7 +29,7 @@ namespace Unheimlich.UI.DetectiveBoard
public string NodeID => _clueData?.ClueID;
public RectTransform RectTransform => _rectTransform;
public RectTransform ConnectionPoint => _connectionPoint;
public RectTransform ConnectionPoint => _rectTransform;
public ClueData ClueData => _clueData;
public PostItNodeData NodeData => _nodeData;
public bool IsEliminated => _isEliminated;
@@ -38,8 +40,8 @@ namespace Unheimlich.UI.DetectiveBoard
if (_rectTransform == null)
_rectTransform = GetComponent<RectTransform>();
if (_strikethroughLine != null)
_strikethroughLine.SetActive(false);
if (_scribbleEffect == null)
_scribbleEffect = GetComponent<PostItScribbleEffect>();
if (_selectionOutline != null)
_selectionOutline.enabled = false;
@@ -72,11 +74,6 @@ namespace Unheimlich.UI.DetectiveBoard
_background.color = _originalColor;
}
if (_connectionPoint == null)
{
_connectionPoint = _rectTransform;
}
SetPosition(nodeData.Position);
SetEliminated(nodeData.IsEliminated);
}
@@ -91,16 +88,28 @@ namespace Unheimlich.UI.DetectiveBoard
}
}
public void SetRotation(float rotation)
{
if (_rectTransform != null)
{
_rectTransform.localRotation = Quaternion.Euler(0, 0, rotation);
if (_nodeData != null)
_nodeData.Rotation = rotation;
}
}
public float GetRotation()
{
return _rectTransform != null ? _rectTransform.localEulerAngles.z : 0f;
}
public void SetEliminated(bool eliminated)
{
_isEliminated = eliminated;
if (_strikethroughLine != null)
_strikethroughLine.SetActive(eliminated);
if (_background != null)
if (_scribbleEffect != null)
{
_background.color = eliminated ? new Color(0.5f, 0.5f, 0.5f, 0.8f) : _originalColor;
_scribbleEffect.SetEliminated(eliminated);
}
if (_nodeData != null)
@@ -110,18 +119,13 @@ namespace Unheimlich.UI.DetectiveBoard
public void SetSelected(bool selected)
{
_isSelected = selected;
if (_selectionOutline != null)
{
_selectionOutline.enabled = selected;
}
}
public void SetHovered(bool hovered)
{
if (_selectionOutline != null)
{
_selectionOutline.enabled = hovered || _isSelected;
_selectionOutline.enabled = hovered;
}
}
}