簡體   English   中英

使用 Photon Unity Networking 在客戶端之間復制對象數據

[英]Copy object data between clients using Photon Unity Networking

我有一個結構如下的類:

public class Game : MonoBehaviour 
{
    public string Name { get; set;} 
    public int NumberOfPlayers { get; set; }
    public int CurrentPlayers { get; set; }

    public Game(string name, int num)
    {
            Name = name;
            NumberOfPlayers = num;
            CurrentPlayers = 0;
    }

我在游戲開始使用時創建了一個全局變量

public static Game firstGame;

使用 Photon Unity Networking,如何在我創建的所有客戶端之間共享此單個對象的信息?

您可以創建一個 RPC 來發送游戲類的 3 個變量,然后在接收客戶端上,他們根據發送的數據創建一個 Game 對象。

您可以通過其他玩家創建 RPC 調用,將這些值放入字典對象中,然后在 RPC 調用中傳遞該對象。 另一方面,您可以解開這個對象。

例如:

Dictionary<string, string> dataToShare = new Dictionary<string, string>();
dataToShare.Add("PlayerFirstName", PlayerInformation.loginDetails.FirstName);
dataToShare.Add("Avatar", PlayerInformation.loginDetails.Avatar);
photonView.RPC("InitializeMyPlayerRPC",PhotonTargets.OthersBuffered,new object[]{ dataToShare});

[PunRPC]

void InitializeMyPlayerRPC(object dataToShare)
{
    Dictionary<string, string> data = dataToShare as Dictionary<string, string>;          
    player.Name = data["PlayerFirstName"].ToString();
    player.Avatat = data["Avatar"].ToString();
}

我知道你已經做了,但如果有人需要,它會幫助他們。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM