cement daddy

This commit is contained in:
Michal Pikulski
2025-11-24 09:40:21 +01:00
parent 3f847508be
commit b20192a03a
18 changed files with 1026 additions and 592 deletions

View File

@@ -0,0 +1,47 @@
using UnityEngine;
namespace Minigames.StatueDressup.Data
{
/// <summary>
/// ScriptableObject data definition for statue decorations
/// </summary>
[CreateAssetMenu(fileName = "DecorationData", menuName = "AppleHills/Minigames/Decoration Data", order = 1)]
public class DecorationData : ScriptableObject
{
[Header("Identity")]
[SerializeField] private string decorationId;
[SerializeField] private string decorationName;
[Header("Visual")]
[SerializeField] private Sprite decorationSprite;
[Header("Size Configuration")]
[Tooltip("Full size when placed on statue (actual sprite size)")]
[SerializeField] private Vector2 authoredSize = new Vector2(128f, 128f);
[Tooltip("Small size in menu icon")]
[SerializeField] private Vector2 iconSize = new Vector2(64f, 64f);
[Header("Progression (Optional)")]
[SerializeField] private bool isUnlocked = true;
// Properties
public string DecorationId => decorationId;
public string DecorationName => decorationName;
public Sprite DecorationSprite => decorationSprite;
public DecorationCategory Category => category;
public Vector2 AuthoredSize => authoredSize;
public Vector2 IconSize => iconSize;
public bool IsUnlocked => isUnlocked;
private void OnValidate()
{
// Auto-generate ID from name if empty
if (string.IsNullOrEmpty(decorationId) && !string.IsNullOrEmpty(decorationName))
{
decorationId = decorationName.Replace(" ", "_").ToLower();
}
}
}
}

View File

@@ -0,0 +1,3 @@
fileFormatVersion: 2
guid: 74c6ae9aa803480c8fb918dd58cfb809
timeCreated: 1763745511