Exemplo n.º 1
0
 public virtual void TriggerMailBox()
 {
     snap = Camera.main.gameObject.GetComponent <PlayerSnap> ();
     if (snap.TextureToSend != null)
     {
         Debug.Log("RPC");
         Debug.Log(snap.TextureToSend.EncodeToPNG().Length);
         photonView.RPC("ListenMailBox", PhotonTargets.Others, snap.TextureToSend.EncodeToJPG());
     }
 }
Exemplo n.º 2
0
    protected virtual void ListenMailBox(byte[] receivedByte)
    {
        Debug.Log("oker");
        receivedTexture = new Texture2D(1, 1);
        receivedTexture.LoadImage(receivedByte);
        isFull = true;
        snap   = Camera.main.gameObject.GetComponent <PlayerSnap> ();
        snap.SetTexture(receivedTexture);

        soundSource.clip = outboxSound;
        soundSource.Play();
    }
Exemplo n.º 3
0
    private string BuildPacketString(SnapShot sn)
    {
        sb.Clear();
        sb.Append(_game.World.LocalSnapNum);
        sb.Append(",");
        // players
        foreach (Peer p in PeerList)
        {
            Vector3 org  = p.Player.ServerState.Origin;
            Vector3 velo = p.Player.ServerState.Velocity;
            Vector3 rot  = p.Player.ServerState.Rotation;

            PlayerSnap ps = new PlayerSnap();
            ps.Origin   = org;
            ps.Velocity = velo;
            ps.NodeName = p.Player.Name;
            ps.Rotation = rot;
            ps.CmdQueue = p.Player.pCmdQueue;
            sn.PlayerSnap.Add(ps);

            sb.Append((int)ENTITYTYPE.PLAYER);
            sb.Append(",");
            sb.Append(p.ID);
            sb.Append(",");
            sb.Append(p.Ping);
            sb.Append(",");
            sb.Append(p.Player.CurrentHealth);
            sb.Append(",");
            sb.Append(p.Player.CurrentArmour);
            sb.Append(",");
            sb.Append(org.x);
            sb.Append(",");
            sb.Append(org.y);
            sb.Append(",");
            sb.Append(org.z);
            sb.Append(",");
            sb.Append(velo.x);
            sb.Append(",");
            sb.Append(velo.y);
            sb.Append(",");
            sb.Append(velo.z);
            sb.Append(",");
            sb.Append(rot.x);
            sb.Append(",");
            sb.Append(rot.y);
            sb.Append(",");
            sb.Append(rot.z);
            sb.Append(",");
            float weaponType = (float)((p.Player.ActiveWeapon == null) ? WEAPONTYPE.NONE : p.Player.ActiveWeapon.WeaponType);
            sb.Append(weaponType);
            sb.Append(",");
        }

        // projectiles
        foreach (Projectile p in _game.World.ProjectileManager.Projectiles)
        {
            sb.Append((int)ENTITYTYPE.PROJECTILE);
            sb.Append(",");
            sb.Append(p.Name);
            sb.Append(",");
            sb.Append(p.PlayerOwner.ID);
            sb.Append(",");
            sb.Append((int)p.Weapon);
            sb.Append(",");
            sb.Append(p.GlobalTransform.origin.x);
            sb.Append(",");
            sb.Append(p.GlobalTransform.origin.y);
            sb.Append(",");
            sb.Append(p.GlobalTransform.origin.z);
            sb.Append(",");
            sb.Append(p.Velocity.x);
            sb.Append(",");
            sb.Append(p.Velocity.y);
            sb.Append(",");
            sb.Append(p.Velocity.z);
            sb.Append(",");
            sb.Append(p.Rotation.x);
            sb.Append(",");
            sb.Append(p.Rotation.y);
            sb.Append(",");
            sb.Append(p.Rotation.z);
            sb.Append(",");
        }

        if (sb.Length > (_game.World.LocalSnapNum.ToString().Length + 1))
        {
            sb.Remove(sb.Length - 1, 1);
        }
        return(sb.ToString());
    }