From ddc3b4af472bbe79f116341144a1ecba6f47f03d Mon Sep 17 00:00:00 2001 From: Konstantin Dyachenko Date: Sun, 1 Mar 2026 21:29:47 +0700 Subject: [PATCH] [Refactor] Replace [SerializeField] + getter with [field: SerializeField] auto-properties --- Assets/Scripts/Dice/DiceCatalog.cs | 10 +++++----- Assets/Scripts/Dice/DiceRoller.cs | 4 ++-- Assets/Scripts/Dice/DieInstance.cs | 6 +++--- .../{DieDefinitionSO.cs => DiсeDefinition.cs} | 4 ++-- ...itionSO.cs.meta => DiсeDefinition.cs.meta} | 0 Assets/Scripts/Dice/IDie.cs | 2 +- .../{StandardDieSO.cs => StandardDiсe.cs} | 6 +++--- ...dardDieSO.cs.meta => StandardDiсe.cs.meta} | 0 Assets/Scripts/Player/DiceCollection.cs | 8 ++++---- Assets/Scripts/Shop/ShopModel.cs | 2 +- .../Tests/Editor/DiceCollectionTests.cs | 20 +++++++++---------- .../Tests/Editor/ScoringSystemTests.cs | 8 ++++---- Assets/Scripts/Tests/Editor/ShopModelTests.cs | 6 +++--- 13 files changed, 38 insertions(+), 38 deletions(-) rename Assets/Scripts/Dice/{DieDefinitionSO.cs => DiсeDefinition.cs} (95%) rename Assets/Scripts/Dice/{DieDefinitionSO.cs.meta => DiсeDefinition.cs.meta} (100%) rename Assets/Scripts/Dice/{StandardDieSO.cs => StandardDiсe.cs} (83%) rename Assets/Scripts/Dice/{StandardDieSO.cs.meta => StandardDiсe.cs.meta} (100%) diff --git a/Assets/Scripts/Dice/DiceCatalog.cs b/Assets/Scripts/Dice/DiceCatalog.cs index 664ee2e..343eb9b 100644 --- a/Assets/Scripts/Dice/DiceCatalog.cs +++ b/Assets/Scripts/Dice/DiceCatalog.cs @@ -6,11 +6,11 @@ namespace YachtDice.Dice [CreateAssetMenu(fileName = "DiceCatalog", menuName = "YachtDice/Dice/Catalog")] public class DiceCatalog : ScriptableObject { - [SerializeField] private List dice = new(); + [SerializeField] private List dice = new(); - public IReadOnlyList All => dice; + public IReadOnlyList All => dice; - public DieDefinitionSO FindById(string id) + public DiсeDefinition 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 defs) + public static DiceCatalog CreateForTest(List defs) { var catalog = CreateInstance(); - catalog.dice = defs ?? new List(); + catalog.dice = defs ?? new List(); return catalog; } #endif diff --git a/Assets/Scripts/Dice/DiceRoller.cs b/Assets/Scripts/Dice/DiceRoller.cs index 8506779..db27b05 100644 --- a/Assets/Scripts/Dice/DiceRoller.cs +++ b/Assets/Scripts/Dice/DiceRoller.cs @@ -14,10 +14,10 @@ namespace YachtDice.Dice [Header("References")] [SerializeField] private Dice dice; [SerializeField] private Rigidbody rb; - [SerializeField] private DieDefinitionSO definition; + [SerializeField] private DiсeDefinition definition; /// Определение типа дайса (назначается в инспекторе). - public DieDefinitionSO Definition => definition; + public DiсeDefinition Definition => definition; [Header("Throw Settings")] [Tooltip("Сила подброса вверх")] diff --git a/Assets/Scripts/Dice/DieInstance.cs b/Assets/Scripts/Dice/DieInstance.cs index 4136957..35b4c71 100644 --- a/Assets/Scripts/Dice/DieInstance.cs +++ b/Assets/Scripts/Dice/DieInstance.cs @@ -6,18 +6,18 @@ namespace YachtDice.Dice /// public class DieInstance : IDie { - public DieDefinitionSO Definition { get; } + public DiсeDefinition Definition { get; } public int Value { get; set; } public bool IsLocked { get; set; } - public DieInstance(DieDefinitionSO definition) + public DieInstance(DiсeDefinition definition) { Definition = definition; Value = 0; IsLocked = false; } - public DieInstance(DieDefinitionSO definition, int initialValue) + public DieInstance(DiсeDefinition definition, int initialValue) { Definition = definition; Value = initialValue; diff --git a/Assets/Scripts/Dice/DieDefinitionSO.cs b/Assets/Scripts/Dice/DiсeDefinition.cs similarity index 95% rename from Assets/Scripts/Dice/DieDefinitionSO.cs rename to Assets/Scripts/Dice/DiсeDefinition.cs index 4598e18..0b45909 100644 --- a/Assets/Scripts/Dice/DieDefinitionSO.cs +++ b/Assets/Scripts/Dice/DiсeDefinition.cs @@ -7,7 +7,7 @@ namespace YachtDice.Dice /// Абстрактное определение типа дайса. /// Наследники описывают конкретные виды (стандартный d6, специальные и т.д.). /// - public abstract class DieDefinitionSO : ScriptableObject, IShopItem + public abstract class DiсeDefinition : ScriptableObject, IShopItem { [Header("Identity")] [SerializeField] private string id; @@ -33,7 +33,7 @@ namespace YachtDice.Dice #if UNITY_EDITOR public static T CreateForTest(string id, string displayName = null, - int shopPrice = 0, string description = null) where T : DieDefinitionSO + int shopPrice = 0, string description = null) where T : DiсeDefinition { var so = CreateInstance(); so.id = id; diff --git a/Assets/Scripts/Dice/DieDefinitionSO.cs.meta b/Assets/Scripts/Dice/DiсeDefinition.cs.meta similarity index 100% rename from Assets/Scripts/Dice/DieDefinitionSO.cs.meta rename to Assets/Scripts/Dice/DiсeDefinition.cs.meta diff --git a/Assets/Scripts/Dice/IDie.cs b/Assets/Scripts/Dice/IDie.cs index 073d8a9..db4b686 100644 --- a/Assets/Scripts/Dice/IDie.cs +++ b/Assets/Scripts/Dice/IDie.cs @@ -10,6 +10,6 @@ namespace YachtDice.Dice int Value { get; } /// Определение типа дайса (ScriptableObject). - DieDefinitionSO Definition { get; } + DiсeDefinition Definition { get; } } } diff --git a/Assets/Scripts/Dice/StandardDieSO.cs b/Assets/Scripts/Dice/StandardDiсe.cs similarity index 83% rename from Assets/Scripts/Dice/StandardDieSO.cs rename to Assets/Scripts/Dice/StandardDiсe.cs index f192a21..eb3b27a 100644 --- a/Assets/Scripts/Dice/StandardDieSO.cs +++ b/Assets/Scripts/Dice/StandardDiсe.cs @@ -7,7 +7,7 @@ namespace YachtDice.Dice /// По умолчанию — классический d6 (1-6). /// [CreateAssetMenu(fileName = "StandardDie", menuName = "YachtDice/Dice/Standard Die")] - public class StandardDieSO : DieDefinitionSO + public class StandardDiсe : DiсeDefinition { [Header("Configuration")] [SerializeField] private int[] faceValues = { 1, 2, 3, 4, 5, 6 }; @@ -22,9 +22,9 @@ namespace YachtDice.Dice } #if UNITY_EDITOR - public static StandardDieSO CreateStandardD6ForTest() + public static StandardDiсe CreateStandardD6ForTest() { - var so = CreateForTest("standard_d6", "Стандартный d6"); + var so = CreateForTest("standard_d6", "Стандартный d6"); so.faceValues = new[] { 1, 2, 3, 4, 5, 6 }; return so; } diff --git a/Assets/Scripts/Dice/StandardDieSO.cs.meta b/Assets/Scripts/Dice/StandardDiсe.cs.meta similarity index 100% rename from Assets/Scripts/Dice/StandardDieSO.cs.meta rename to Assets/Scripts/Dice/StandardDiсe.cs.meta diff --git a/Assets/Scripts/Player/DiceCollection.cs b/Assets/Scripts/Player/DiceCollection.cs index 393fd78..5c1e241 100644 --- a/Assets/Scripts/Player/DiceCollection.cs +++ b/Assets/Scripts/Player/DiceCollection.cs @@ -6,13 +6,13 @@ namespace YachtDice.Player { public class DiceCollection { - private readonly List ownedDice = new(); + private readonly List ownedDice = new(); public event Action OnChanged; - public IReadOnlyList OwnedDice => ownedDice; + public IReadOnlyList OwnedDice => ownedDice; - public void Add(DieDefinitionSO definition) + public void Add(DiсeDefinition definition) { if (definition == null) return; if (OwnsById(definition.Id)) return; @@ -21,7 +21,7 @@ namespace YachtDice.Player OnChanged?.Invoke(); } - public void Remove(DieDefinitionSO definition) + public void Remove(DiсeDefinition definition) { if (ownedDice.Remove(definition)) OnChanged?.Invoke(); diff --git a/Assets/Scripts/Shop/ShopModel.cs b/Assets/Scripts/Shop/ShopModel.cs index 4334b1d..680a3ba 100644 --- a/Assets/Scripts/Shop/ShopModel.cs +++ b/Assets/Scripts/Shop/ShopModel.cs @@ -49,7 +49,7 @@ namespace YachtDice.Shop case ModifierDefinition modifier: inventoryModel.AddModifier(modifier); break; - case DieDefinitionSO die: + case DiсeDefinition die: diceCollection.Add(die); break; } diff --git a/Assets/Scripts/Tests/Editor/DiceCollectionTests.cs b/Assets/Scripts/Tests/Editor/DiceCollectionTests.cs index a085512..bb543c5 100644 --- a/Assets/Scripts/Tests/Editor/DiceCollectionTests.cs +++ b/Assets/Scripts/Tests/Editor/DiceCollectionTests.cs @@ -18,7 +18,7 @@ namespace YachtDice.Tests [Test] public void Add_IncreasesCount() { - var die = StandardDieSO.CreateStandardD6ForTest(); + var die = StandardDiсe.CreateStandardD6ForTest(); collection.Add(die); @@ -28,7 +28,7 @@ namespace YachtDice.Tests [Test] public void Add_DuplicateId_Ignored() { - var die = StandardDieSO.CreateStandardD6ForTest(); + var die = StandardDiсe.CreateStandardD6ForTest(); collection.Add(die); collection.Add(die); @@ -47,7 +47,7 @@ namespace YachtDice.Tests [Test] public void OwnsById_ReturnsTrueWhenOwned() { - var die = StandardDieSO.CreateStandardD6ForTest(); + var die = StandardDiсe.CreateStandardD6ForTest(); collection.Add(die); @@ -63,7 +63,7 @@ namespace YachtDice.Tests [Test] public void Remove_DecreasesCount() { - var die = StandardDieSO.CreateStandardD6ForTest(); + var die = StandardDiсe.CreateStandardD6ForTest(); collection.Add(die); collection.Remove(die); @@ -74,7 +74,7 @@ namespace YachtDice.Tests [Test] public void GetSaveData_ReturnsIds() { - var die = StandardDieSO.CreateStandardD6ForTest(); + var die = StandardDiсe.CreateStandardD6ForTest(); collection.Add(die); @@ -86,8 +86,8 @@ namespace YachtDice.Tests [Test] public void LoadSaveData_RestoresDice() { - var die = StandardDieSO.CreateStandardD6ForTest(); - var catalog = DiceCatalog.CreateForTest(new List { die }); + var die = StandardDiсe.CreateStandardD6ForTest(); + var catalog = DiceCatalog.CreateForTest(new List { die }); var ids = new List { "standard_d6" }; collection.LoadSaveData(ids, catalog); @@ -99,7 +99,7 @@ namespace YachtDice.Tests [Test] public void LoadSaveData_SkipsMissingIds() { - var catalog = DiceCatalog.CreateForTest(new List()); + var catalog = DiceCatalog.CreateForTest(new List()); var ids = new List { "nonexistent" }; collection.LoadSaveData(ids, catalog); @@ -110,7 +110,7 @@ namespace YachtDice.Tests [Test] public void Clear_RemovesAll() { - var die = StandardDieSO.CreateStandardD6ForTest(); + var die = StandardDiсe.CreateStandardD6ForTest(); collection.Add(die); collection.Clear(); @@ -124,7 +124,7 @@ namespace YachtDice.Tests bool fired = false; collection.OnChanged += () => fired = true; - var die = StandardDieSO.CreateStandardD6ForTest(); + var die = StandardDiсe.CreateStandardD6ForTest(); collection.Add(die); Assert.IsTrue(fired); diff --git a/Assets/Scripts/Tests/Editor/ScoringSystemTests.cs b/Assets/Scripts/Tests/Editor/ScoringSystemTests.cs index f996824..34048cb 100644 --- a/Assets/Scripts/Tests/Editor/ScoringSystemTests.cs +++ b/Assets/Scripts/Tests/Editor/ScoringSystemTests.cs @@ -14,12 +14,12 @@ namespace YachtDice.Tests private CategoryDefinition twosCategory; private CategoryDefinition chanceCategory; private CategoryCatalog catalog; - private DieDefinitionSO standardDie; + private DiсeDefinition _standardDiсe; [SetUp] public void SetUp() { - standardDie = DieDefinitionSO.CreateForTest("d6", "d6"); + _standardDiсe = DiсeDefinition.CreateForTest("d6", "d6"); yachtCategory = NOfAKindCategory.CreateForTest("yacht", "Яхта", 5, fixedScoreMode: true, score: 50); onesCategory = SumOfValueCategory.CreateForTest("ones", "Единицы", 1); @@ -43,7 +43,7 @@ namespace YachtDice.Tests Object.DestroyImmediate(twosCategory); Object.DestroyImmediate(chanceCategory); Object.DestroyImmediate(catalog); - Object.DestroyImmediate(standardDie); + Object.DestroyImmediate(_standardDiсe); } private ScoringSystem CreateScoringSystem() @@ -56,7 +56,7 @@ namespace YachtDice.Tests { var dice = new DieInstance[values.Length]; for (int i = 0; i < values.Length; i++) - dice[i] = new DieInstance(standardDie, values[i]); + dice[i] = new DieInstance(_standardDiсe, values[i]); return dice; } diff --git a/Assets/Scripts/Tests/Editor/ShopModelTests.cs b/Assets/Scripts/Tests/Editor/ShopModelTests.cs index 838f139..f929c25 100644 --- a/Assets/Scripts/Tests/Editor/ShopModelTests.cs +++ b/Assets/Scripts/Tests/Editor/ShopModelTests.cs @@ -142,7 +142,7 @@ namespace YachtDice.Tests [Test] public void TryPurchase_DieItem_AddsToDiceCollection() { - var die = DieDefinitionSO.CreateForTest("test_die", shopPrice: 100); + var die = DiсeDefinition.CreateForTest("test_die", shopPrice: 100); bool result = shop.TryPurchase(die); @@ -154,7 +154,7 @@ namespace YachtDice.Tests [Test] public void TryPurchase_DieItem_CannotBeBoughtTwice() { - var die = DieDefinitionSO.CreateForTest("unique_die", shopPrice: 100); + var die = DiсeDefinition.CreateForTest("unique_die", shopPrice: 100); shop.TryPurchase(die); bool secondResult = shop.TryPurchase(die); @@ -167,7 +167,7 @@ namespace YachtDice.Tests [Test] public void GetItemState_Die_Owned_AfterPurchase() { - var die = DieDefinitionSO.CreateForTest("die1", shopPrice: 50); + var die = DiсeDefinition.CreateForTest("die1", shopPrice: 50); shop.TryPurchase(die);