Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- internal class ComponentRequirements
- {
- public ComponentRequirements()
- {
- requiredTypes = new List<Type>();
- }
- private List<Type> requiredTypes;
- public bool IsEmpty { get { return !requiredTypes.Any(); } }
- public bool ComponentIsRequired<TComponent>() where TComponent : IComponent
- {
- return requiredTypes.Contains(typeof(TComponent));
- }
- public void AddRequiredType<TComponent>() where TComponent : IComponent
- {
- requiredTypes.Add(typeof(TComponent));
- }
- public bool ValidateEntity(Type[] entityComponents)
- {
- for (int i = 0; i < requiredTypes.Count; i++)
- {
- if (!entityComponents.Contains(requiredTypes[i]))
- {
- return false;
- }
- }
- return true;
- }
- }
Add Comment
Please, Sign In to add comment