Пожалуйста, помогите!
У меня есть компонент Javascript, который ссылается на 2 игровых объекта. Проблема в том, что игровые объекты не существуют при запуске и только создаются, когда игрок присоединяется к сетевой комнате. Сценарий сетевого менеджера находится в C#.
Мне нужно обновить JS-скрипт из скрипта C# при создании экземпляра проигрывателя.
код у меня до сих пор ...Как изменить JS GameObject с помощью C#?
SpawnSpot mySpawnSpot = spawnSpots [Random.Range (0, spawnSpots.Length)];
GameObject myPlayerGO = (GameObject)PhotonNetwork.Instantiate ("PlayerSHIP", mySpawnSpot.transform.position, mySpawnSpot.transform.rotation, 0);
standbyCamera.SetActive (false);
((MonoBehaviour)myPlayerGO.GetComponent ("PlayerControl")).enabled = true;
((MonoBehaviour)myPlayerGO.GetComponent ("PlayerShooting")).enabled = true;
myPlayerGO.transform.FindChild ("CameraCP").gameObject.SetActive (true);
myPlayerGO.transform.FindChild ("LocalShip").gameObject.SetActive (true);
myPlayerGO.transform.FindChild ("RemoteShip").gameObject.SetActive (false);
GameObject test = GameObject.Find ("RadarMgr");
Component test2 = test.GetComponent("3DRadar");
test2.Transforms[0] = "LocalShip";
//test.GetComponent("Radar_Mgr").Transforms[0] = "LocalShip";
Это сеть C# сценарий. Сценарий JS, к которому я хочу получить доступ, является компонентом «3DRadar», который является частью игрового объекта «RadarMgr». «Transforms [0]» является частью сценария JS, который содержит требуемый игровой объект, а «LocalShip» - это игровой объект, который я пытаюсь рассказать сценарию JS. Последние 2 строки - мои неудачные попытки присвоить LocalShip сценарию JS. У меня был другой синтаксис вместо этих двух строк, но ничего не сработало, и именно так оно и осталось.
Другим необходимым объектом был бы объект «CameraCP», но, очевидно, если бы я мог разобраться, как сделать 1, другой будет выполнен таким же образом.
Я искал последние 3 дня здесь, ответы на единицу и общий Google, но если ответ там где-то, я не могу его найти или понять.
Надеюсь, кто-то может пролить свет на это расстраивающее препятствие!
Спасибо!
Какую ошибку вы получаете? Это поможет отследить, что вы делаете неправильно. Он нашел GameObject и т. Д.? Также попробуйте Component test2 = test.GetComponent («3DRadar») как компонент («3DRader»); – marsh
Я не уверен, что любая из последних четырех строк работала честно, так как я не мог получить никакой синтаксической ошибки для последних строк. Я посмотрю, что теперь происходит с ошибками, но я не помню некоторых синтаксисов, которые я пробовал до – MajorParts
. Основная ошибка связана с «Transforms [0]», и я получаю «UnityEngine.Component», который не содержит определение Transforms ". «Transforms [0]» - это то, что я хочу назначить игровому объекту. Сценарий JS имеет это ... "Преобразовывает [0] = GameObject.Find (" _ Player "). Transform;" но это своего рода заполнитель. – MajorParts