Esempio n. 1
0
        /// <inheritdoc />
        public void Chat(IPlayerEntity player, string chatMessage)
        {
            if (string.IsNullOrEmpty(chatMessage))
            {
                throw new ArgumentNullException(nameof(chatMessage), $"Cannot send an empty message for player {player.Object.Name}.");
            }

            if (chatMessage.StartsWith(ChatCommandPrefix))
            {
                (string, string[])commandInfo = GetCommandParameters(chatMessage);
                IChatCommand chatCommand = _chatCommandManager.GetChatCommand(commandInfo.Item1, player.PlayerData.Authority);

                if (chatCommand == null)
                {
                    throw new ArgumentNullException(nameof(chatCommand), $"Cannot find chat command: ");
                }

                chatCommand.Execute(player, commandInfo.Item2);
            }
            else
            {
                _chatPacketFactory.SendChat(player, chatMessage);
            }
        }