diff --git a/Assets/Scripts/DI/GameLifetimeScope.cs b/Assets/Scripts/DI/GameLifetimeScope.cs index 8986e00..b44a6f8 100644 --- a/Assets/Scripts/DI/GameLifetimeScope.cs +++ b/Assets/Scripts/DI/GameLifetimeScope.cs @@ -17,7 +17,7 @@ namespace YachtDice.DI { public class GameLifetimeScope : LifetimeScope { - [SerializeField] private ModifierCatalogSO modifierCatalog; + [SerializeField] private ModifierCatalog modifierCatalog; [SerializeField] private CategoryCatalog categoryCatalog; [Header("Scene References")] diff --git a/Assets/Scripts/Inventory/InventoryModel.cs b/Assets/Scripts/Inventory/InventoryModel.cs index afcfead..1da6159 100644 --- a/Assets/Scripts/Inventory/InventoryModel.cs +++ b/Assets/Scripts/Inventory/InventoryModel.cs @@ -26,7 +26,7 @@ namespace YachtDice.Inventory public void SetMaxActiveSlots(int slots) => registry.SetMaxActiveSlots(slots); - public void AddModifier(ModifierDefinitionSO definition) => registry.Add(definition); + public void AddModifier(ModifierDefinition definition) => registry.Add(definition); public void RemoveModifier(ModifierInstance instance) => registry.Remove(instance); @@ -36,9 +36,9 @@ namespace YachtDice.Inventory public void ConsumeUseOnActive() => registry.ConsumeChargesOnActive(); - public List GetActiveModifierDefinitions() + public List GetActiveModifierDefinitions() { - var result = new List(); + var result = new List(); var active = registry.Active; for (int i = 0; i < active.Count; i++) result.Add(active[i].Definition); diff --git a/Assets/Scripts/Modifiers/Conditions/CategoryCondition.cs b/Assets/Scripts/Modifiers/Conditions/CategoryCondition.cs index 0416d32..ad29493 100644 --- a/Assets/Scripts/Modifiers/Conditions/CategoryCondition.cs +++ b/Assets/Scripts/Modifiers/Conditions/CategoryCondition.cs @@ -7,7 +7,7 @@ using YachtDice.Modifiers.Runtime; namespace YachtDice.Modifiers.Conditions { [CreateAssetMenu(fileName = "CategoryCondition", menuName = "YachtDice/Modifiers/Conditions/Category")] - public class CategoryCondition : ConditionSO + public class CategoryCondition : Condition { [SerializeField] private CategoryDefinition requiredCategory; diff --git a/Assets/Scripts/Modifiers/Conditions/DiceCountCondition.cs b/Assets/Scripts/Modifiers/Conditions/DiceCountCondition.cs index 019e627..af3edc4 100644 --- a/Assets/Scripts/Modifiers/Conditions/DiceCountCondition.cs +++ b/Assets/Scripts/Modifiers/Conditions/DiceCountCondition.cs @@ -6,7 +6,7 @@ using YachtDice.Modifiers.Runtime; namespace YachtDice.Modifiers.Conditions { [CreateAssetMenu(fileName = "DiceCountCondition", menuName = "YachtDice/Modifiers/Conditions/Dice Count")] - public class DiceCountCondition : ConditionSO + public class DiceCountCondition : Condition { [Tooltip("Die face value to count (1-6). 0 = any value.")] [SerializeField, Range(0, 6)] private int targetValue; diff --git a/Assets/Scripts/Modifiers/Conditions/DieValueCondition.cs b/Assets/Scripts/Modifiers/Conditions/DieValueCondition.cs index d11a799..c4be0a5 100644 --- a/Assets/Scripts/Modifiers/Conditions/DieValueCondition.cs +++ b/Assets/Scripts/Modifiers/Conditions/DieValueCondition.cs @@ -6,7 +6,7 @@ using YachtDice.Modifiers.Runtime; namespace YachtDice.Modifiers.Conditions { [CreateAssetMenu(fileName = "DieValueCondition", menuName = "YachtDice/Modifiers/Conditions/Die Value")] - public class DieValueCondition : ConditionSO + public class DieValueCondition : Condition { [SerializeField, Range(1, 6)] private int targetValue = 1; [SerializeField] private int minCount = 1; diff --git a/Assets/Scripts/Modifiers/Conditions/MinScoreCondition.cs b/Assets/Scripts/Modifiers/Conditions/MinScoreCondition.cs index dee6776..b8dc3fd 100644 --- a/Assets/Scripts/Modifiers/Conditions/MinScoreCondition.cs +++ b/Assets/Scripts/Modifiers/Conditions/MinScoreCondition.cs @@ -6,7 +6,7 @@ using YachtDice.Modifiers.Runtime; namespace YachtDice.Modifiers.Conditions { [CreateAssetMenu(fileName = "MinScoreCondition", menuName = "YachtDice/Modifiers/Conditions/Min Score")] - public class MinScoreCondition : ConditionSO + public class MinScoreCondition : Condition { [SerializeField] private int minimumBaseScore; diff --git a/Assets/Scripts/Modifiers/Definition/ConditionSO.cs b/Assets/Scripts/Modifiers/Definition/Condition.cs similarity index 77% rename from Assets/Scripts/Modifiers/Definition/ConditionSO.cs rename to Assets/Scripts/Modifiers/Definition/Condition.cs index 4773351..c922b75 100644 --- a/Assets/Scripts/Modifiers/Definition/ConditionSO.cs +++ b/Assets/Scripts/Modifiers/Definition/Condition.cs @@ -4,7 +4,7 @@ using YachtDice.Modifiers.Runtime; namespace YachtDice.Modifiers.Definition { - public abstract class ConditionSO : ScriptableObject, ICondition + public abstract class Condition : ScriptableObject, ICondition { public abstract bool Evaluate(ModifierContext context, ModifierInstance instance); } diff --git a/Assets/Scripts/Modifiers/Definition/ConditionSO.cs.meta b/Assets/Scripts/Modifiers/Definition/Condition.cs.meta similarity index 100% rename from Assets/Scripts/Modifiers/Definition/ConditionSO.cs.meta rename to Assets/Scripts/Modifiers/Definition/Condition.cs.meta diff --git a/Assets/Scripts/Modifiers/Definition/EffectSO.cs b/Assets/Scripts/Modifiers/Definition/Effect.cs similarity index 90% rename from Assets/Scripts/Modifiers/Definition/EffectSO.cs rename to Assets/Scripts/Modifiers/Definition/Effect.cs index 7cb1177..f11cb0b 100644 --- a/Assets/Scripts/Modifiers/Definition/EffectSO.cs +++ b/Assets/Scripts/Modifiers/Definition/Effect.cs @@ -5,7 +5,7 @@ using YachtDice.Modifiers.Runtime; namespace YachtDice.Modifiers.Definition { - public abstract class EffectSO : ScriptableObject, IEffect + public abstract class Effect : ScriptableObject, IEffect { [SerializeField] private ModifierPhase phase = ModifierPhase.Additive; [SerializeField] private int priority; diff --git a/Assets/Scripts/Modifiers/Definition/EffectSO.cs.meta b/Assets/Scripts/Modifiers/Definition/Effect.cs.meta similarity index 100% rename from Assets/Scripts/Modifiers/Definition/EffectSO.cs.meta rename to Assets/Scripts/Modifiers/Definition/Effect.cs.meta diff --git a/Assets/Scripts/Modifiers/Definition/ModifierBehaviorSO.cs b/Assets/Scripts/Modifiers/Definition/ModifierBehavior.cs similarity index 57% rename from Assets/Scripts/Modifiers/Definition/ModifierBehaviorSO.cs rename to Assets/Scripts/Modifiers/Definition/ModifierBehavior.cs index 7c6db6b..06d6883 100644 --- a/Assets/Scripts/Modifiers/Definition/ModifierBehaviorSO.cs +++ b/Assets/Scripts/Modifiers/Definition/ModifierBehavior.cs @@ -6,15 +6,15 @@ using YachtDice.Modifiers.Runtime; namespace YachtDice.Modifiers.Definition { [CreateAssetMenu(fileName = "NewBehavior", menuName = "YachtDice/Modifiers/Behavior")] - public class ModifierBehaviorSO : ScriptableObject + public class ModifierBehavior : ScriptableObject { [SerializeField] private TriggerType trigger; - [SerializeField] private List conditions = new(); - [SerializeField] private List effects = new(); + [SerializeField] private List conditions = new(); + [SerializeField] private List effects = new(); public TriggerType Trigger => trigger; - public IReadOnlyList Conditions => conditions; - public IReadOnlyList Effects => effects; + public IReadOnlyList Conditions => conditions; + public IReadOnlyList Effects => effects; public bool EvaluateConditions(ModifierContext context, ModifierInstance instance) { @@ -27,15 +27,15 @@ namespace YachtDice.Modifiers.Definition } #if UNITY_EDITOR - public static ModifierBehaviorSO CreateForTest( + public static ModifierBehavior CreateForTest( TriggerType trigger, - List conditions, - List effects) + List conditions, + List effects) { - var so = CreateInstance(); + var so = CreateInstance(); so.trigger = trigger; - so.conditions = conditions ?? new List(); - so.effects = effects ?? new List(); + so.conditions = conditions ?? new List(); + so.effects = effects ?? new List(); return so; } #endif diff --git a/Assets/Scripts/Modifiers/Definition/ModifierBehaviorSO.cs.meta b/Assets/Scripts/Modifiers/Definition/ModifierBehavior.cs.meta similarity index 100% rename from Assets/Scripts/Modifiers/Definition/ModifierBehaviorSO.cs.meta rename to Assets/Scripts/Modifiers/Definition/ModifierBehavior.cs.meta diff --git a/Assets/Scripts/Modifiers/Definition/ModifierCatalogSO.cs b/Assets/Scripts/Modifiers/Definition/ModifierCatalog.cs similarity index 63% rename from Assets/Scripts/Modifiers/Definition/ModifierCatalogSO.cs rename to Assets/Scripts/Modifiers/Definition/ModifierCatalog.cs index 16d11e3..e6ec110 100644 --- a/Assets/Scripts/Modifiers/Definition/ModifierCatalogSO.cs +++ b/Assets/Scripts/Modifiers/Definition/ModifierCatalog.cs @@ -4,13 +4,13 @@ using UnityEngine; namespace YachtDice.Modifiers.Definition { [CreateAssetMenu(fileName = "ModifierCatalog", menuName = "YachtDice/Modifiers/Catalog")] - public class ModifierCatalogSO : ScriptableObject + public class ModifierCatalog : ScriptableObject { - [SerializeField] private List modifiers = new(); + [SerializeField] private List modifiers = new(); - public IReadOnlyList All => modifiers; + public IReadOnlyList All => modifiers; - public ModifierDefinitionSO FindById(string id) + public ModifierDefinition FindById(string id) { for (int i = 0; i < modifiers.Count; i++) { diff --git a/Assets/Scripts/Modifiers/Definition/ModifierCatalogSO.cs.meta b/Assets/Scripts/Modifiers/Definition/ModifierCatalog.cs.meta similarity index 100% rename from Assets/Scripts/Modifiers/Definition/ModifierCatalogSO.cs.meta rename to Assets/Scripts/Modifiers/Definition/ModifierCatalog.cs.meta diff --git a/Assets/Scripts/Modifiers/Definition/ModifierDefinitionSO.cs b/Assets/Scripts/Modifiers/Definition/ModifierDefinition.cs similarity index 83% rename from Assets/Scripts/Modifiers/Definition/ModifierDefinitionSO.cs rename to Assets/Scripts/Modifiers/Definition/ModifierDefinition.cs index f3d3ef9..7fb269f 100644 --- a/Assets/Scripts/Modifiers/Definition/ModifierDefinitionSO.cs +++ b/Assets/Scripts/Modifiers/Definition/ModifierDefinition.cs @@ -5,7 +5,7 @@ using YachtDice.Modifiers.Core; namespace YachtDice.Modifiers.Definition { [CreateAssetMenu(fileName = "NewModifier", menuName = "YachtDice/Modifiers/Definition")] - public class ModifierDefinitionSO : ScriptableObject + public class ModifierDefinition : ScriptableObject { [Header("Identity")] [SerializeField] private string id; @@ -24,7 +24,7 @@ namespace YachtDice.Modifiers.Definition [SerializeField] private int maxStacks = 1; [Header("Behaviors")] - [SerializeField] private List behaviors = new(); + [SerializeField] private List behaviors = new(); public string Id => id; public string DisplayName => displayName; @@ -36,19 +36,19 @@ namespace YachtDice.Modifiers.Definition public bool HasLimitedUses => hasLimitedUses; public int MaxUses => maxUses; public int MaxStacks => maxStacks; - public IReadOnlyList Behaviors => behaviors; + public IReadOnlyList Behaviors => behaviors; #if UNITY_EDITOR - public static ModifierDefinitionSO CreateForTest( + public static ModifierDefinition CreateForTest( string id, - List behaviors, + List behaviors, bool hasLimitedUses = false, int maxUses = 0, int shopPrice = 100, int sellPrice = 50, ModifierRarity rarity = ModifierRarity.Common) { - var so = CreateInstance(); + var so = CreateInstance(); so.id = id; so.displayName = id; so.description = id; @@ -57,7 +57,7 @@ namespace YachtDice.Modifiers.Definition so.sellPrice = sellPrice; so.hasLimitedUses = hasLimitedUses; so.maxUses = maxUses; - so.behaviors = behaviors ?? new List(); + so.behaviors = behaviors ?? new List(); return so; } #endif diff --git a/Assets/Scripts/Modifiers/Definition/ModifierDefinitionSO.cs.meta b/Assets/Scripts/Modifiers/Definition/ModifierDefinition.cs.meta similarity index 100% rename from Assets/Scripts/Modifiers/Definition/ModifierDefinitionSO.cs.meta rename to Assets/Scripts/Modifiers/Definition/ModifierDefinition.cs.meta diff --git a/Assets/Scripts/Modifiers/Editor/ModifierDefinitionValidator.cs b/Assets/Scripts/Modifiers/Editor/ModifierDefinitionValidator.cs index af146a3..dab5607 100644 --- a/Assets/Scripts/Modifiers/Editor/ModifierDefinitionValidator.cs +++ b/Assets/Scripts/Modifiers/Editor/ModifierDefinitionValidator.cs @@ -26,7 +26,7 @@ namespace YachtDice.Modifiers.Editor for (int i = 0; i < guids.Length; i++) { string path = AssetDatabase.GUIDToAssetPath(guids[i]); - var def = AssetDatabase.LoadAssetAtPath(path); + var def = AssetDatabase.LoadAssetAtPath(path); if (def == null) { @@ -183,7 +183,7 @@ namespace YachtDice.Modifiers.Editor for (int i = 0; i < guids.Length; i++) { string path = AssetDatabase.GUIDToAssetPath(guids[i]); - var catalog = AssetDatabase.LoadAssetAtPath(path); + var catalog = AssetDatabase.LoadAssetAtPath(path); if (catalog == null) { diff --git a/Assets/Scripts/Modifiers/Effects/AddCurrencyEffect.cs b/Assets/Scripts/Modifiers/Effects/AddCurrencyEffect.cs index 1fa8393..5450aae 100644 --- a/Assets/Scripts/Modifiers/Effects/AddCurrencyEffect.cs +++ b/Assets/Scripts/Modifiers/Effects/AddCurrencyEffect.cs @@ -7,7 +7,7 @@ using YachtDice.Modifiers.Runtime; namespace YachtDice.Modifiers.Effects { [CreateAssetMenu(fileName = "AddCurrencyEffect", menuName = "YachtDice/Modifiers/Effects/Add Currency")] - public class AddCurrencyEffect : EffectSO + public class AddCurrencyEffect : Effect { [SerializeField] private int amount; diff --git a/Assets/Scripts/Modifiers/Effects/AddFlatScoreEffect.cs b/Assets/Scripts/Modifiers/Effects/AddFlatScoreEffect.cs index 1068c74..32b495e 100644 --- a/Assets/Scripts/Modifiers/Effects/AddFlatScoreEffect.cs +++ b/Assets/Scripts/Modifiers/Effects/AddFlatScoreEffect.cs @@ -7,7 +7,7 @@ using YachtDice.Modifiers.Runtime; namespace YachtDice.Modifiers.Effects { [CreateAssetMenu(fileName = "AddFlatScoreEffect", menuName = "YachtDice/Modifiers/Effects/Add Flat Score")] - public class AddFlatScoreEffect : EffectSO + public class AddFlatScoreEffect : Effect { [SerializeField] private int value; diff --git a/Assets/Scripts/Modifiers/Effects/AddPerDieEffect.cs b/Assets/Scripts/Modifiers/Effects/AddPerDieEffect.cs index 6c5546d..aba6153 100644 --- a/Assets/Scripts/Modifiers/Effects/AddPerDieEffect.cs +++ b/Assets/Scripts/Modifiers/Effects/AddPerDieEffect.cs @@ -7,7 +7,7 @@ using YachtDice.Modifiers.Runtime; namespace YachtDice.Modifiers.Effects { [CreateAssetMenu(fileName = "AddPerDieEffect", menuName = "YachtDice/Modifiers/Effects/Add Per Die")] - public class AddPerDieEffect : EffectSO + public class AddPerDieEffect : Effect { [Tooltip("Points to add per matching die.")] [SerializeField] private int valuePerDie; diff --git a/Assets/Scripts/Modifiers/Effects/ConsumeChargeEffect.cs b/Assets/Scripts/Modifiers/Effects/ConsumeChargeEffect.cs index 74ac2a7..7fd123a 100644 --- a/Assets/Scripts/Modifiers/Effects/ConsumeChargeEffect.cs +++ b/Assets/Scripts/Modifiers/Effects/ConsumeChargeEffect.cs @@ -7,7 +7,7 @@ using YachtDice.Modifiers.Runtime; namespace YachtDice.Modifiers.Effects { [CreateAssetMenu(fileName = "ConsumeChargeEffect", menuName = "YachtDice/Modifiers/Effects/Consume Charge")] - public class ConsumeChargeEffect : EffectSO + public class ConsumeChargeEffect : Effect { [SerializeField] private int charges = 1; diff --git a/Assets/Scripts/Modifiers/Effects/MultiplyPerDieEffect.cs b/Assets/Scripts/Modifiers/Effects/MultiplyPerDieEffect.cs index 62c8f1d..3cd20a7 100644 --- a/Assets/Scripts/Modifiers/Effects/MultiplyPerDieEffect.cs +++ b/Assets/Scripts/Modifiers/Effects/MultiplyPerDieEffect.cs @@ -7,7 +7,7 @@ using YachtDice.Modifiers.Runtime; namespace YachtDice.Modifiers.Effects { [CreateAssetMenu(fileName = "MultiplyPerDieEffect", menuName = "YachtDice/Modifiers/Effects/Multiply Per Die")] - public class MultiplyPerDieEffect : EffectSO + public class MultiplyPerDieEffect : Effect { [Tooltip("Multiplier to apply per matching die.")] [SerializeField] private float multiplierPerDie = 1f; diff --git a/Assets/Scripts/Modifiers/Effects/MultiplyScoreEffect.cs b/Assets/Scripts/Modifiers/Effects/MultiplyScoreEffect.cs index 01738c2..53546c3 100644 --- a/Assets/Scripts/Modifiers/Effects/MultiplyScoreEffect.cs +++ b/Assets/Scripts/Modifiers/Effects/MultiplyScoreEffect.cs @@ -7,7 +7,7 @@ using YachtDice.Modifiers.Runtime; namespace YachtDice.Modifiers.Effects { [CreateAssetMenu(fileName = "MultiplyScoreEffect", menuName = "YachtDice/Modifiers/Effects/Multiply Score")] - public class MultiplyScoreEffect : EffectSO + public class MultiplyScoreEffect : Effect { [SerializeField] private float multiplier = 1f; diff --git a/Assets/Scripts/Modifiers/Effects/PostMultiplyEffect.cs b/Assets/Scripts/Modifiers/Effects/PostMultiplyEffect.cs index 7314aac..8a390c4 100644 --- a/Assets/Scripts/Modifiers/Effects/PostMultiplyEffect.cs +++ b/Assets/Scripts/Modifiers/Effects/PostMultiplyEffect.cs @@ -7,7 +7,7 @@ using YachtDice.Modifiers.Runtime; namespace YachtDice.Modifiers.Effects { [CreateAssetMenu(fileName = "PostMultiplyEffect", menuName = "YachtDice/Modifiers/Effects/Post Multiply")] - public class PostMultiplyEffect : EffectSO + public class PostMultiplyEffect : Effect { [SerializeField] private float postMultiplier = 1f; diff --git a/Assets/Scripts/Modifiers/Pipeline/ModifierComparer.cs b/Assets/Scripts/Modifiers/Pipeline/ModifierComparer.cs index dd7f61f..c6d712d 100644 --- a/Assets/Scripts/Modifiers/Pipeline/ModifierComparer.cs +++ b/Assets/Scripts/Modifiers/Pipeline/ModifierComparer.cs @@ -7,7 +7,7 @@ namespace YachtDice.Modifiers.Pipeline { public struct EffectEntry { - public EffectSO Effect; + public Effect Effect; public ModifierInstance Instance; } diff --git a/Assets/Scripts/Modifiers/Runtime/ModifierInstance.cs b/Assets/Scripts/Modifiers/Runtime/ModifierInstance.cs index 0559055..6bb255c 100644 --- a/Assets/Scripts/Modifiers/Runtime/ModifierInstance.cs +++ b/Assets/Scripts/Modifiers/Runtime/ModifierInstance.cs @@ -5,7 +5,7 @@ namespace YachtDice.Modifiers.Runtime { public class ModifierInstance { - public ModifierDefinitionSO Definition { get; } + public ModifierDefinition Definition { get; } public bool IsActive { get; set; } public int RemainingUses { get; set; } public int Stacks { get; set; } = 1; @@ -13,7 +13,7 @@ namespace YachtDice.Modifiers.Runtime public bool IsExpired => Definition.HasLimitedUses && RemainingUses <= 0; - public ModifierInstance(ModifierDefinitionSO definition) + public ModifierInstance(ModifierDefinition definition) { Definition = definition; RemainingUses = definition.HasLimitedUses ? definition.MaxUses : -1; diff --git a/Assets/Scripts/Modifiers/Runtime/ModifierRegistry.cs b/Assets/Scripts/Modifiers/Runtime/ModifierRegistry.cs index 9cc4cf1..2e04ef4 100644 --- a/Assets/Scripts/Modifiers/Runtime/ModifierRegistry.cs +++ b/Assets/Scripts/Modifiers/Runtime/ModifierRegistry.cs @@ -49,7 +49,7 @@ namespace YachtDice.Modifiers.Runtime maxActiveSlots = slots; } - public ModifierInstance Add(ModifierDefinitionSO definition) + public ModifierInstance Add(ModifierDefinition definition) { var instance = new ModifierInstance(definition); instances.Add(instance); @@ -151,7 +151,7 @@ namespace YachtDice.Modifiers.Runtime return entries; } - public void LoadSaveData(List entries, ModifierCatalogSO catalog) + public void LoadSaveData(List entries, ModifierCatalog catalog) { instances.Clear(); activeCacheDirty = true; diff --git a/Assets/Scripts/Shop/ShopController.cs b/Assets/Scripts/Shop/ShopController.cs index 8aecc4f..0e7654f 100644 --- a/Assets/Scripts/Shop/ShopController.cs +++ b/Assets/Scripts/Shop/ShopController.cs @@ -9,14 +9,14 @@ namespace YachtDice.Shop { [SerializeField] private ShopView shopView; - private ModifierCatalogSO catalog; + private ModifierCatalog catalog; private CurrencyBank currencyBank; private ShopModel model; - public ModifierCatalogSO Catalog => catalog; + public ModifierCatalog Catalog => catalog; [Inject] - public void Construct(ModifierCatalogSO catalog, CurrencyBank currencyBank, ShopModel model) + public void Construct(ModifierCatalog catalog, CurrencyBank currencyBank, ShopModel model) { this.catalog = catalog; this.currencyBank = currencyBank; @@ -55,7 +55,7 @@ namespace YachtDice.Shop shopView.Show(); } - private void HandleBuyClicked(ModifierDefinitionSO def) + private void HandleBuyClicked(ModifierDefinition def) { model.TryPurchase(def); } @@ -66,7 +66,7 @@ namespace YachtDice.Shop shopView.RefreshStates(catalog.All, model); } - private void HandleItemPurchased(ModifierDefinitionSO def) + private void HandleItemPurchased(ModifierDefinition def) { shopView.RefreshStates(catalog.All, model); } diff --git a/Assets/Scripts/Shop/ShopItemView.cs b/Assets/Scripts/Shop/ShopItemView.cs index 25a7d8a..0c1eb1a 100644 --- a/Assets/Scripts/Shop/ShopItemView.cs +++ b/Assets/Scripts/Shop/ShopItemView.cs @@ -24,9 +24,9 @@ namespace YachtDice.Shop [SerializeField] private Color rareColor = new(0.4f, 0.6f, 1f); [SerializeField] private Color epicColor = new(0.8f, 0.4f, 1f); - private ModifierDefinitionSO data; + private ModifierDefinition data; - public event Action OnBuyClicked; + public event Action OnBuyClicked; private void Awake() { @@ -34,7 +34,7 @@ namespace YachtDice.Shop buyButton.onClick.AddListener(() => OnBuyClicked?.Invoke(data)); } - public void Setup(ModifierDefinitionSO modifierDef, ShopItemState state) + public void Setup(ModifierDefinition modifierDef, ShopItemState state) { data = modifierDef; diff --git a/Assets/Scripts/Shop/ShopModel.cs b/Assets/Scripts/Shop/ShopModel.cs index 726de85..27a08c0 100644 --- a/Assets/Scripts/Shop/ShopModel.cs +++ b/Assets/Scripts/Shop/ShopModel.cs @@ -12,7 +12,7 @@ namespace YachtDice.Shop private readonly InventoryModel inventoryModel; private readonly HashSet purchasedPermanentIds = new(); - public event Action OnItemPurchased; + public event Action OnItemPurchased; public ShopModel(CurrencyBank currencyBank, InventoryModel inventoryModel) { @@ -20,7 +20,7 @@ namespace YachtDice.Shop this.inventoryModel = inventoryModel; } - public bool CanPurchase(ModifierDefinitionSO modifier) + public bool CanPurchase(ModifierDefinition modifier) { if (modifier == null) return false; if (!currencyBank.CanAfford(modifier.ShopPrice)) return false; @@ -31,7 +31,7 @@ namespace YachtDice.Shop return true; } - public bool TryPurchase(ModifierDefinitionSO modifier) + public bool TryPurchase(ModifierDefinition modifier) { if (!CanPurchase(modifier)) return false; @@ -47,7 +47,7 @@ namespace YachtDice.Shop public bool IsPermanentOwned(string modifierId) => purchasedPermanentIds.Contains(modifierId); - public ShopItemState GetItemState(ModifierDefinitionSO modifier) + public ShopItemState GetItemState(ModifierDefinition modifier) { if (modifier == null) return ShopItemState.TooExpensive; diff --git a/Assets/Scripts/Shop/ShopView.cs b/Assets/Scripts/Shop/ShopView.cs index 3886457..639f490 100644 --- a/Assets/Scripts/Shop/ShopView.cs +++ b/Assets/Scripts/Shop/ShopView.cs @@ -16,7 +16,7 @@ namespace YachtDice.Shop private readonly List spawnedItems = new(); - public event Action OnBuyClicked; + public event Action OnBuyClicked; private void Awake() { @@ -34,7 +34,7 @@ namespace YachtDice.Shop public void Hide() => gameObject.SetActive(false); public bool IsVisible => gameObject.activeSelf; - public void Populate(IReadOnlyList catalog, ShopModel model) + public void Populate(IReadOnlyList catalog, ShopModel model) { ClearItems(); @@ -51,7 +51,7 @@ namespace YachtDice.Shop } } - public void RefreshStates(IReadOnlyList catalog, ShopModel model) + public void RefreshStates(IReadOnlyList catalog, ShopModel model) { for (int i = 0; i < spawnedItems.Count && i < catalog.Count; i++) { @@ -76,6 +76,6 @@ namespace YachtDice.Shop spawnedItems.Clear(); } - private void HandleBuy(ModifierDefinitionSO def) => OnBuyClicked?.Invoke(def); + private void HandleBuy(ModifierDefinition def) => OnBuyClicked?.Invoke(def); } } diff --git a/Assets/Scripts/Tests/Editor/InventoryModelTests.cs b/Assets/Scripts/Tests/Editor/InventoryModelTests.cs index 41676a3..de9487d 100644 --- a/Assets/Scripts/Tests/Editor/InventoryModelTests.cs +++ b/Assets/Scripts/Tests/Editor/InventoryModelTests.cs @@ -18,10 +18,10 @@ namespace YachtDice.Tests inventory = new InventoryModel(registry); } - private ModifierDefinitionSO CreateTestDef(string id = "test", + private ModifierDefinition CreateTestDef(string id = "test", bool hasLimitedUses = false, int maxUses = 0) { - return ModifierDefinitionSO.CreateForTest(id, null, + return ModifierDefinition.CreateForTest(id, null, hasLimitedUses: hasLimitedUses, maxUses: maxUses); } diff --git a/Assets/Scripts/Tests/Editor/ModifierEffectTests.cs b/Assets/Scripts/Tests/Editor/ModifierEffectTests.cs index e6a028f..d159150 100644 --- a/Assets/Scripts/Tests/Editor/ModifierEffectTests.cs +++ b/Assets/Scripts/Tests/Editor/ModifierEffectTests.cs @@ -27,7 +27,7 @@ namespace YachtDice.Tests private ModifierInstance CreateInstance(string id = "test") { - var def = ModifierDefinitionSO.CreateForTest(id, null); + var def = ModifierDefinition.CreateForTest(id, null); return new ModifierInstance(def); } @@ -221,7 +221,7 @@ namespace YachtDice.Tests { var effect = ConsumeChargeEffect.CreateForTest(1); var ctx = CreateContext(10, new[] { 1, 2, 3, 4, 5 }); - var def = ModifierDefinitionSO.CreateForTest("limited", null, + var def = ModifierDefinition.CreateForTest("limited", null, hasLimitedUses: true, maxUses: 3); var inst = new ModifierInstance(def); diff --git a/Assets/Scripts/Tests/Editor/ModifierPipelineTests.cs b/Assets/Scripts/Tests/Editor/ModifierPipelineTests.cs index fe97abc..bca3059 100644 --- a/Assets/Scripts/Tests/Editor/ModifierPipelineTests.cs +++ b/Assets/Scripts/Tests/Editor/ModifierPipelineTests.cs @@ -51,17 +51,17 @@ namespace YachtDice.Tests Object.DestroyImmediate(sixesCategory); } - private ModifierDefinitionSO CreateDef(string id, + private ModifierDefinition CreateDef(string id, TriggerType trigger, - List conditions, - List effects) + List conditions, + List effects) { - var behavior = ModifierBehaviorSO.CreateForTest(trigger, conditions, effects); - return ModifierDefinitionSO.CreateForTest(id, - new List { behavior }); + var behavior = ModifierBehavior.CreateForTest(trigger, conditions, effects); + return ModifierDefinition.CreateForTest(id, + new List { behavior }); } - private void RegisterAndActivate(ModifierDefinitionSO def) + private void RegisterAndActivate(ModifierDefinition def) { var inst = registry.Add(def); registry.TryActivate(inst); @@ -87,9 +87,9 @@ namespace YachtDice.Tests var mulEffect = MultiplyScoreEffect.CreateForTest(2f, ModifierPhase.Multiplicative); var addDef = CreateDef("add", TriggerType.OnCategoryScored, null, - new List { addEffect }); + new List { addEffect }); var mulDef = CreateDef("mul", TriggerType.OnCategoryScored, null, - new List { mulEffect }); + new List { mulEffect }); RegisterAndActivate(mulDef); RegisterAndActivate(addDef); @@ -108,9 +108,9 @@ namespace YachtDice.Tests var postMulEffect = PostMultiplyEffect.CreateForTest(3f, ModifierPhase.PostMultiplicative); var mulDef = CreateDef("mul", TriggerType.OnCategoryScored, null, - new List { mulEffect }); + new List { mulEffect }); var postDef = CreateDef("post", TriggerType.OnCategoryScored, null, - new List { postMulEffect }); + new List { postMulEffect }); RegisterAndActivate(postDef); RegisterAndActivate(mulDef); @@ -131,8 +131,8 @@ namespace YachtDice.Tests var effect = AddFlatScoreEffect.CreateForTest(100); var def = CreateDef("fh-bonus", TriggerType.OnCategoryScored, - new List { condition }, - new List { effect }); + new List { condition }, + new List { effect }); RegisterAndActivate(def); @@ -151,8 +151,8 @@ namespace YachtDice.Tests var effect = AddFlatScoreEffect.CreateForTest(15); var def = CreateDef("fh-bonus", TriggerType.OnCategoryScored, - new List { condition }, - new List { effect }); + new List { condition }, + new List { effect }); RegisterAndActivate(def); @@ -170,7 +170,7 @@ namespace YachtDice.Tests { var effect = AddFlatScoreEffect.CreateForTest(999); var def = CreateDef("turn-bonus", TriggerType.OnTurnStart, null, - new List { effect }); + new List { effect }); RegisterAndActivate(def); @@ -192,13 +192,13 @@ namespace YachtDice.Tests var finalMul = MultiplyScoreEffect.CreateForTest(2f, ModifierPhase.Multiplicative, priority: 10); var def1 = CreateDef("pda", TriggerType.OnCategoryScored, null, - new List { perDieAdd }); + new List { perDieAdd }); var def2 = CreateDef("pdm", TriggerType.OnCategoryScored, null, - new List { perDieMul }); + new List { perDieMul }); var def3 = CreateDef("fa", TriggerType.OnCategoryScored, null, - new List { flatAdd }); + new List { flatAdd }); var def4 = CreateDef("fm", TriggerType.OnCategoryScored, null, - new List { finalMul }); + new List { finalMul }); RegisterAndActivate(def4); RegisterAndActivate(def3); @@ -231,7 +231,7 @@ namespace YachtDice.Tests { var effect = AddFlatScoreEffect.CreateForTest(50); var def = CreateDef("inactive", TriggerType.OnCategoryScored, null, - new List { effect }); + new List { effect }); registry.Add(def); @@ -251,7 +251,7 @@ namespace YachtDice.Tests var currencyEffect = AddCurrencyEffect.CreateForTest(25, ModifierPhase.SideEffect); var def = CreateDef("rewards", TriggerType.OnCategoryScored, null, - new List { scoreEffect, currencyEffect }); + new List { scoreEffect, currencyEffect }); RegisterAndActivate(def); @@ -272,7 +272,7 @@ namespace YachtDice.Tests var effect = AddFlatScoreEffect.CreateForTest(10); var def = CreateDef("traced", TriggerType.OnCategoryScored, null, - new List { effect }); + new List { effect }); RegisterAndActivate(def); @@ -292,8 +292,8 @@ namespace YachtDice.Tests var effect = AddFlatScoreEffect.CreateForTest(100); var def = CreateDef("sixes-bonus", TriggerType.OnCategoryScored, - new List { condition }, - new List { effect }); + new List { condition }, + new List { effect }); RegisterAndActivate(def); @@ -319,8 +319,8 @@ namespace YachtDice.Tests var effect = MultiplyScoreEffect.CreateForTest(2f); var def = CreateDef("high-score-bonus", TriggerType.OnCategoryScored, - new List { condition }, - new List { effect }); + new List { condition }, + new List { effect }); RegisterAndActivate(def); diff --git a/Assets/Scripts/Tests/Editor/ShopModelTests.cs b/Assets/Scripts/Tests/Editor/ShopModelTests.cs index 973e4ea..411d424 100644 --- a/Assets/Scripts/Tests/Editor/ShopModelTests.cs +++ b/Assets/Scripts/Tests/Editor/ShopModelTests.cs @@ -34,11 +34,11 @@ namespace YachtDice.Tests Object.DestroyImmediate(go.gameObject); } - private ModifierDefinitionSO CreateDef(string id = "test", + private ModifierDefinition CreateDef(string id = "test", bool hasLimitedUses = false, int maxUses = 0, int shopPrice = 100, int sellPrice = 50) { - return ModifierDefinitionSO.CreateForTest(id, null, + return ModifierDefinition.CreateForTest(id, null, hasLimitedUses: hasLimitedUses, maxUses: maxUses, shopPrice: shopPrice, sellPrice: sellPrice); } @@ -97,7 +97,7 @@ namespace YachtDice.Tests [Test] public void TryPurchase_FiresPurchaseEvent() { - ModifierDefinitionSO purchased = null; + ModifierDefinition purchased = null; shop.OnItemPurchased += def => purchased = def; var mod = CreateDef("test", shopPrice: 100); diff --git a/Assets/Scripts/UI/GameController.cs b/Assets/Scripts/UI/GameController.cs index 2086b11..1f0b316 100644 --- a/Assets/Scripts/UI/GameController.cs +++ b/Assets/Scripts/UI/GameController.cs @@ -35,7 +35,7 @@ namespace YachtDice.UI private InventoryController inventoryController; private ModifierRegistry modifierRegistry; private CategoryCatalog categoryCatalog; - private ModifierCatalogSO modifierCatalog; + private ModifierCatalog modifierCatalog; private ShopModel shopModel; [Inject] @@ -48,7 +48,7 @@ namespace YachtDice.UI InventoryController inventoryController, ModifierRegistry modifierRegistry, CategoryCatalog categoryCatalog, - ModifierCatalogSO modifierCatalog, + ModifierCatalog modifierCatalog, ShopModel shopModel) { this.gameManager = gameManager;