Advertisement
Pro_Unit

CompositeDamageStrategy

Jun 10th, 2023
586
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 0.42 KB | None | 0 0
  1. using System.Linq;
  2.  
  3. namespace Composite
  4. {
  5.     public class CompositeDamageStrategy : IDamageStrategy
  6.     {
  7.         private readonly IDamageStrategy[] _strategies;
  8.  
  9.         public CompositeDamageStrategy(params IDamageStrategy[] strategies) =>
  10.             _strategies = strategies;
  11.  
  12.         public int CalculateFinalDamage(int baseDamage) =>
  13.             _strategies.Aggregate(baseDamage, (current, strategy) => strategy.CalculateFinalDamage(current));
  14.     }
  15. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement