// // SimpleChat.cs // // Copyright (c) František Boháček. All rights reserved. // Licensed under the MIT license. See LICENSE file in the project root for full license information. using Microsoft.Extensions.DependencyInjection; using Microsoft.Extensions.Logging; using NosCore.Packets.Enumerations; using NosCore.Packets.ServerPackets.Chats; using NosCore.Shared.Enumerations; using NosSmooth.Core.Client; using NosSmooth.Core.Packets; using NosSmooth.LocalClient.Extensions; namespace SimpleChat; /// /// The main simple chat class. /// public class SimpleChat { /// /// Run the client. /// /// The task that may or may not have succeeded. public async Task RunAsync() { var provider = new ServiceCollection() .AddLocalClient() // .AddPacketResponder() .AddLogging(b => { b.ClearProviders(); b.AddConsole(); b.SetMinimumLevel(LogLevel.Debug); }) .BuildServiceProvider(); var dummy1 = provider.GetRequiredService().ServerSerializer; var dummy2 = provider.GetRequiredService().ClientSerializer; var logger = provider.GetRequiredService>(); logger.LogInformation("Hello world from SimpleChat!"); var client = provider.GetRequiredService(); await client.ReceivePacketAsync(new SayPacket() { Message = "Hello world from NosSmooth!", VisualType = VisualType.Player, Type = SayColorType.Red, VisualId = 1, }); await client.RunAsync(); } }