Как получить доступ к индексу с помощью нажатой кнопки пользовательского интерфейса внутри виджета в Unreal Engine 4 C ++? - PullRequest
0 голосов
/ 29 апреля 2020

Я работаю над меню пользовательского интерфейса, используя Unreal Engine 4 и C ++. У меня есть этот код (взят из этой темы):

H: 
UPROPERTY(meta = (BindWidget)) UButton* TestButton;

UFUNCTION() void OnClick();

CPP:
void UWidgetClassName::NativeConstruct() 
{
    Super::NativeConstruct();

    if (!TestButton->OnClicked.IsBound()) TestButton->OnClicked.AddDynamic(this, &UWidgetClassName::OnClick);
}

void UWidgetClassName::OnClick() 
{
     //I want to access the index of the clicked button here
}

Код немного упрощен, я фактически создаю эти кнопки динамически внутри al oop, поэтому я получаю много кнопок, все из которых вызовите ту же функцию. Есть ли способ «узнать», какая кнопка была нажата, поэтому, например, если я нажимаю первую кнопку, я получаю 1, если я нажимаю вторую, я получаю 2, et c?

Спасибо лот:)

1 Ответ

1 голос
/ 03 мая 2020

Итак, что вы можете сделать, это создать свой собственный класс кнопок, который вы создаете динамически, и при нажатии вы возвращаете некоторую форму идентификатора, например, и индекс, или что-то еще? Если вы хотите сохранить его как правило c, вы также можете добавить их в какой-либо контейнер / список и получить доступ к кнопке Speci c через GetAllChildren в контейнере, который возвращает массив.

Надеюсь, это поможет!

...