Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- using System.Linq;
- using UnityEngine;
- namespace CompositeWithScriptableObject.Abilities
- {
- using Strategies;
- [CreateAssetMenu(fileName = "Abilities", menuName = "Composite With ScriptableObject/Abilities/Composite")]
- public class Abilities : Ability
- {
- [SerializeField] private Ability[] _abilities;
- private IDamageStrategy _strategy;
- protected override IDamageStrategy Strategy =>
- _strategy ??= new CompositeDamageStrategy(Strategies());
- private IDamageStrategy[] Strategies() =>
- _abilities.Cast<IDamageStrategy>().ToArray();
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement