コガネブログ

平日更新を目標に Unity や C#、Visual Studio、ReSharper などのゲーム開発アレコレを書いていきます

【Unity】uGUI でスクリプトからボタンを押す方法

概要

ExecuteEvents.Execute 関数を使用することで
スクリプトから uGUI のボタンを押すことができます

using UnityEngine;
using UnityEngine.EventSystems;
using UnityEngine.UI;

public class Example : MonoBehaviour
{
    public Button target;

    private void Start()
    {
        target.onClick.AddListener( () => Debug.Log( "ピカチュウ" ) );
    }

    private void Update()
    {
        if ( Input.GetKeyDown( KeyCode.Z ) )
        {
            ExecuteEvents.Execute
            (
                target      : target.gameObject,
                eventData   : new PointerEventData( EventSystem.current ),
                functor     : ExecuteEvents.pointerClickHandler
            );
        }
    }
}

関連記事