BallEffectDefinition.cs 788 B

1234567891011121314151617181920
  1. using UnityEngine;
  2. public abstract class BallEffectDefinition : ScriptableObject
  3. {
  4. [SerializeField] private BallEffectType effectType;
  5. [SerializeField] private Material overlayMaterial;
  6. public BallEffectType EffectType => effectType;
  7. public Material OverlayMaterial => overlayMaterial;
  8. protected void SetEffectType(BallEffectType type) => effectType = type;
  9. protected void SetOverlayMaterial(Material material) => overlayMaterial = material;
  10. /// <summary>Copy the base fields (EffectType, OverlayMaterial) from another definition. Used by UpgradeManager when creating runtime copies.</summary>
  11. public void CopyBaseFrom(BallEffectDefinition source)
  12. {
  13. effectType = source.effectType;
  14. overlayMaterial = source.overlayMaterial;
  15. }
  16. }