Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
Tags
- Specular
- working set
- Cell Look
- Cartoon Rendering
- 벡터
- 가상 바이트
- URP
- 메모리 누수
- Private Bytes
- 프로그래밍 기초
- Windows Build
- Cell Shader
- URP로 변경
- 개인 바이트
- OculusMotionVectorPass
- Toon Shader
- ColorGradingLutPass
- Rim Light
- 게임 수학
- VR
- C언어
- Three(Two) Tone Shading
- 작업 집합
- ASW(Application SpaceWarp)
- AppSW
- 3d
- Virtual Byte
Archives
- Today
- Total
WinCNT
유니티 에디터 모드에서 다이얼로그(Dialogue)창 띄우기 본문
서론
현재 제작 중인 스크립트의 버튼이 눌렸을 때 플레이 모드에서는 관련 처리를 실행하고,
에디터 모드면 다이얼로그 창을 표시하고 실행하지 않는 처리를 구현하기 위해 좀 찾아봤다
소스 코드
다이얼로그 창은 아래의 코드로 표시할 수 있었다
bool res1 = EditorUtility.DisplayDialog("Title", "Message", "OK");
bool res2 = EditorUtility.DisplayDialog("Title", "Message", "OK", "Cancel");
int opt = EditorUtility.DisplayDialogComplex("Title", "Message", "OK", "Cancel", "Alt Button");
결과
스크립트의 버튼이 눌렸을 때 플레이 모드인지 아닌지를 판별하는 if문을 추가해서 구현했다
public override void OnInspectorGUI()
{
base.OnInspectorGUI();
CostomScript comp = (CostomScript)target;
if (GUILayout.Button("Button"))
{
if (!Application.isPlaying)
{
bool res1 = EditorUtility.DisplayDialog("Title", "Message", "OK");
bool res2 = EditorUtility.DisplayDialog("Title", "Message", "OK", "Cancel");
int opt = EditorUtility.DisplayDialogComplex("Title", "Message", "OK", "Cancel", "Alt Button");
}
else
{
comp.CustomFunc();
}
}
}
마무리
처음 관련 자료를 찾을 때에는 실제 게임에서 다이얼로그 창(과 비슷한 게임 내의 창)을 띄우는 내용만 나왔었다
검색 키워드에 에디터 모드를 추가하고 나서야 원하는 자료들이 나왔다
역시 검색 키워드가 중요하다…
참고 사이트
'Unity > Unity 관련' 카테고리의 다른 글
유니티의 Bakery(라이트 맵 생성 에셋) 적용기 (0) | 2023.06.20 |
---|---|
유니티 스크립트 게임 오브젝트의 레이어와 카메라의 컬링 마스크를 설정하기 (0) | 2023.05.19 |
URP에서 특정 카메라의 렌더링 후에 호출되는 함수 (0) | 2023.04.25 |
Texture를 PNG파일로 저장하기 (0) | 2023.03.23 |
스크립트로 정점(버텍스) 컬러 변경하기 (0) | 2023.03.17 |