본문 바로가기
게임 개발(유니티)/멋쟁이 사자처럼 3기_회고록

[멋쟁이사자처럼 유니티 TIL] 2024_12_04(수) 강의 요약 및 정리(2)

by goraku97 2024. 12. 4.

스크립트로 에디터 커스터마이징하기(괄호 확인 검사)

public class ScopeChecker : EditorWindow

// 클래스 이름은 ScopeChecker 이고, EditorWindow를 상속받았으므로,

   이 클래스는 Unity의 에디터 창을 만들고 제어할 수 있는 클래스

 

private string _text;

// ScopeChecker 클래스 내에서 사용될 private 멤버 변수 _text를 선언하고 있음

  이 변수( _text )는 창 내에서 사용할 텍스트 데이터를 저장하는 용도로 사용

 

[MenuItem("Window/Scope Checker")]

// Unity 에디터 상단 메뉴에 "Window" 메뉴 하위에 "Scope Checker"라는 항목을 생성

  이 항목을 클릭하면 ShowWindow 메서드가 호출

 

public static void ShowWindow()

// ShowWindow는 ScopeChecker 에디터 창을 표시하는 메서드

 

GetWindow<ScopeChecker>("Scope Checker")

// ScopeChecker 창을 가져오거나 새로 만들고, 창의 타이틀을 "Scope Checker"로 설정

 

private void OnGUI()

// Unity 에디터 창에서 UI 요소를 그리는 메서드

 

EditorGUILayout.BeginVertical();

// EditorGUILayout 을 세로로 정렬( BeginVertical() )시키는 메서드.

 

_text = EditorGUILayout.TextArea(_text, GUILayout.Height(300));

- EditorGUILayout.TextArea()

 // 멀티라인 텍스트 입력 필드를 만듭니다. 이 필드에서 사용자는 텍스트를 입력할 수 있음

_text, GUILayout.Height(300)

 // 텍스트( _text ) 필드의 높이를 300픽셀로 설정(.Height(300))

 

if (GUILayout.Button("Check Scope"))

// 만약 Check Scope 라는 버튼을 눌렀다면(true), 하기의 코드를 실행.

 

if (AreBracketsBalanced(_text))

// AreBracketsBalanced 의_text 변수에 있는 문자열의 괄호 균형 여부를 확인

   ture 라면 하기의 코드를 실행.

 

EditorUtility.DisplayDialog("Scope Checker", "Scope Check Success", "OK");

- EditorUtility.DisplayDialog

// Unity 에디터에서 팝업 창을 표시하는 메서드

- "Scope Checker", "Scope Check Success", "OK"

// 창 이름은,Scope Checker  표시되는 메세지는 Scope Check Success

  버튼은 OK 를 생성

 

else

// if 문이 false 면 하기의 코드를 실행

 

EditorUtility.DisplayDialog("Scope Checker", "Scope Check Fail", "OK");

- EditorUtility.DisplayDialog

// Unity 에디터에서 팝업 창을 표시하는 메서드

- "Scope Checker", "Scope Check Success", "OK"

// 창 이름은,Scope Checker  표시되는 메세지는 Scope Check Fail

  버튼은 OK 를 생성

 

EditorGUILayout.EndVertical();

// EditorGUILayout 을 세로로 정렬( BeginVertical() )시켰던 메서드를

   종료시키는 메서드

 

 

[멋쟁이사자처럼 유니티 TIL] 2024_12_04(수) 강의 요약,

public bool AreBreaketBalanced(string expression) 함수 참고 정리(1)

private bool AreBracketsBalanced(string expression)