public EventSystem(IGenericContext <TEntity> context, GroupEvent type) { _context = context; _type = type; _isAddType = _type == GroupEvent.Added || _type == GroupEvent.AddedOrRemoved; _isRemoveType = _type == GroupEvent.Removed || _type == GroupEvent.AddedOrRemoved; _buffer = new List <TEntity>(); if (_isAddType) { _addedCollector = context.GetTriggerCollector <TComponent>(GroupEvent.Added); } if (_isRemoveType) { _removedCollector = context.GetTriggerCollector <TComponent>(GroupEvent.Removed); } }
private static ICollector <GameEntity> Trigger(IGenericContext <GameEntity> context) { return(context.GetTriggerCollector <MatchedComponent>(GroupEvent.Added)); }
private static ICollector <InputEntity> Trigger(IGenericContext <InputEntity> context) { return(context.GetTriggerCollector <RestartComponent>()); }
private static ICollector <GameEntity> Trigger(IGenericContext <GameEntity> context) { return(context.GetTriggerCollector <AssetComponent>()); }