|
@@ -951,34 +951,48 @@ public class Client : MonoBehaviour
|
|
|
switch (cmd)
|
|
|
{
|
|
|
case ImageCMD.receiveImage:
|
|
|
- var imglen = bytedata.Length - 6;
|
|
|
- byte[] rawdata = new byte[imglen];
|
|
|
+ var fromId = BitConverter.ToUInt32(bytedata, 6); //кому пришло
|
|
|
+ User from = User.Find(fromId);
|
|
|
+ if (from != null)
|
|
|
+ {
|
|
|
+ var imglen = bytedata.Length - 10;
|
|
|
+ byte[] rawdata = new byte[imglen];
|
|
|
|
|
|
- Array.Copy(bytedata, 6, rawdata, 0, imglen);
|
|
|
- textureReceived.LoadImage(rawdata);
|
|
|
+ Array.Copy(bytedata, 10, rawdata, 0, imglen);
|
|
|
+ textureReceived.LoadImage(rawdata);
|
|
|
|
|
|
- if (UserCameraImage != null)
|
|
|
+ if (remoteScript_.SessionCallerId == fromId)
|
|
|
+ {
|
|
|
+ //UserCameraImage == remoteassist image
|
|
|
+ remoteScript_.remoteCamImage.texture = textureReceived;
|
|
|
+ }
|
|
|
+ else if (UserCameraImage != null)
|
|
|
+ {
|
|
|
+ SetResolution(textureReceived.width, textureReceived.height);
|
|
|
+
|
|
|
+ UserCameraImage.SetActive(true);
|
|
|
+ UserCameraImage.GetComponent<RawImage>().texture = textureReceived;
|
|
|
+ var player = PlayerController.instance;
|
|
|
+ UserCameraImage.transform.SetParent(player.UserInfo.transform);
|
|
|
+ player.UserInfo.SetActive(player.broadcast);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ else
|
|
|
{
|
|
|
- SetResolution(textureReceived.width, textureReceived.height);
|
|
|
-
|
|
|
- UserCameraImage.SetActive(true);
|
|
|
- UserCameraImage.GetComponent<RawImage>().texture = textureReceived;
|
|
|
- remoteScript_.remoteCamImage.GetComponent<RawImage>().texture = textureReceived;
|
|
|
- var player = PlayerController.instance;
|
|
|
- UserCameraImage.transform.SetParent(player.UserInfo.transform);
|
|
|
- player.UserInfo.SetActive(player.broadcast);
|
|
|
+ Debug.LogError("Image sender not found, id: " + fromId);
|
|
|
+ User.SendGetUser(fromId);
|
|
|
}
|
|
|
break;
|
|
|
case ImageCMD.streamStart: break;
|
|
|
case ImageCMD.streamStop: break;
|
|
|
}
|
|
|
}
|
|
|
- public void ImageStreamStartSend(uint accid)
|
|
|
+ public void ImageStreamStartSend(uint targetAccountId)
|
|
|
{
|
|
|
MemoryStream ms = new MemoryStream();
|
|
|
ms.WriteByte((byte)ImageCMD.streamStart);
|
|
|
BinaryWriter bw = new BinaryWriter(ms);
|
|
|
- bw.Write(accid);
|
|
|
+ bw.Write(targetAccountId);
|
|
|
|
|
|
//ms.Write(bdata, 0, bdata.Length);
|
|
|
//Debug.Log("imagesend bytes "+ms.ToArray().Length);
|
|
@@ -992,35 +1006,18 @@ public class Client : MonoBehaviour
|
|
|
ms.WriteByte((byte)ImageCMD.streamStop);
|
|
|
BinaryWriter bw = new BinaryWriter(ms);
|
|
|
bw.Write(accid);
|
|
|
-
|
|
|
//ms.Write(bdata, 0, bdata.Length);
|
|
|
//Debug.Log("imagesend bytes "+ms.ToArray().Length);
|
|
|
var data = ConstructVariablePacket(55, ms.ToArray());
|
|
|
SendEnqueue(data);
|
|
|
}
|
|
|
|
|
|
- public void ImageSend(byte[] bdata)
|
|
|
+ public void ImageSend(byte[] bdata, uint targetAccountId)
|
|
|
{
|
|
|
MemoryStream ms = new MemoryStream();
|
|
|
ms.WriteByte((byte)ImageCMD.receiveImage);
|
|
|
- //BinaryWriter bw = new BinaryWriter(ms);
|
|
|
- //bw.Write(1);
|
|
|
-
|
|
|
+ ms.Write(BitConverter.GetBytes(targetAccountId), 0, 4);
|
|
|
ms.Write(bdata, 0, bdata.Length);
|
|
|
- //Debug.Log("imagesend bytes "+ms.ToArray().Length);
|
|
|
- var data = ConstructVariablePacket(55, ms.ToArray());
|
|
|
- SendEnqueue(data);
|
|
|
- }
|
|
|
-
|
|
|
- public void ImageSendRemoteAssist(byte[] bdata, uint targetAccountID)
|
|
|
- {
|
|
|
- MemoryStream ms = new MemoryStream();
|
|
|
- ms.WriteByte((byte)ImageCMD.receiveImage);
|
|
|
- //BinaryWriter bw = new BinaryWriter(ms);
|
|
|
- //bw.Write(1);
|
|
|
-
|
|
|
- ms.Write(bdata, 3, bdata.Length);
|
|
|
- //Debug.Log("imagesend bytes "+ms.ToArray().Length);
|
|
|
var data = ConstructVariablePacket(55, ms.ToArray());
|
|
|
SendEnqueue(data);
|
|
|
}
|