示例#1
0
        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);
            }
        }
示例#2
0
 private static ICollector <GameEntity> Trigger(IGenericContext <GameEntity> context)
 {
     return(context.GetTriggerCollector <MatchedComponent>(GroupEvent.Added));
 }
示例#3
0
 private static ICollector <InputEntity> Trigger(IGenericContext <InputEntity> context)
 {
     return(context.GetTriggerCollector <RestartComponent>());
 }
示例#4
0
 private static ICollector <GameEntity> Trigger(IGenericContext <GameEntity> context)
 {
     return(context.GetTriggerCollector <AssetComponent>());
 }