如何使子类中的PunRPC方法起作用?

时间:2019-04-29 12:30:32

标签: c# unity3d photon

比方说,我有两节课:“船”和“船武器”。

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);
    }

只要在Ship中使用PunRPC方法,此方法就起作用。但是,我想在ShipWeapon中使用它。如果我将它放在ShipWeapon中,它似乎可以工作,直到在PUN2错误处理中argumentsTypes出现空错误时调用。

[PunRPC]
    public void Fire()
    {
        Debug.Log("HI");
    }

有人知道怎么来吗?

1 个答案:

答案 0 :(得分:0)

添加一个额外的PhotonView组件似乎可以解决此问题,尽管并不理想。