Unity 編輯器實作是否對話框


建立時間: 2023年6月27日 01:10
更新時間: 2023年6月27日 01:10

說明

如果你在開發 Unity 工具,你可有可能會遇到一些狀況,並且詢問使用者是、否,接著按照回答處理後續的工作,這裡我推薦使用 Unity 內建的對話框就好。

雖然可以節省很多工作,但需注意,這只能在 Editor 內使用,不要將這個功能建置到平台上。

預覽

Preview

使用方法

ATool.cs

using UnityEditor;
using UnityEngine;

/// <summary>
/// 某個工具
/// </summary>
public class ATool : MonoBehaviour
{
    /// <summary>
    /// 檔案名稱
    /// </summary>
    public string fileName;

    private void Run()
    {
        Debug.Log($"檔案 {fileName} 已生成");
    }

    public void ClickButton()
    {
        bool fileNameExist = true;

        if (!fileNameExist)
        {
            Run();

            return;
        }
        bool yesOrNo = EditorUtility.DisplayDialog(
            $"檔案 {fileName} 已存在", "是否覆蓋檔案", "是", "否");

        if (!yesOrNo)
        {
            return;
        }
        Run();
    }
}

先建立一個空物件,添加 ATool 組件,接著再建立一個按鈕,將 ClickButton() 添加在 On Click 清單裡面。

當點擊按鈕後,會先檢查檔案是否存在,如果存在就會使用 EditorUtility.DisplayDialog() 來詢問是否要覆蓋檔案,並將詢問結果儲存在 yesOrNo 變數,最後再根據條件判斷是否需要執行 Run()

詳細的方法說明,請參考官方文件

觀看次數: 537
dialognounityyes對話框
按讚追蹤 Enjoy 軟體 Facebook 粉絲專頁
每週分享資訊技術

一杯咖啡的力量,勝過千言萬語的感謝。

支持我一杯咖啡,讓我繼續創作優質內容,與您分享更多知識與樂趣!