0

我有一个 2 人游戏。一个用户成为服务器另一个客户端。当他们连接以添加塔时,我从两侧调用方法“buttonclicked”。

当从成为服务器的一侧调用“buttonclicked”方法时,代码执行良好,并且在服务器一侧和客户端一侧都生成了一个敌人。

但是,当从客户端运行相同的代码时,不会在成为服务器的一侧生成敌人。

下面是代码

 public void buttonclicked(int enemyID){
     CmdgenerateEnemies(enemyID);
 }

 [Command]
 public void CmdgenerateEnemies(int enemyID)
 {
    RpcgenerateEnemywithID(enemyID);
 }

 [ClientRpc]
 public void RpcgenerateEnemywithID(int enemyID)
 {
     enemyID = 1; // hardcoded for testing
     for(int i = 0; i < enemiesArray.Length; i++) 
     {
         GameObject enemy = enemiesArray [i];
         if(enemy.GetComponent<EnemyScript>().enemyId == enemyID) 
         {
             GameObject einstance = Instantiate(enemy, spawnPoint1);
             einstance.transform.parent = canvas.transform;
             einstance.GetComponent<splineMove>().pathContainer = topPath[1];
         }
     }
 }
4

0 回答 0