public Transform SortList, SelectedSortsList;
public SortController Prefab;
public GameObject Close;
public void Show()
{
foreach (var sort in Mixer.Instance.Sorts)
{
var s = Instantiate(Prefab, SortList);
s.Show(sort);
}
gameObject.SetActive(true);
}
public void CloseClick()
{
Close.SetActive(false);
}
Вся проблема в том, что переменная Close определяется как компонент. И надо изменить Button на GameObject.
Когда ты пишешь
public Button a;
Ты подразумеваешь, что а - это переменная хранящая компонент.
А тем более когда ты пытаешься этой строчкой:
Close.gameObject.SetActive(false);
Присвоить функции gameObject'a на компонент, то есть ты пытаешься компонент Close использовать как gameObject, а компонент и gameObject это не одно и тоже.
CloseClick() лучше перенести в void Start, или использовать метод поддерживаемый юнити (OnTriggerEnter, OnCollisionEnter и тд)