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

问题描述 投票:0回答:1

假设我有两个类:'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");
    }

谁知道怎么来的?

c# unity3d photon
1个回答
0
投票

添加额外的PhotonView组件似乎解决了这个问题,虽然不是很理想。

© www.soinside.com 2019 - 2024. All rights reserved.