예제 #1
0
파일: Chat.cs 프로젝트: war-man/Mafia.NET
        public bool TrySend(IPlayer player, string text, out MessageOut messageOut)
        {
            messageOut = default;
            if (!Participants.TryGetValue(player, out var participant))
            {
                return(false);
            }

            var messageIn = new MessageIn(participant, text);

            return(TrySend(messageIn, out messageOut));
        }
예제 #2
0
파일: Chat.cs 프로젝트: war-man/Mafia.NET
        public bool TrySend(MessageIn messageIn, out MessageOut messageOut)
        {
            messageOut = default;
            if (!CanSend(messageIn))
            {
                return(false);
            }

            var listeners = new HashSet <IPlayer>();

            foreach (var participant in Participants.Values)
            {
                if (participant.CanReceive())
                {
                    listeners.Add(participant.Owner);
                }
            }

            messageOut = new MessageOut(messageIn, listeners);

            return(messageOut != default);
        }