public override int Id => 0x18;//24 public override void Handle(EzClient client, EzPacket packet) { KeySettings keySettings = client.Setting.GetKeySettings(client.Mode); keySettings.KeyOn1 = packet.Data.ReadByte(); keySettings.KeyOn2 = packet.Data.ReadByte(); keySettings.KeyOn3 = packet.Data.ReadByte(); keySettings.KeyOn4 = packet.Data.ReadByte(); keySettings.KeyOn5 = packet.Data.ReadByte(); keySettings.KeyOn6 = packet.Data.ReadByte(); keySettings.KeyAc1 = packet.Data.ReadByte(); keySettings.KeyAc2 = packet.Data.ReadByte(); keySettings.KeyAc3 = packet.Data.ReadByte(); keySettings.KeyAc4 = packet.Data.ReadByte(); keySettings.KeyAc5 = packet.Data.ReadByte(); keySettings.KeyAc6 = packet.Data.ReadByte(); client.Setting.VolumeMenuMusic = packet.Data.ReadByte(); client.Setting.VolumeMenuSFX = packet.Data.ReadByte(); client.Setting.VolumeGameMusic = packet.Data.ReadByte(); client.Setting.VolumeGameSFX = packet.Data.ReadByte(); client.Setting.BgaSettings = new BgaSettings(packet.Data.ReadByte()); client.Setting.SkinPosition = packet.Data.ReadByte(); IBuffer settings = SettingsPacket.Create(client.Setting, client.Mode); Send(client, 0x2D, settings); //45 }
private void OnSessionResponse(Response <Session> result, EzClient client, EzPacket packet) { _logger.Debug("Client ({0}) entered world (SessionKey: {1})", client.Identity, result.Result.Key); client.Session = result.Result; Channel channel = Server.GetChannel(client.Mode, client.Session.ChannelId); channel.Join(client); IBuffer response = EzServer.Buffer.Provide(); response.WriteByte(1); response.WriteByte(0); response.WriteByte(7); //0A? response.WriteByte(0); response.WriteByte((byte)client.Mode); // Mode 0=RubyMix 1=STREET MIX 2=CLUB MIX response.WriteByte(0); response.WriteByte((byte)client.Session.ChannelId); //1-xCH / 0=1ch 1=2ch 2=3ch 3=4ch response.WriteByte(0); Send(client, 1, response); IBuffer characterList = LobbyCharacterListPacket.Create(channel); Send(channel.GetLobbyClients(), 2, characterList); IBuffer announceRoomPacket = RoomPacket.CreateAnnounceRoomPacket(channel); Send(client.Channel.GetLobbyClients(), 13, announceRoomPacket); IBuffer applyInventoryPacket = InventoryPacket.ShowInventoryPacket(client.Inventory); Send(client, 0x21, applyInventoryPacket); IBuffer djPointsPacket = SongPacket.CreateDjPointsPacket(); Send(client, 0x2B, djPointsPacket); //43 IBuffer settings = SettingsPacket.Create(client.Setting, client.Mode); Send(client, 0x2D, settings); //45 }