28adc277abc236a14e81d2b628f17565ab5355


28adc274abc236a14e81d2b628f17d6cec59


3da8c368f5dc3f8650bbd58b3680736b2cee


์šฐ์„  ์•„์ดํ…œ์€ ๋‹ค์Œ๊ณผ ๊ฐ™์ด ๋งŒ๋“ค์–ด๋‘ .


Item์„ ์™œ ItemDetails์™€ ItemUIlDetailsSO ๋ฅผ ์ •ํ•ด๋‘๋Š”๊ฐ€?


์•„์ดํ…œ ๋””ํ…Œ์ผ์€ ๋Œ€๋ถ„๋ฅ˜, UI๋Š” UI ํ‘œ๊ธฐ์— ๋Œ€๋ถ„๋ฅ˜


๋”ฐ๋ผ์„œ ์ƒ์† ๊ด€๊ณ„๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์Œ


ItemDetails(์•„์ดํ…œ ๋Œ€๋ถ„๋ฅ˜)

ใ„ดItemUIDetailsSO(์ธ๋ฒคํ† ๋ฆฌ UI์ƒ์—์„œ ๋ณด์—ฌ์•ผํ•  ์ •๋ณด๋“ค)

ใ„ดใ„ดItemDetailsSO(์‚ฌ์šฉํ–ˆ์„๋•Œ, ์žฅ์ฐฉํ–ˆ์„๋•Œ ์ €์žฅ๋˜์–ด์•ผํ•  ์ •๋ณด๊ฐ€ ์žˆ๋Š” ๋””ํ…Œ์ผ)


์ด๋ ‡๊ฒŒ ํ–ˆ๊ณ , ์—๋””ํ„ฐ์ƒ์—์„œ๋Š” UI์ƒ์— ํ•„์š”ํ•œ ์ •๋ณด๊นŒ์ง€๋งŒ ํ‘œ๊ธฐํ•˜๊ฒŒํ•จ.


๋ชจ๋“  ํด๋ž˜์Šค๋Š” 1์ฑ…์ž„์„ ๊ฐ€์ ธ์•ผํ•˜๊ธฐ๋•Œ๋ฌธ์—, ๋‚˜์˜ ๊ฒฝ์šฐ ์ธ๋ฒคํ† ๋ฆฌ ๋ฐ์ดํ„ฐ๋ฅผ ์ €์žฅํ•˜๋Š” ๋งค๋‹ˆ์ €์™€,

UI๋ฅผ ๊ทธ๋ ค์ฃผ๋Š” ๋งค๋‹ˆ์ €๊ฐ€ ์žˆ๊ธฐ๋•Œ๋ฌธ์— ๊ทธ ์ฑ…์ž„์— ํ•„์š”ํ•œ ์ •๋ณด๋งŒ ๋„˜๊ฒจ์ค„๋ ค๊ณ .


ํฌ๋ฆฌ์—์ดํŠธ ์—์…‹ ๋ฉ”๋‰ด๋Š”


filenae= ์–ด๋–ค ์ด๋ฆ„์„ ๋‹ฌ ๊ฒƒ์ธ๊ฐ€. ๋‚ด ๊ฒฝ์šฐ์— ์ƒ์„ฑํ•  ๊ฒฝ์šฐ ItemUIDetails_์•„์ดํ…œ ์ด๋ฆ„,

menuName= ์œ ๋‹ˆํ‹ฐ ์—”์ง„ ์ƒ์—์„œ ์šฐํด๋ฆญ ํ›„ ์–ด๋–ค ๋ฉ”๋‰ด๋กœ ์ƒ์„ฑ๋  ๊ฒƒ์ธ๊ฐ€? ์ฐธ๊ณ ๋กœ order๋Š” ๋‚ด๋ฆผ์ฐจ์ˆœ์œผ๋กœ, ๋ฒˆํ˜ธ๊ฐ€ ๋‚ฎ์„์ˆ˜๋ก ์ƒ๋‹จ์— ๋– ์žˆ์Œ

๋”ฐ๋ผ์„œ order0 ,order1 ๋กœ ์ˆœ์„œ๋ฅผ ๋ณ€๊ฒฝํ•  ์ˆ˜ ์žˆ์Œ.


์—ฌ๊ธฐ์—์„œ Eunm์€ ์Šคํƒœํ‹ฑ ํด๋ž˜์Šค๋กœ ์ €์žฅํ•œ ํ›„ ์•„์ดํ…œ์— ํ•„์š”ํ•œ ๋ถ„๋ฅ˜๋“ค์„ ์ €์žฅํ•ด๋‘ .

์ด๋ ‡๊ฒŒ ํ•จ์œผ๋กœ์จ ํ–ฅํ›„ ํ•„์š”์ฒ˜์— ๋”ฐ๋ผ ๋” ํŽธํ•˜๊ฒŒ ํ•  ์ˆ˜ ์žˆ์Œ.



28adc275abc236a14e81d2b628f17169b150a4


์ด๊ฒŒ ์ธ์ŠคํŽ™ํ„ฐ๋ฅผ ์˜ค๋ฒ„๋ผ์ด๋“œ ํ•˜๋Š”๋ฐ

base.OnInspectorGUI(); // ๊ธฐ์กด ์ธ์ŠคํŽ™ํ„ฐ GUI ์š”์†Œ ๊ทธ๋ฆฌ๊ธฐ


๋ฅผ ๊ทธ๋ฆฌ๋Š”๋ฐ, ๋งŒ์•ฝ ๋„ˆ๊ฐ€ ๋ชจ๋“  ์ธ์ŠคํŽ™ํ„ฐ GUI ์š”์†Œ๋ฅผ ์“ธ ํ•„์š”๊ฐ€ ์žˆ๋‹ค๋ฉด ์˜ค๋ฒ„๋ผ์ด๋“œ ํ•  OnInspectorGUI()์— ์ถ”๊ฐ€ํ•˜๋ฉด๋จ


ํ•˜์ง€๋งŒ ๋‚˜์˜ ๊ฒฝ์šฐ์—”


'๋ฉ”์ธ ์นดํ…Œ๊ณ ๋ฆฌ ์„ ํƒ์— ๋”ฐ๋ผ ํ•˜์œ„ ์นดํ…Œ๊ณ ๋ฆฌ๋ฅผ ๋ด์•ผํ•œ๋‹ค.' ๋ผ๊ณ  ๊ฒฐ์ •ํ–ˆ๊ธฐ๋•Œ๋ฌธ์— ์ด๋•Œ๋ฌธ์— Enum์—์„œ ์„œ๋ธŒ ์นดํ…Œ๊ณ ๋ฆฌ์˜ ์‹œ์ž‘์€ None์œผ๋กœ ํ–ˆ๋‹ค.

(๋ฐ˜๋“œ์‹œ None์œผ๋กœ ์‹œ์ž‘ํ•ด์•ผํ•œ๋‹ค. ์•ˆ๊ทธ๋Ÿผ ์—๋””ํ„ฐ์ƒ์—์„  ๋ณด์ด์ง€ ์•Š์ง€๋งŒ, ๋งจ ์ฒ˜์Œ ์„œ๋ธŒ ์นดํ…Œ๊ณ ๋ฆฌ๊ฐ€ ์„ ํƒ๋  ์ˆ˜ ์žˆ๊ธฐ๋•Œ๋ฌธ)


base.OnInspectorGUI(); ๋ฅผ ์‚ฌ์šฉํ•  ๊ฒฝ์šฐ ๊ธฐ๋ณธ์ ์œผ๋กœ ๋ชจ๋“  ํ”„๋กœํผํ‹ฐ๋ฅผ ๋‹ค ๊ทธ๋ ค๋‚ด๊ธฐ๋•Œ๋ฌธ์— ๋‚ด๊ฐ€ ์›ํ•˜๋Š”๊ฒŒ ์•„๋‹ˆ๊ธฐ๋•Œ๋ฌธ์—


์ด ๊ฒฝ์šฐ์—๋Š” SerializedProperty ๋ฅผ ์ด์šฉํ•ด์„œ ๋ณด์—ฌ์ค„ ๊ฒƒ์„ ์ •ํ•ด์•ผํ•จ


๋‚ด ๊ฒฝ์šฐ์—๋Š” ๋ฉ”์ธ ์นดํ…Œ๊ณ ๋ฆฌ๊นŒ์ง€๋Š” ๋‹ค ๋ณด์—ฌ์ค„๊ฑฐ๋ผ ๊ฒฐ์ •ํ–ˆ๊ธฐ๋•Œ๋ฌธ์— ๋ฉ”์ธ ์นดํ…Œ๊ณ ๋ฆฌ ๋ณด์—ฌ์ฃผ๊ณ 


private void ShowSubcategoryField()


๋ฅผ ์ด์šฉํ•ด์„œ ์„œ๋ธŒ ์นดํ…Œ๊ณ ๋ฆฌ ์†์„ฑ ๋ฐ ์ฐพ๊ธฐ๋ฅผ ํ‘œ์‹œํ•จ. ์ด๋ ‡๊ฒŒ ํ•จ์œผ๋กœ์จ ๋ฉ”์ธ ์นดํ…Œ๊ณ ๋ฆฌ์— ๋”ฐ๋ผ์„œ ๋ณด์—ฌ์คŒ

๋”ฐ๋ผ์„œ

์˜ค๋ฒ„๋ผ์ด๋“œ ํ•  ์ธ์ŠคํŽ™ํ„ฐ GUI์„ ์ž์—ฐ์–ด๋กœ ๋งํ•˜๋ฉด ๋‹ค์Œ๊ณผ ๊ฐ™์Œ
---
์•„์ดํ…œ ID
์•„์ดํ…œ ์ด๋ฆ„
์•„์ด์—  ๋ ˆ์–ด๋ฆฌํ‹ฐ
์•„์ดํ…œ ๋ฉ”์ธ ์นดํ…Œ๊ณ ๋ฆฌ
ใ„ด(์•„์ดํ…œ ์„œ๋ธŒ ์นดํ…Œ๊ณ ๋ฆฌ)
์•„์ดํ…œ ๊ทธ๋ฆฌ๋“œ ์‚ฌ์ด์ฆˆ
์•„์ดํ…œ ์Šคํ”„๋ผ์ดํŠธ
์•„์ดํ…œ ์„ค๋ช…

์ธ์ŠคํŽ™ํ„ฐ์— ์ˆ˜์ •๋œ ๊ฐ’ ์‹ค์ œ ๊ฐ์ฒด์— ์ ์šฉ
---
์ด๋Ÿฐ์‹์œผ๋กœ ๋ณด์ด๊ฒŒ ํ• ๋ ค๊ณ 
serializedObject.ApplyModifiedProperties();
์ด๊ฑด ์ธ์ŠคํŽ™ํ„ฐ์—์„œ ์ˆ˜์ •๋œ ๊ฐ’์„ ์‹ค์ œ ๊ฐ์ฒด์— ์ €์žฅํ•˜๋Š”๊ฑฐ์ž„

๊ฒฐ๊ณผ๋ฌผ

3eb2c474abc236a14e81d2b628f1766c6471b9





๋‹ค๋งŒ ๋ถˆํŽธํ•œ๊ฑด ๊ฐœ๋ฐœ ์‚ฌ์–‘์— ๋”ฐ๋ผ์„œ ๋‹น์—ฐํžˆ SO์— ๋ฐ์ดํ„ฐ๋ฅผ ๋” ์ €์žฅํ•˜๋ƒ ๋œ์–ด๋‚ด๋ƒ๊ฐ€ ์žˆ๋Š”๋ฐ


์ผ์ผ์ด ์†์œผ๋กœ ํ•ด์ค˜์•ผํ•˜๋Š”๊ฒŒ ๋‹จ์ ์ž„.


์ฐธ๊ณ ๋กœ ๋‹น์—ฐํžˆ ์–ด์…ˆ๋ธ”๋ฆฌ ๋ถ„๋ฆฌํ•œ ๊ฒƒ์€ Editor์ชฝ์œผ๋กœ ๋นผ์ค˜์•ผํ•˜๋Š” ๊ฒƒ์„ ์žŠ์ง€๋ง๊ณ .


๋‚˜๋Š” ์œ ๋‹ˆํ‹ฐ ์‚ฌ์šฉํ•œ์ง€ ์ด์ œ 8๊ฐœ์›”์งธ๋ผ์„œ ๋…ํ•™์ด๋ผ ์—ฌ๊ธฐ ๋Œ€๋ถ€๋ถ„๋ณด๋‹ค ์‹ค๋ ฅ์—†์œผ๋‹ˆ ์–ด์ฐจํ”ผ ์•Œํ…๋ฐ ๋‚˜์ฒ˜๋Ÿผ ๋…ํ•™ ํ•˜๋Š” ์• ๊ฐ€ ๋ฌผ์–ด๋ด์„œ ์“ด๋‹ค. ๊ทธ๋Ÿผ2๋งŒ


๊ทธ๋Ÿผ 2๋งŒ