Unity: почему параметры не передаются из сценария A в сценарий B? - PullRequest
0 голосов
/ 21 ноября 2019

поэтому у меня есть 2 сценария, и я задаю некоторые параметры, которые бы идентифицировались как отправка от одного к другому, но я не уверен, что он вызывается?

Этот сценарий SaveDetails.cs

public class SaveDetails : MonoBehaviour
{
    //In inspector, drag in the GameObject that has this script attached to it
    public ViewDetails accessDetails = new ViewDetails();

    void SendDetails()
    { 
        //newFolder and NewTextfile are strings that are paths
        accessDetails.GetDetails(newFolder, NewTextfile);
    }
}

Отправить в этот скрипт ViewDetails.cs

public class ViewAlbum : MonoBehaviour
{
    public GameObject EditAlbumCanvas, ViewAlbumCanvas;
    public Text DetailsName, DetailsDate, DetailsDesc;

    public void GetDetails(string DetailsPath, string TextFilePath)
    {
        //This happens
        EditCanvas.SetActive(false);
        ViewCanvas.SetActive(true);

        //This Text UI remains empty. Does that mean DetailsPath is empty?
        DetailsPath = AlbumName.text;
    }
}

Ответы [ 2 ]

1 голос
/ 21 ноября 2019

Вы просто переворачиваете два термина:

DetailsPath = AlbumName.text;

Что вы должны написать:

AlbumName.text = DetailsPath;

И почему вы создаете экземпляр accessDetails? Просто перетащите его в редактор, как ваш комментарий говорит

//In inspector, drag in the GameObject that has this script attached to it
public ViewDetails accessDetails;
0 голосов
/ 21 ноября 2019

Метод "конструктор" для монобихиора это либо Start or Awake , см. Здесь их порядок . Таким образом, вы ничего не можете сделать в их конструкторе.

Во-вторых, вы не можете создать новый МБ с помощью new MyMB(), вам нужно использовать gameObject.AddComponent<MyMB>() и использовать результат этого для назначения ссылки на что-либо еще. То же самое можно сказать и о gameObject.GetComponent<MyMB>().

. Я настоятельно рекомендую вам ознакомиться с некоторыми учебниками по Unity, поскольку вы не можете просто использовать то, что используется в C # в Unity. Вот полный обзор .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...