Ниже приведена функция, которую выполняет кнопка, и функция для создания кнопки (в этом порядке)
Код: Выделить всё
public void makeProgram(int i, Button button)
{
GameObject obj = Instantiate(ProgramObject, programHolder);
programs.Add(obj.GetComponent
());
obj.GetComponent().gameManager = this;
obj.GetComponent().localPosition = button.transform.localPosition;
Destroy (button.gameObject);
}
public void makeButton(int i)
{
Button button = Instantiate(ProgramBuyButton, programHolder)
.GetComponent();
button.name = i+"";
button.GetComponent().localPosition = Tools.makeProgramPosition(i - 1);
button.onClick.AddListener(() => makeProgram(i, button));
}
Код: Выделить всё
// now issue the enter call up to but not including the common root
Transform oldPointerEnter = eventData.pointerEnter?.transform;
eventData.pointerEnter = currentPointerTarget;
(здесь ошибка в Pastebin, потому что я не знаю, стоит ли помещать это сюда)
Я пытался найти способ «безопасно» уничтожить кнопку, но не могу найти ничего, что связано с системой событий, мне хочется отодвинуть ее от курсора и использовать сопрограмму, чтобы уничтожить ее после немного (отредактируйте: я тестировал это, и это работает, но все же хотелось бы более приятного решения) работало бы, но также не было бы самым элегантным, и я хочу найти лучший способ справиться с этим. Спасибо за чтение, и я надеюсь, что для этого есть лучшее решение.
Подробнее здесь: https://stackoverflow.com/questions/791 ... t-has-been