2016-05-02 24 views
0

Ich habe einen Fehler von Unity erhalten, während ich beschäftigt war, einen Befehl für den Server auszuführen. Der Fehler lautet:UNET: Befehlsfunktion CmdSpawnPlayer auf Server

Befehlsfunktion CmdSpawnPlayer auf Server aufgerufen.

UnityEngine.Debug: LogError (Object)

NetworkHandler: CallCmdSpawnPlayer (Boolean) NetworkHandler: OnEnable() (bei Assets/Scripts/Managers/NetworkHandler.cs: 69)

UnityEngine.Networking. NetworkIdentity: UNetStaticUpdate()

Dabei wird der Code, den ich verwenden:

using UnityEngine; 
using System.Collections; 
using System.Collections.Generic; 
using UnityEngine.Networking; 

public class NetworkHandler : NetworkBehaviour 
{ 
    public Player NetworkPlayer 
    { 
     get; 
     private set; 
    } 

    public bool HasInternet 
    { 
     get 
     { 
      return Network.HavePublicAddress(); 
     } 
    } 

    public bool IsConnectedToServer 
    { 
     get 
     { 
      return networkManager.isNetworkActive; 
     } 
    } 

    [SerializeField] 
    private NetworkManager networkManager; 

    [SerializeField] 
    private GameObject playerPrefab, spectatorPrefab; 

    public void StartClient() 
    { 
     networkManager.StartClient(); 
    } 

    public void StartServer() 
    { 
     networkManager.StartServer(); 
    } 

    [Command] 
    private void CmdSpawnPlayer(bool isSpectator) 
    { 
     SpawnPlayer(isSpectator); 
    } 

    private void SpawnPlayer(bool isSpectator) 
    { 
     if (isSpectator) 
     { 
      NetworkServer.SpawnWithClientAuthority(Instantiate(spectatorPrefab), connectionToClient); 
     } 
     else 
     { 
      NetworkServer.SpawnWithClientAuthority(Instantiate(playerPrefab), connectionToClient); 
     } 
    } 

    private void OnEnable() 
    { 
     if (IsConnectedToServer) 
     { 
      CmdSpawnPlayer(true); 
      Game.CameraHandler.InstantiateMode(); 
     } 
    } 
} 

Die Unity-Version ist Verwendung ist 5.3.4f1.

Ich hoffe, Sie können mir helfen, dieses Problem zu lösen.

Skittluier

Antwort

0

Okay, vergiss es. Es scheint, dass ich CmdSpawnPlayer (true) genannt habe; vom Server statt vom LocalClient.