NoaDebugger v1.4.0NoaDebugger v1.4.0
  • v1.6.0
  • v1.5.0
  • v1.4.0
  • v1.3.0
  • v1.2.0
  • v1.1.0
  • v1.0.0
Demo
Contact
Buy
  • 日本語
  • English
  • 日本語
  • English
  • 日本語
  • English
  • 日本語
  • English
  • 日本語
  • English
  • 日本語
  • English
  • 日本語
  • English
  • v1.6.0
  • v1.5.0
  • v1.4.0
  • v1.3.0
  • v1.2.0
  • v1.1.0
  • v1.0.0
Demo
Contact
Buy
  • 日本語
  • English
  • 日本語
  • English
  • 日本語
  • English
  • 日本語
  • English
  • 日本語
  • English
  • 日本語
  • English
  • 日本語
  • English
  • NoaUIElement

NoaUIElement

NoaUIElementは、NOA Debuggerを使用して画面上にさまざまなUI要素を動的に登録および表示するための便利なインターフェースを提供します。
このクラスを使用することで、開発者はUI要素の生成、管理、および位置調整を簡単に行うことができます。

注意:NoaUIElementはuGUIのCanvas内での使用を想定しており、3D空間上での利用はサポートしていません。

api-log

API一覧

Static Methods

API説明
RegisterUIElement(element)新しいUI要素を登録します。
UnregisterUIElement(key)指定されたキーに基づいてUI要素の登録を解除します。
UnregisterAllUIElements()すべてのUI要素の登録を解除します。
IsUIElementRegistered(key)指定されたキーで単一のUI要素が登録されているか確認します。
IsUIElementRegistered()いずれかのUI要素が登録されているか確認します。
SetUIElementVisibility(key, isVisible)単一のUI要素の表示・非表示を設定します。
SetAllUIElementsVisibility(isVisible)すべてのUI要素の表示・非表示を設定します。
IsUIElementVisible(key)指定されたキーで単一のUI要素が表示されているか確認します。
IsUIElementVisible()すべてのUI要素が表示されているか確認します。

サンプルコード

using System.Collections.Generic;
using UnityEngine;
#if NOA_DEBUGGER
using NoaDebugger;
#endif

public class Example
{
    void ExampleMethod()
    {
#if NOA_DEBUGGER

        // テキスト要素を登録(アンカータイプで指定)
        NoaUIElement.RegisterUIElement(
            NoaUITextElement.Create(
                key: "DebugText",                            // UI要素のユニークなキー
                value: () => $"Current Time: {Time.time}",   // テキスト表示内容
                anchorType: AnchorType.UpperLeft,            // アンカーの位置
                updateInterval: 0.5f                         // 更新間隔(秒単位)
            )
        );

        // ボタン要素を登録(親オブジェクトで指定)
        NoaUIElement.RegisterUIElement(
            NoaUIButtonElement.Create(
                key: "ExampleButton",                        // UI要素のユニークなキー
                label: "Click Me",                           // ボタンのラベル
                onClick: OnButtonClicked,                    // ボタンクリック時のコールバック
                parent: parentTransform                      // 親オブジェクトのTransform
            )
        );

        // カスタムオブジェクト要素を登録(アンカータイプで指定)
        GameObject customPrefab = Resources.Load<GameObject>("CustomPrefab");
        NoaUIElement.RegisterUIElement(
            NoaUIObjectElement.Create(
                key: "CustomObject",                         // UI要素のユニークなキー
                prefab: customPrefab,                        // カスタムプレハブ
                onObjectCreated: OnCustomObjectCreated,      // オブジェクト生成時のコールバック
                anchorType: AnchorType.UpperCenter,          // アンカーの位置
                width: 200f,                                 // 幅(ピクセル単位)
                height: 100f                                 // 高さ(ピクセル単位)
            )
        );

        // 任意のタイミングでUI要素を解除
        NoaUIElement.UnregisterUIElement("DebugText");

        // 全てのUI要素を解除
        NoaUIElement.UnregisterAllUIElements();

        // 単一のUI要素が登録されているか確認
        bool isTextRegistered = NoaUIElement.IsUIElementRegistered("DebugText");

        // 少なくとも1つのUI要素が登録されているか確認
        bool hasRegisteredElements = NoaUIElement.IsUIElementRegistered();

        // 単一のUI要素を非表示に設定
        NoaUIElement.SetUIElementVisibility("ExampleButton", false);

        // すべてのUI要素を表示に設定
        NoaUIElement.SetAllUIElementsVisibility(true);

        // 単一のUI要素が表示されているか確認
        bool isButtonVisible = NoaUIElement.IsUIElementVisible("ExampleButton");

        // すべてのUI要素が表示されているか確認
        bool areAllVisible = NoaUIElement.IsUIElementVisible();
#endif
    }

    // ボタンがクリックされた時のコールバック
    void OnButtonClicked()
    {
        Debug.Log("Button was clicked!");
    }

    // カスタムオブジェクトが生成された時のコールバック
    void OnCustomObjectCreated(GameObject obj)
    {
        Debug.Log("Custom object created: " + obj.name);
    }
}