[Unity] SRDebugger 태그의 확장 방법

14601 단어 AssetStoreUnityAsset

개시하다


이 보도는 샘 사프 어드벤트 캘린더 2017의 23일째 보도다.
어제noguchi_toma선생님그룹 캡처 도구/Charles 시도입니다!
※ 이것도 [Unity] SRDebugger의 사용 방법과 확장 방법에 대한 소개의 추가 보도입니다.

SRDebugger

  • 콘솔 로그를 실제 시스템으로 확인하고 싶어요
  • Professional Form
  • 특정 상태를 재현하기 위해 캐릭터의 상태 등을 변경하고 싶다
  • 나는 상술한 기능을 필요로 하는 장소가 매우 많다고 생각한다.
    이러한 요구 사항을 쉽게 달성할 수 있는 자산은 SRDebugger - Console & Tools On-Device입니다.

    실제 컴퓨터로 콘솔 로그 확인



    실제 기기로 전문 서류를 확인하다.



    옵션 탭에 디버깅 기능 설치



    태그 확장 방법


    이번에는 자신의 옵션 라벨을 예로 들어 제작한다.

    원래 옵션 레이블의 프리셋 작성

    Assets > StompyRobot > SRDebugger > Resources > SRDebugger > UI > Prefabs > Tabs > Options.prefab 복사(Ctrl+D)를 수행하여 복사된 사전 제작 부품의 이름을 Original Options로 변경합니다.

    SRTab 구성 요소의 매개 변수 편집



    SRTab Title과 Key를 Original Options로 만듭니다.
    SRDebugger를 시작하면 Original Options 태그가 추가되었음을 확인할 수 있습니다.
    그러나 Options 레이블에 추가된 디버깅 기능을 참조해 별도의 옵션으로 작동하지는 않았다.

    스크립트 만들기


    복제된 스크립트 이름을 Original SROptions로 변경하는 복제(Ctrl+D)

    스크립트를 열고 처음 delegate를 제거하고 SROptions 위치를 Original SROptions로 변경합니다.
    public partial class OriginalSROptions
    {
        private static readonly OriginalSROptions _current = new OriginalSROptions();
    
        public static OriginalSROptions Current
        {
            get { return _current; }
        }
    
        public event SROptionsPropertyChanged PropertyChanged;
    #if UNITY_EDITOR
        [JetBrains.Annotations.NotifyPropertyChangedInvocator]
    #endif
        public void OnPropertyChanged(string propertyName)
        {
            if (PropertyChanged != null)
            {
                PropertyChanged(this, propertyName);
            }
        }
    }
    

    Or i ginalOptionsTabController 구성 요소 만들기


    Or i ginalOptionsTabController.cs를 생성합니다.

    OptionsTabController 구성 요소를 상속하는 스크립트를 엽니다.
    Start 이벤트 메소드를 덮어쓰고 Populate 메소드를 기본 클래스 메소드를 숨겨 Original SROptions를 봅니다.
    using System.Collections.Generic;
    using SRDebugger.Internal;
    
    
    namespace SRDebugger.UI.Tabs
    {
        public class OriginalOptionsTabController : OptionsTabController
        {
            protected override void Start()
            {
                PinButton.onValueChanged.AddListener(SetSelectionModeEnabled);
                PinPromptText.SetActive(false);
                Populate();
            }
    
            protected new void Populate()
            {
                var sortedOptions = new Dictionary<string, List<OptionDefinition>>();
    
                foreach (var option in SRDebuggerUtil.ScanForOptions(OriginalSROptions.Current))
                {
                    // Find a properly list for that category, or create a new one
                    List<OptionDefinition> memberList;
    
                    if (!sortedOptions.TryGetValue(option.Category, out memberList))
                    {
                        memberList = new List<OptionDefinition>();
                        sortedOptions.Add(option.Category, memberList);
                    }
    
                    memberList.Add(option);
                }
    
                var hasCreated = false;
    
                foreach (var kv in sortedOptions)
                {
                    if (kv.Value.Count == 0)
                    {
                        continue;
                    }
    
                    hasCreated = true;
                    CreateCategory(kv.Key, kv.Value);
                }
    
                if (hasCreated)
                {
                    NoOptionsNotice.SetActive(false);
                }
            }
        }
    }
    

    원래 옵션 레이블의 프리셋에 생성된 어셈블리를 첨부합니다.


    선택Assets > StompyRobot > SRDebugger > Scripts > SROptions.csOptionsTabController 구성 요소를 Or i ginalOptionsTabController 구성 요소로 바꿉니다.
    탭의 확장은 이것으로 끝냅니다.

    Inspector 모드를 정규에서 Debug으로 변경하면 같은 이름의 구성원 변수의 매개변수를 상속하여 구성 요소를 교체할 수 있습니다.

    원본 옵션 탭에 디버깅 기능 설치


    디버그 기능 설치

    using UnityEngine;
    using System.ComponentModel;
    
    
    /// <summary>
    /// 独自のデバッグ機能
    /// </summary>
    public partial class OriginalSROptions
    {
        #region 定数
    
        /// <summary>
        /// オリジナルカテゴリ
        /// </summary>
        private const string OriginalCategory = "Original";
    
        #endregion
    
    
        #region デバッグ機能
    
        [Category(OriginalCategory)]
        [DisplayName("ポーズ")]
        [SROptions.Sort(0)]
        public void Pause()
        {
            Time.timeScale = 0f;
        }
    
        #endregion
    }
    

    실행 결과



    참고 문장


    [Unity] 첨부된 스크립트를 Inspector 드래그 앤 드롭으로 대체하는 방법

    끝말


    SRDebugger는 도입의 간편성과 높은 확장성을 겸비한 우수한 자산이다.
    흥미를 끄는 사람은 손에 넣을 수 있다.
    내일샘 사프 어드벤트 캘린더 2017ninomiya_shota파동의 소용돌이!극 좌표를 기반으로 이동하는 회전 확장기를 만들어 보았다입니다!

    좋은 웹페이지 즐겨찾기