public void Send(Packet packet) { #region LOGGING string secondaryInfo = string.Empty; if (packet.Type == PacketType.PlaySong) { secondaryInfo = (packet.SpecificPacket as PlaySong).Beatmap.LevelId + " : " + (packet.SpecificPacket as PlaySong).Beatmap.Difficulty; } else if (packet.Type == PacketType.LoadSong) { secondaryInfo = (packet.SpecificPacket as LoadSong).LevelId; } else if (packet.Type == PacketType.Command) { secondaryInfo = (packet.SpecificPacket as Command).CommandType.ToString(); } else if (packet.Type == PacketType.Event) { secondaryInfo = (packet.SpecificPacket as Event).Type.ToString(); if ((packet.SpecificPacket as Event).Type == Event.EventType.PlayerUpdated) { secondaryInfo = $"{secondaryInfo} from ({((packet.SpecificPacket as Event).ChangedObject as Player).Name} : {((packet.SpecificPacket as Event).ChangedObject as Player).DownloadState}) : ({((packet.SpecificPacket as Event).ChangedObject as Player).PlayState} : {((packet.SpecificPacket as Event).ChangedObject as Player).Score} : {((packet.SpecificPacket as Event).ChangedObject as Player).StreamDelayMs})"; } else if ((packet.SpecificPacket as Event).Type == Event.EventType.MatchUpdated) { secondaryInfo = $"{secondaryInfo} ({((packet.SpecificPacket as Event).ChangedObject as Match).SelectedDifficulty})"; } } Logger.Debug($"Sending {packet.ToBytes().Length} bytes: ({packet.Type}) ({secondaryInfo})"); #endregion LOGGING packet.From = Self?.Id ?? Guid.Empty; client.Send(packet.ToBytes()); }
public IAsyncResult Send(Packet packet) { packet.From = Guid.TryParse(Self?.Id, out var g) ? g : Guid.NewGuid(); return(client.Send(packet.ToBytes())); }