[Fix] Name & add meta
This commit is contained in:
@@ -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;
|
||||
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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;
|
||||
|
||||
|
||||
+1
-1
@@ -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);
|
||||
}
|
||||
+1
-1
@@ -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;
|
||||
+11
-11
@@ -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<ConditionSO> conditions = new();
|
||||
[SerializeField] private List<EffectSO> effects = new();
|
||||
[SerializeField] private List<Condition> conditions = new();
|
||||
[SerializeField] private List<Effect> effects = new();
|
||||
|
||||
public TriggerType Trigger => trigger;
|
||||
public IReadOnlyList<ConditionSO> Conditions => conditions;
|
||||
public IReadOnlyList<EffectSO> Effects => effects;
|
||||
public IReadOnlyList<Condition> Conditions => conditions;
|
||||
public IReadOnlyList<Effect> 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<ConditionSO> conditions,
|
||||
List<EffectSO> effects)
|
||||
List<Condition> conditions,
|
||||
List<Effect> effects)
|
||||
{
|
||||
var so = CreateInstance<ModifierBehaviorSO>();
|
||||
var so = CreateInstance<ModifierBehavior>();
|
||||
so.trigger = trigger;
|
||||
so.conditions = conditions ?? new List<ConditionSO>();
|
||||
so.effects = effects ?? new List<EffectSO>();
|
||||
so.conditions = conditions ?? new List<Condition>();
|
||||
so.effects = effects ?? new List<Effect>();
|
||||
return so;
|
||||
}
|
||||
#endif
|
||||
+4
-4
@@ -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<ModifierDefinitionSO> modifiers = new();
|
||||
[SerializeField] private List<ModifierDefinition> modifiers = new();
|
||||
|
||||
public IReadOnlyList<ModifierDefinitionSO> All => modifiers;
|
||||
public IReadOnlyList<ModifierDefinition> All => modifiers;
|
||||
|
||||
public ModifierDefinitionSO FindById(string id)
|
||||
public ModifierDefinition FindById(string id)
|
||||
{
|
||||
for (int i = 0; i < modifiers.Count; i++)
|
||||
{
|
||||
+7
-7
@@ -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<ModifierBehaviorSO> behaviors = new();
|
||||
[SerializeField] private List<ModifierBehavior> 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<ModifierBehaviorSO> Behaviors => behaviors;
|
||||
public IReadOnlyList<ModifierBehavior> Behaviors => behaviors;
|
||||
|
||||
#if UNITY_EDITOR
|
||||
public static ModifierDefinitionSO CreateForTest(
|
||||
public static ModifierDefinition CreateForTest(
|
||||
string id,
|
||||
List<ModifierBehaviorSO> behaviors,
|
||||
List<ModifierBehavior> behaviors,
|
||||
bool hasLimitedUses = false,
|
||||
int maxUses = 0,
|
||||
int shopPrice = 100,
|
||||
int sellPrice = 50,
|
||||
ModifierRarity rarity = ModifierRarity.Common)
|
||||
{
|
||||
var so = CreateInstance<ModifierDefinitionSO>();
|
||||
var so = CreateInstance<ModifierDefinition>();
|
||||
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<ModifierBehaviorSO>();
|
||||
so.behaviors = behaviors ?? new List<ModifierBehavior>();
|
||||
return so;
|
||||
}
|
||||
#endif
|
||||
@@ -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<ModifierDefinitionSO>(path);
|
||||
var def = AssetDatabase.LoadAssetAtPath<ModifierDefinition>(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<ModifierCatalogSO>(path);
|
||||
var catalog = AssetDatabase.LoadAssetAtPath<ModifierCatalog>(path);
|
||||
|
||||
if (catalog == null)
|
||||
{
|
||||
|
||||
@@ -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;
|
||||
|
||||
|
||||
@@ -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;
|
||||
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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;
|
||||
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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;
|
||||
|
||||
|
||||
@@ -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;
|
||||
|
||||
|
||||
@@ -7,7 +7,7 @@ namespace YachtDice.Modifiers.Pipeline
|
||||
{
|
||||
public struct EffectEntry
|
||||
{
|
||||
public EffectSO Effect;
|
||||
public Effect Effect;
|
||||
public ModifierInstance Instance;
|
||||
}
|
||||
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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<ModifierSaveEntry> entries, ModifierCatalogSO catalog)
|
||||
public void LoadSaveData(List<ModifierSaveEntry> entries, ModifierCatalog catalog)
|
||||
{
|
||||
instances.Clear();
|
||||
activeCacheDirty = true;
|
||||
|
||||
Reference in New Issue
Block a user