假设我有两个类:'Ship'和'ShipWeapon'。
IN SHIP:
public void UseItem()
{
components.gun.Shoot((JammerProjectile)collectableItemClass);
}
IN WEAPON:
public void Shoot(JammerProjectile projectileClass)
{
PhotonView photonView = PhotonView.Get(parentShip);
PhotonView photonView2 = parentShip.GetComponent<PhotonView>();
PhotonView photonView3 = parentShip.GetPhotonView();
photonView.RPC("Fire", RpcTarget.AllViaServer);
photonView2.RPC("Fire", RpcTarget.AllViaServer);
photonView3.RPC("Fire", RpcTarget.AllViaServer);
}
只要PunRPC方法在Ship中,这就有效。但是,我想在ShipWeapon中使用它。如果我把它放在ShipWeapon中它似乎工作,直到我在PUN2错误处理中的argumentsTypes上得到null错误时调用。
[PunRPC]
public void Fire()
{
Debug.Log("HI");
}
谁知道怎么来的?
添加额外的PhotonView组件似乎解决了这个问题,虽然不是很理想。