SRDebugger를 통한 Option Contaainers 제어 디스플레이 카테고리

5560 단어 Unity
Unity에서 SRDebugger를 사용하여 디버깅을 할 때 특정 장면이나 시간에만 사용하고 싶은 옵션 등이 있고, 옵션의 표시 순서를 다양하게 선택하고 싶을 때 OptionContaainers를 이용하면 비교적 쉽게 조정할 수 있기 때문에 필기를 해야 한다

OptionContainers


OprionContainers는 C#의 Object 단위로 옵션 속성 및 메소드를 관리합니다.
다음은 공식 페이지에서 인용한 것이다.

이번에 기초반을 했어요.
/// <summary>
/// 各カテゴリーのオプション群のベースクラス
/// </summary>
public class OptionsBase<T> where T : class, new()
{
    private static T _current;
    public static T Current => _current ?? (_current = new T());

    /// <summary>
    /// 全オプションに必要そうなオブジェクト
    /// </summary>
    protected DataObject _dataObject;
    protected DataObject DataObject
    {
        get
        {
            if (_dataObject == null)
            {
                //初期処理
            }

            return _dataObject;
        }
    }
}
그런 다음 데이텀에 따라 카테고리 단위로 표시되는 옵션 그룹을 지정합니다. 카테고리 단위로 표시되지 않을 수도 있습니다.
/// <summary>
/// 特定のカテゴリのデバッグオプション
/// </summary>
public class TestOptions : OptionsBase<TestOptions>
{
    /// <summary>
    /// カテゴリー名
    /// </summary>
    private const string CATEGORY_TEST = "カテゴリ名";

    /// <summary>
    /// PlayerPrefsきれいにしたり
    /// </summary>
    [Category(CATEGORY_TEST)]
    [SROptions.DisplayName("PlayerPrefs削除")]
    [SROptions.SortAttribute(0)]
    public void DeletePlayerPrefs
    {
        PlayerPrefs.DeleteAll();
    }
}
그런 다음 언제든지 선택적 패널에 추가 또는 삭제
 private void Start()
 {
     // 開始時にオプションを表示
     SRDebug.Instance?.AddOptionContainer(TestOptions.Current);
 }

 private void OnDestroy()
 {
     // シーン破棄時にオプションを非表示
     SRDebug.Instance?.RemoveOptionContainer(TestOptions.Current);
 }
원래 SRDebugger에는 분류별 정렬이 없지만 (있으면 지적해 주십시오) 추가된 순서 등을 제어함으로써 임의의 위치에 놓을 수 있습니다
이걸로 뒷면에 Attribute를 확장하면 표시 순서가 상당히 자유로워져서 한번 해보면 쉬울 것 같아요.

좋은 웹페이지 즐겨찾기