[英]Execute NGUI button press from script in unity C#
我有一個 NGUI 按鈕,它包含UIButton
和UIToggle
腳本。 從另一個腳本中,我想使用所有相關按鈕 state 更改(例如顏色更改等)來運行其click
事件。為此,我找到了此鏈接,這是我的代碼。
public UIButton userManagmentBtn;
public void ClosePanel()
{
Debug.Log("Calling panel Colse");
EventDelegate.Execute(userManagmentBtn.onClick);
}
但是點擊事件沒有使用這個觸發: EventDelegate.Execute
沒有 NGUI 專家,但 afaik 可以調用您可以簡單調用的所有偵聽器
userManagementBtn.OnClick();
此外,為了獲得正確的顏色等,您可以調用SetState
userManagementBtn.SetState(UIButtonColor.State.Pressed, true);
或者,您可以嘗試通過ExecuteEvents.Execute
“手動”發送相應的指針事件,例如
var pointer = new PointerEventData(EventSystem.current);
ExecuteEvents.Execute(userManagementBtn.gameObject, pointer, ExecuteEvents.pointerEnterHandler);
ExecuteEvents.Execute(userManagementBtn.gameObject, pointer, ExecuteEvents.pointerClickHandler);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.