我有一个结构如下的课程:
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,如何在我创建的所有客户端之间共享此单个对象的信息?
答案 0 :(得分:0)
您可以创建一个RPC来发送游戏类的3个变量,然后在接收客户端上根据发送的数据创建游戏对象。
答案 1 :(得分:0)
您可以在其他播放器上创建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();
}
我知道您已经做过,但是如果有人需要,它将为他们提供帮助。