簡體   English   中英

在統一 C# 中從腳本執行 NGUI 按鈕按下

[英]Execute NGUI button press from script in unity C#

我有一個 NGUI 按鈕,它包含UIButtonUIToggle腳本。 從另一個腳本中,我想使用所有相關按鈕 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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM