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()); } }
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(); }
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()); }