Files
YachtDice/Assets/Scripts/Dice/DiceDefinitionSO.cs
T
horooko 0cce4a74f0 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
2026-03-02 05:39:54 +07:00

51 lines
2.0 KiB
C#
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
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
}
}