我對Unity相當陌生,對網絡概念非常陌生。我試圖通過NetworkManager遊戲組件將包含自定義OnServerAddPlayer函數的NetworkManager腳本附加到空遊戲對象。但是,當我嘗試這樣做時,我收到「腳本類無法找到......確保文件名和腳本類匹配」錯誤。如何實施網絡管理員?
我的研究隱約暗示,也許只有MonoBehaviour腳本可以附加到GameObjects(?),但我一直無法找到任何明確說明這一點的地方。如果無法將NetworkManager腳本附加到GameObjects,那麼NetworkManager組件上的變量如何像startPositions和spawnPrefabs一樣引用?是否需要將該腳本附加到要調用的public override OnServerAddPlayer (NetworkConnection conn, short playerControllerId) {...}
的GameObject?
預先感謝您!
編輯: 這裏是我的腳本:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.Networking;
class PlayerManager : NetworkManager {
int roundRobin = 0;
public GameObject newPlayerParent;
NetworkManager manager;
public override void OnServerAddPlayer (NetworkConnection conn, short playerControllerId) {
manager = gameObject.GetComponent<NetworkManager>();
Transform positionObject = manager.startPositions [roundRobin];
GameObject newPlayer = GameObject.Instantiate(manager.spawnPrefabs[roundRobin], positionObject.position, positionObject.rotation, newPlayerParent.transform);
}
}
我試圖通過項目視圖中拖動到檢查用NetworkManager的,NetworkManagerHUD空對象附上腳本,NetworkDiscovery組件連接。
發佈您的腳本並解釋/顯示您如何將它附加到您的對象 – Programmer