示例#1
0
文件: NetCore.cs 项目: iSnaker/tetris
    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);
        }
    }
示例#2
0
    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);
    }
示例#3
0
文件: NetCore.cs 项目: iSnaker/tetris
    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);
        }
    }