我有一個關於RPC和Photon PUN的問題。Unity Photon PUN RPC調用
我在我的遊戲中有1個GameObject,它調用一個RPC方法。這個遊戲對象包含一個C#腳本(包含RPC方法)和PhotonView組件與/沒有(應該是相同的)觀察腳本和ObserveOption等於關閉。
我有一個角色必須拍攝到一個立方體。此多維數據集具有前面描述的腳本和組件。
RPC發送一次(當立方體與彈丸發生碰撞時),但在我的場景中,我有許多立方體應該接收信息,因爲我必須減少擊中立方體的健康狀況。問題是隻有一個Cube接收RPC調用(RPC在遊戲開始時被第一個實例化對象捕獲),但RPC應該被我場景中的所有立方體接收(是嗎?)。
立方體完全相同,但它們具有不同的photonView ID(正確),因此我們可以檢查減少健康的命中立方體是否正確。
這是代碼的顯著部分:
public static void reduceHealthRPC(float damage, int viewID)
{
photonView.RPC("reduceHealth", PhotonTargets.All, damage, viewID);
}
[RPC]
public void reduceHealth(float damage, int viewID)
{
if(this._viewID != viewID)
{
Debug.Log ("The view ID is not mine. My viewID is: " + _viewID + ", and the one which is coming form RPC is: " + viewID);
return;
}
currentHealth -= damage;
Debug.Log("My life is: " + currentHealth);
}
請幫我unerstand我在做什麼錯。 謝謝。