[Unity,Editor] SOManagementWindow 제작 일기 Part.4
·
Editor
만든 거 이게 계속 보다보니까 짜치는 점을 발견했다.이게 생성하는 Window인데 너무 단출하고 생성 위치도 직접 못 정해준다. 그래서짜잔, 파일을 선택에서 원하는 위치에 생성할 수 있게 만들었다. 그리고 파일을 선택한다면 그 파일의 이름, 크기, 가지고 있는 파일이 오른쪽에 화면에 뜨게 된다. 구현부Uxml먼저 Uxml과 USS를 만들어야 한다.이건 Uxml이다. 이런 식으로 꾸며주고 SplitView의 Dragline을 없애기 위해서 두개의 USSClass Extract를 해준뒤 Display 탭에 Display를 꺼준다. DragLine이 보이지 않게 된다. 그리고 원래 이렇게 밋밋하게 생긴 Foldout을이렇게 바꿔주었다. 이렇게 바꾸기 위해서.unity-foldout__checkmark, Fol..
[Unity, Editor] SOManagementWindow 제작 일기 Part.3
·
Editor
저번에 만들었던 기능에서 SO에 직접 넣어서 Type을 찾는 것이 불편해서 Assembly를 활용하여 Load하는 방식을 채택하였다.Assembly는 내부적으로 Dictionary로 구현되어 있어 Load가 굉장히 빠른 편이다. 때문에 Assembly를 선택하였다.그리고 이렇게 하면 ScriptableObject를 상속받는 Script가 생길 때마다. 자동으로 업로드를 해준다. 변경된 코드는 거의 없고 추가된 Script가 있다. AssemblyLoadSystem전체 코드using System;using System.Collections.Generic;using System.Diagnostics;using System.Linq;using System.Reflection;using UnityEditor;u..
[Unity, Editor] SOManagementWindow 제작 일기 Part.2
·
Editor
지난번에 발생했던 문제들을 해결하는 방법입니다.저는 이 문제를 해결하기 위해서 VisualElement로 Tab을 구현하고 ScrollView 안쪽에 넣어서 관리 했습니다. 때문에 다음과 같은 함수들이 새로 추가 되었습니다. TabVisualMake/// /// Tab의 Visual를 만드어주는 함수/// /// /// private VisualElement TabVisualMake(string name){ VisualElement tabVisual = new VisualElement(); tabVisual.AddToClassList(_tabClassName); tabVisual.name = name; tabVisual.tooltip = GUID.Generate().ToString..