Menambahkan perangkat
Jendela Hierarchy

Memperpanjang simulator perangkat

Simulator Perangkat mendukung plugin untuk memperluas fungsionalitas dan mengubah UI(User Interface) Memungkinkan pengguna untuk berinteraksi dengan aplikasi Anda. Unity saat ini mendukung tiga sistem UI. More info
Lihat di Glossary
dari Panel Kontrol dalam tampilan Simulator.

Membuat plugin

Untuk membuat plugin Simulator Perangkat, memperpanjang kelas DeviceSimulatorPlugin.

Untuk memasukkan UI ke tampilan Simulator Perangkat, plugin Anda harus:

  • Override properti title untuk mengembalikan string non-kosong.
  • Override metode OnCreateUI untuk mengembalikan VisualElement yang mengandung UI.

Jika plugin Anda tidak memenuhi kondisi ini, Simulator Perangkat memutar plugin tetapi tidak menampilkan UI di tampilan Simulator.

Contoh berikut menunjukkan cara membuat plugin yang menimpa properti judul dan menambahkan UI ke tampilan Simulator.

public class TouchInfoPlugin : DeviceSimulatorPlugin
{
    public override string title => "Touch Info";
    private Label m_TouchCountLabel;
    private Label m_LastTouchEvent;
    private Button m_ResetCountButton;

    [SerializeField]
    private int m_TouchCount = 0;

    public override void OnCreate()
    {
        deviceSimulator.touchScreenInput += touchEvent =>
        {
            m_TouchCount += 1;
            UpdateTouchCounterText();
            m_LastTouchEvent.text = $"Last touch event: {touchEvent.phase.ToString()}";
        };
    }

    public override VisualElement OnCreateUI()
    {
        VisualElement root = new VisualElement();
        
        m_LastTouchEvent = new Label("Last touch event: None");
        
        m_TouchCountLabel = new Label();
        UpdateTouchCounterText();

        m_ResetCountButton = new Button {text = "Reset Count" };
        m_ResetCountButton.clicked += () =>
        {
            m_TouchCount = 0;
            UpdateTouchCounterText();
        };

        root.Add(m_LastTouchEvent);
        root.Add(m_TouchCountLabel);
        root.Add(m_ResetCountButton);
            
        return root;
    }

    private void UpdateTouchCounterText()
    {
        if (m_TouchCount > 0)
            m_TouchCountLabel.text = $"Touches recorded: {m_TouchCount}";
        else
            m_TouchCountLabel.text = "No taps recorded";
    }
}
Menambahkan perangkat
Jendela Hierarchy