结合Photon的PUN 2的倒数计时器

时间:2018-11-21 01:48:24

标签: c# unity3d photon

在我的游戏中,我需要创建一个与所有玩家同步的倒计时计时器,该计时器需要位于DontDestroyOnLoad(支持场景更改)上,因为在我的游戏中,这些场景更改很多。你知道我该怎么做吗? PS:我使用的是Photon的PUN2,因此,几乎所有PUN1都不起作用。

1 个答案:

答案 0 :(得分:0)

使用光子在多人游戏中实现计时器的最简单方法。使用Timer在用户界面上应用此脚本

bool startTimer = false;
double timerIncrementValue;
double startTime;
[SerializeField] double timer = 20;
ExitGames.Client.Photon.Hashtable CustomeValue;

void Start()
 {
     if (PhotonNetwork.player.IsMasterClient)
     {
         CustomeValue = new ExitGames.Client.Photon.Hashtable();
         startTime = PhotonNetwork.time;
         startTimer = true;
         CustomeValue.Add("StartTime", startTime);
         PhotonNetwork.room.SetCustomProperties(CustomeValue);
     }
     else
     {
         startTime = double.Parse(PhotonNetwork.room.CustomProperties["StartTime"].ToString());
         startTimer = true;
     }
 }

void Update()
 {
     if (!startTimer) return;
     timerIncrementValue = PhotonNetwork.time - startTime;
     if (timerIncrementValue >= timer)
     {
        //Timer Completed
        //Do What Ever You What to Do Here
     }
 }