public void SendFigure(FigurePacket packet) { if (PhotonNetwork.InRoom) { var bytes = packet.GetData(); Debug.Log("Net send data: " + bytes.Length); var otherPlayer = PhotonNetwork.PlayerList.FirstOrDefault(p => !p.IsLocal); if (otherPlayer == null) { return; } var ro = new RaiseEventOptions { Receivers = ReceiverGroup.Others }; PhotonNetwork.RaiseEvent(0, bytes, ro, SendOptions.SendReliable); } }
public void OnFigureRecieve(FigurePacket fig) { NetCore.I.ClearPrint(false); enable_spawn = false; var tex = Painter.I.RenderTex(fig.Color, fig.Points); PrepareTexture(tex, Painter.I.ColorsTable[fig.Color], false); Sprite sp = Sprite.Create(tex, new Rect(0, 0, tex.width, tex.height), new Vector2(.5f, .5f)); var go = Instantiate(FigurePrefab, Root); go.GetComponent <Figure>().Color = fig.Color; go.transform.localPosition = new Vector3(0, 0, -20); go.SpriteRenderer.sprite = sp; go.gameObject.AddComponent(typeof(PolygonCollider2D)); go.SpriteRenderer.material = Materials[fig.Color]; go.Init(); Items.Add(go); }
public void OnEvent(EventData photonEvent) { byte eventCode = photonEvent.Code; if (eventCode == 0) { var data = (byte[])photonEvent.CustomData; var f = new FigurePacket(data); OnFigureRecieveAction?.Invoke(f); } if (eventCode == 1) { OnClearPrint?.Invoke((bool)photonEvent.CustomData); } if (eventCode == 2) { OnEndGame?.Invoke((object[])photonEvent.CustomData); } if (eventCode == 3) { OnTransCam?.Invoke((byte[])photonEvent.CustomData); } }