Guest User

Untitled

a guest
Jan 27th, 2019
191
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 0.93 KB | None | 0 0
  1.     internal class ComponentRequirements
  2.     {
  3.         public ComponentRequirements()
  4.         {
  5.             requiredTypes = new List<Type>();
  6.         }
  7.  
  8.         private List<Type> requiredTypes;
  9.  
  10.         public bool IsEmpty { get { return !requiredTypes.Any(); } }
  11.  
  12.         public bool ComponentIsRequired<TComponent>() where TComponent : IComponent
  13.         {
  14.             return requiredTypes.Contains(typeof(TComponent));
  15.         }
  16.  
  17.         public void AddRequiredType<TComponent>() where TComponent : IComponent
  18.         {
  19.             requiredTypes.Add(typeof(TComponent));
  20.         }
  21.  
  22.         public bool ValidateEntity(Type[] entityComponents)
  23.         {
  24.             for (int i = 0; i < requiredTypes.Count; i++)
  25.             {
  26.                 if (!entityComponents.Contains(requiredTypes[i]))
  27.                 {
  28.                     return false;
  29.                 }
  30.             }
  31.  
  32.             return true;
  33.         }
  34.     }
Add Comment
Please, Sign In to add comment