Exemple #1
0
        private List <Task> BroadcastEventAsyncHere(ILogicEvent logicEvent, IBroadcastEventRule rule, bool onlyPlayers)
        {
            if (onlyPlayers)
            {
                return(PlayerEntities.Select(s =>
                                             Task.Run(() =>
                                                      rule == null || rule.Match(s.Value)
                            ? s.Value.EmitEventAsync(logicEvent)
                            : Task.CompletedTask)).ToList());
            }

            return(SubstantialEntities.Select(s =>
                                              Task.Run(() =>
                                                       rule == null || rule.Match(s.Value)
                        ? s.Value.EmitEventAsync(logicEvent)
                        : Task.CompletedTask)).ToList());
        }