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:
@@ -6,11 +6,11 @@ namespace YachtDice.Dice
|
||||
[CreateAssetMenu(fileName = "DiceCatalog", menuName = "YachtDice/Dice/Catalog")]
|
||||
public class DiceCatalog : ScriptableObject
|
||||
{
|
||||
[SerializeField] private List<DiсeDefinition> dice = new();
|
||||
[SerializeField] private List<DiceDefinitionSO> dice = new();
|
||||
|
||||
public IReadOnlyList<DiсeDefinition> All => dice;
|
||||
public IReadOnlyList<DiceDefinitionSO> All => dice;
|
||||
|
||||
public DiсeDefinition FindById(string id)
|
||||
public DiceDefinitionSO FindById(string id)
|
||||
{
|
||||
for (int i = 0; i < dice.Count; i++)
|
||||
{
|
||||
@@ -21,10 +21,10 @@ namespace YachtDice.Dice
|
||||
}
|
||||
|
||||
#if UNITY_EDITOR
|
||||
public static DiceCatalog CreateForTest(List<DiсeDefinition> defs)
|
||||
public static DiceCatalog CreateForTest(List<DiceDefinitionSO> defs)
|
||||
{
|
||||
var catalog = CreateInstance<DiceCatalog>();
|
||||
catalog.dice = defs ?? new List<DiсeDefinition>();
|
||||
catalog.dice = defs ?? new List<DiceDefinitionSO>();
|
||||
return catalog;
|
||||
}
|
||||
#endif
|
||||
|
||||
@@ -7,7 +7,11 @@ namespace YachtDice.Dice
|
||||
/// Абстрактное определение типа дайса.
|
||||
/// Наследники описывают конкретные виды (стандартный 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; }
|
||||
@@ -28,7 +32,11 @@ namespace YachtDice.Dice
|
||||
|
||||
#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;
|
||||
@@ -6,18 +6,18 @@ namespace YachtDice.Dice
|
||||
/// </summary>
|
||||
public class DiceInstance : IDice
|
||||
{
|
||||
public DiсeDefinition Definition { get; }
|
||||
public DiceDefinitionSO Definition { get; }
|
||||
public int Value { get; set; }
|
||||
public bool IsLocked { get; set; }
|
||||
|
||||
public DiceInstance(DiсeDefinition definition)
|
||||
public DiceInstance(DiceDefinitionSO definition)
|
||||
{
|
||||
Definition = definition;
|
||||
Value = 0;
|
||||
IsLocked = false;
|
||||
}
|
||||
|
||||
public DiceInstance(DiсeDefinition definition, int initialValue)
|
||||
public DiceInstance(DiceDefinitionSO definition, int initialValue)
|
||||
{
|
||||
Definition = definition;
|
||||
Value = initialValue;
|
||||
|
||||
@@ -14,10 +14,9 @@ namespace YachtDice.Dice
|
||||
[Header("References")]
|
||||
[SerializeField] private Dice dice;
|
||||
[SerializeField] private Rigidbody rb;
|
||||
[SerializeField] private DiсeDefinition definition;
|
||||
|
||||
/// <summary>Определение типа дайса (назначается в инспекторе).</summary>
|
||||
public DiсeDefinition Definition => definition;
|
||||
[field: SerializeField] public DiceDefinitionSO Definition { get; private set; }
|
||||
|
||||
[Header("Throw Settings")]
|
||||
[Tooltip("Сила подброса вверх")]
|
||||
|
||||
@@ -10,6 +10,6 @@ namespace YachtDice.Dice
|
||||
int Value { get; }
|
||||
|
||||
/// <summary>Определение типа дайса (ScriptableObject).</summary>
|
||||
DiсeDefinition Definition { get; }
|
||||
DiceDefinitionSO Definition { get; }
|
||||
}
|
||||
}
|
||||
|
||||
@@ -7,7 +7,11 @@ namespace YachtDice.Dice
|
||||
/// По умолчанию — классический d6 (1-6).
|
||||
/// </summary>
|
||||
[CreateAssetMenu(fileName = "StandardDice", menuName = "YachtDice/Dice/Standard Dice")]
|
||||
<<<<<<<< HEAD:Assets/Scripts/Dice/StandardDiсe.cs
|
||||
public class StandardDiсe : DiсeDefinition
|
||||
========
|
||||
public class StandardDiceSO : DiceDefinitionSO
|
||||
>>>>>>>> claude/vibrant-tereshkova:Assets/Scripts/Dice/StandardDiceSO.cs
|
||||
{
|
||||
[Header("Configuration")]
|
||||
[SerializeField] private int[] faceValues = { 1, 2, 3, 4, 5, 6 };
|
||||
@@ -22,9 +26,15 @@ namespace YachtDice.Dice
|
||||
}
|
||||
|
||||
#if UNITY_EDITOR
|
||||
<<<<<<<< HEAD:Assets/Scripts/Dice/StandardDiсe.cs
|
||||
public static StandardDiсe CreateStandardD6ForTest()
|
||||
{
|
||||
var so = CreateForTest<StandardDiсe>("standard_d6", "Стандартный d6");
|
||||
========
|
||||
public static StandardDiceSO CreateStandardD6ForTest()
|
||||
{
|
||||
var so = CreateForTest<StandardDiceSO>("standard_d6", "Стандартный d6");
|
||||
>>>>>>>> claude/vibrant-tereshkova:Assets/Scripts/Dice/StandardDiceSO.cs
|
||||
so.faceValues = new[] { 1, 2, 3, 4, 5, 6 };
|
||||
return so;
|
||||
}
|
||||
Reference in New Issue
Block a user