Как можно в паматр метода впихнуть любой класс C# Unity

Класс ещё не созда но хочу в самом методе инициализирвать сам класс
public GameObject item;

public List<NewShipShop> newShipShops = new List<NewShipShop>();

public TMP_Dropdown ListSelect;
private void Start()
{
    Buy(NewShipShop);
}

public void Buy(System.Object SA)//Вот здесь я хочу использовать класс у которого пока не существует
{
   
   // List<NewShipShop> newShipShops = new List<NewShipShop>();
    object[] Res = Resources.LoadAll(ListSelect.captionText.text + "/");
    for (int i = 0; i < Res.Length; i++)
    {
        newShipShops.Add((NewShipShop)Res[i]);
    }
    for (int i = 0; i < newShipShops.Count; i++)
    {
        GameObject Cell = Instantiate(item);
        Cell.transform.FindChild("Name").GetComponent<TextMeshProUGUI>().text = newShipShops[i].NameShip;
        Cell.transform.SetParent(transform);
        Cell.name = i.ToString();
        int Index = int.Parse(Cell.transform.name);
        Cell.GetComponent<Button>().onClick.AddListener(() => MenuItem.instance.BuyNewShip(newShipShops[Index], transform.parent.gameObject));

        Cell.transform.FindChild("Heallog").GetChild(0).GetComponent<TextMeshProUGUI>().text = newShipShops[i].Heal.ToString();
        Cell.transform.FindChild("Cargo").GetChild(0).GetComponent<TextMeshProUGUI>().text = newShipShops[i].Cargo.ToString();
        Cell.transform.FindChild("Mining").GetChild(0).GetComponent<TextMeshProUGUI>().text = newShipShops[i].MiningSecStart + "s";
    }
}

Ответы (1 шт):

Автор решения: Mr.AntonDer

Unity не поддерживает создание объектов класса через new, для создания шаблона класса, вам необходимо создать такую переменную:

public Class1 class;

Где Class1 - имя вашего класса Затем необходимо заполнить эту переменную в эдиторе, перетащив туда объект, на котором весит скрипт с этим классом

→ Ссылка