Merge branch 'claude/vibrant-tereshkova'

# Conflicts:
#	Assets/Scripts/Dice/DiceCatalog.cs
#	Assets/Scripts/Dice/DiceDefinitionSO.cs
#	Assets/Scripts/Dice/DiceDefinitionSO.cs.meta
#	Assets/Scripts/Dice/DiceInstance.cs
#	Assets/Scripts/Dice/DiceRoller.cs
#	Assets/Scripts/Dice/DieDefinitionSO.cs
#	Assets/Scripts/Dice/DieDefinitionSO.cs.meta
#	Assets/Scripts/Dice/DiсeDefinition.cs
#	Assets/Scripts/Dice/DiсeDefinition.cs.meta
#	Assets/Scripts/Dice/IDice.cs
#	Assets/Scripts/Dice/StandardDiceSO.cs
#	Assets/Scripts/Dice/StandardDiceSO.cs.meta
#	Assets/Scripts/Dice/StandardDieSO.cs
#	Assets/Scripts/Dice/StandardDieSO.cs.meta
#	Assets/Scripts/Dice/StandardDiсe.cs
#	Assets/Scripts/Dice/StandardDiсe.cs.meta
#	Assets/Scripts/Player/DiceCollection.cs
#	Assets/Scripts/Shop/ShopModel.cs
#	Assets/Scripts/Tests/Editor/DiceCollectionTests.cs
#	Assets/Scripts/Tests/Editor/ScoringSystemTests.cs
#	Assets/Scripts/Tests/Editor/ShopModelTests.cs
This commit is contained in:
2026-03-02 05:39:54 +07:00
24 changed files with 137 additions and 120 deletions
+50
View File
@@ -0,0 +1,50 @@
using UnityEngine;
using YachtDice.Shop;
namespace YachtDice.Dice
{
/// <summary>
/// Абстрактное определение типа дайса.
/// Наследники описывают конкретные виды (стандартный d6, специальные и т.д.).
/// </summary>
<<<<<<<< HEAD:Assets/Scripts/Dice/DiсeDefinition.cs
public abstract class DiсeDefinition : ScriptableObject, IShopItem
========
public abstract class DiceDefinitionSO : ScriptableObject, IShopItem
>>>>>>>> claude/vibrant-tereshkova:Assets/Scripts/Dice/DiceDefinitionSO.cs
{
[field: Header("Identity")]
[field: SerializeField] public string Id { get; private set; }
[field: SerializeField] public string DisplayName { get; private set; }
[field: SerializeField, TextArea] public string Description { get; private set; }
[field: SerializeField] public Sprite Icon { get; private set; }
[field: Header("Economy")]
[field: SerializeField] public int ShopPrice { get; private set; }
public bool IsRepurchasable => false;
/// <summary>Количество граней.</summary>
public abstract int FaceCount { get; }
/// <summary>Возвращает массив всех возможных значений граней.</summary>
public abstract int[] GetFaceValues();
#if UNITY_EDITOR
public static T CreateForTest<T>(string id, string displayName = null,
<<<<<<<< HEAD:Assets/Scripts/Dice/DiсeDefinition.cs
int shopPrice = 0, string description = null) where T : DiсeDefinition
========
int shopPrice = 0, string description = null) where T : DiceDefinitionSO
>>>>>>>> claude/vibrant-tereshkova:Assets/Scripts/Dice/DiceDefinitionSO.cs
{
var so = CreateInstance<T>();
so.Id = id;
so.DisplayName = displayName ?? id;
so.Description = description ?? id;
so.ShopPrice = shopPrice;
return so;
}
#endif
}
}