SendPickedUpItems
How do I use Send Picked Up Items
Below are practical examples compiled from projects for learning and reference purposes
Featured Snippets
Line | Code | Ex.. |
---|---|---|
20 | this.SendPickedUpItems(newPlayer); | 1 |
81 | SendPickedUpItems(msgInfo.sender); | 2 |
87 | private void SendPickedUpItems(PhotonPlayer targtePlayer) | 3 |
File name: PickupItemSyncer.cs
Copy
16 public void OnPhotonPlayerConnected(PhotonPlayer newPlayer)
17 {
18 if (PhotonNetwork.isMasterClient)
19 {
20 this.SendPickedUpItems(newPlayer);
21 }
22 }
File name: PickupItemSyncer.cs
Copy
73 public void RequestForPickupTimes(PhotonMessageInfo msgInfo)
74 {
75 if (msgInfo.sender == null)
76 {
77 Debug.LogError("Unknown player asked for PickupItems");
78 return;
79 }
80
81 SendPickedUpItems(msgInfo.sender);
82 }
File name: PickupItemSyncer.cs
Copy
87 private void SendPickedUpItems(PhotonPlayer targtePlayer)
88 {
89 if (targtePlayer == null)
90 {
91 Debug.LogWarning("Cant send PickupItem spawn times to unknown targetPlayer.");
92 return;
93 }
94
95 double now = PhotonNetwork.time;
96 double soon = now + TimeDeltaToIgnore;
97
98
99 PickupItem[] items = new PickupItem[PickupItem.DisabledPickupItems.Count];
100 PickupItem.DisabledPickupItems.CopyTo(items);
101
102 List
103 for (int i = 0; i < items.Length; i++)
104 {
105 PickupItem pi = items[i];
106 if (pi.SecondsBeforeRespawn <= 0)
107 {
108 valuesToSend.Add(pi.ViewID);
109 valuesToSend.Add((float)0.0f);
110 }
111 else
112 {
113 double timeUntilRespawn = pi.TimeOfRespawn - PhotonNetwork.time;
114 if (pi.TimeOfRespawn > soon)
115 {
116 // the respawn of this item is not "immediately", so we include it in the message "these items are not active" for the new player
117 Debug.Log(pi.ViewID + " respawn: " + pi.TimeOfRespawn + " timeUntilRespawn: " + timeUntilRespawn + " (now: " + PhotonNetwork.time + ")");
118 valuesToSend.Add(pi.ViewID);
119 valuesToSend.Add((float)timeUntilRespawn);
120 }
121 }
122 }
123
124 Debug.Log("Sent count: " + valuesToSend.Count + " now: " + now);
125 this.photonView.RPC("PickupItemInit", targtePlayer, PhotonNetwork.time, valuesToSend.ToArray());
126 }
SendPickedUpItems 111 lượt xem
Gõ tìm kiếm nhanh...