2cf3da36e2f206a26d81f6e34086




0. ๊ฒŒ์ž„ ์˜ค๋ฒ„ ๋•Œ, ๋‹ค๋ฅธ ์ฝ”๋“œ(.cs)๋กœ ๋ถ„๋ฆฌ๋˜์–ด ์žˆ๋Š”, ui ๋„์šฐ๊ธฐ ํ•จ์ˆ˜๋ฅผ ์‹คํ–‰ํ•˜๊ณ  ์‹ถ์–ด

= ui ํ•จ์ˆ˜๋ฅผ public/serializable ํ•œ ๋‹ค์Œ ์ง์ ‘ ๋ถ€๋ฅธ๋‹ค? = ๋ณ‘์‹ 

๋‚˜์ค‘์— ์ฝ”๋“œ ์ˆ˜์ •ํ•˜๋ฉด์„œ ์ข†๋Œ€๋ด๋ผ



1. ๋ธ๋ฆฌ๊ฒŒ์ดํŠธ

ํ•จ์ˆ˜ ๋ณด๊ด€ํ•จ, ํฌ์ธํ„ฐ

ui ํ•จ์ˆ˜/ ๊ฒŒ์ž„์˜ค๋ฒ„ ์Œ์•… ๋“ฑ์„ ํ•จ์ˆ˜ ๋ณด๊ด€ํ•จ์— ๋„ฃ์€ ๋‹ค์Œ,

ํ•จ์ˆ˜ ๋ณด๊ด€ํ•จ ์‹คํ–‰! ํ•˜๋ฉด ์•ˆ์— ๋“ค์–ด๊ฐ„ ํ•จ์ˆ˜ ๋‹ค ์‹คํ–‰๋˜๋Š”๊ฒŒ ๋ธ๋ฆฌ๊ฒŒ์ดํŠธ


๋‹จ์ . ์ฃผ์ธ(์ด๋ฒคํŠธ ๋ฐœ์ƒ๊ธฐ)/ ์˜ต์ €๋ฒ„(๋ฆฌ์Šค๋„ˆ) ๊ตฌ๋ถ„ ์•ˆ๋จ.

๋ฆฌ์Šค๋„ˆ (ui ์ชฝ)์—์„œ ์‹ค์ˆ˜๋กœ ๋ณด๊ด€ํ•จ์„ ์ดˆ๊ธฐํ™” ์‹œ์ผœ๋ฒ„๋ฆด ์ˆ˜ ์žˆ์Œ.


1-2. ๋ธ๋ฆฌ๊ฒŒ์ดํŠธ event

์ฃผ์ธ / ์˜ต์ €๋ฒ„(๋ฆฌ์Šค๋„ˆ) ๊ตฌ๋ถ„ ์‹œํ‚ด



1. unity event

์œ ๋‹ˆํ‹ฐ ์ธ์ŠคํŽ™ํ„ฐ๋กœ ์‚ฌ์šฉํ•˜๋Š” ๋ธ๋ฆฌ๊ฒŒ์ดํŠธ ์ด๋ฒคํŠธ


์ธ์ŠคํŽ™ํ„ฐ์—์„œ ์—ฐ๊ฒฐํ•ด์•ผ ํ•˜๊ธฐ ๋•Œ๋ฌธ์—, ๊ฐ™์€ ๊ทธ๋ฃน/ํ”„๋ฆฌํŒน ๊ตฌ์กฐ์—์„œ ์‚ฌ์šฉ

= ๋กœ์ปฌ(๊ฐ™์€ ์ง€์—ญ) ์—ฐ๊ฒฐ์—์„œ ์ข‹์Œ


+ ๋ธ๋ฆฌ๊ฒŒ์ดํŠธ์™€๋Š” ๋‹ค๋ฅด๊ฒŒ, ๋‹ค๋ฅธ ํ˜•ํƒœ์˜ ํ•จ์ˆ˜๋„ (๋ณด๊ด€ํ•จ์—) ๋“ฑ๋ก ๊ฐ€๋Šฅ

(๋ธ๋ฆฌ๊ฒŒ์ดํŠธ๋Š” ๊ฐ™์€ ํ˜•ํƒœ๋งŒ - int delegate ๋ฉด int ํ•จ์ˆ˜๋งŒ ๋„ฃ๋Š” - ๋“ฑ๋ก ๊ฐ€๋Šฅ)



1. scriptable object event

์œ ๋‹ˆํ‹ฐ ์ด๋ฒคํŠธ(unity event)๋ฅผ ์‚ฌ์šฉํ•ด ์Šคํฌ๋ฆฝํŠธ๋ฅผ ์—ฐ๊ฒฐ

์ฝ”๋“œ๋กœ ์„ ์–ธ, ์‚ฌ์šฉ

= ๊ธ€๋กœ๋ฒŒ(์ „์—ญ) ์—ฐ๊ฒฐ์— ์ข‹์Œ


์—์…‹ํ˜•ํƒœ๋กœ ์ค‘๊ฐ„์—์„œ ์—ฐ๊ฒฐ

์ฃผ์ธ - ์Šคํฌ๋ฆฝํ„ฐ๋ธ” ์˜ค๋ธŒ์ ํŠธ ์ด๋ฒคํŠธ(SOe) - ์˜ต์ €๋ฒ„(๋ฆฌ์Šค๋„ˆ)


1. ์ฃผ์ธ๋„ soe ์ธ์ŠคํŽ™ํ„ฐ ๋“œ๋ž˜๊ทธ ์•ค ๋“œ๋กญ

1. ์˜ต์ €๋ฒ„๋„ soe ์ธ์ŠคํŽ™ํ„ฐ ๋“œ๋ž˜๊ทธ ์•ค ๋“œ๋กญ



๋˜‘๊ฐ™์ด [Serializable] ์ธ์ŠคํŽ™ํ„ฐ ๋“œ๋ž˜๊ทธ ์•ค ๋“œ๋กญ ํ•  ๋•Œ


์ฃผ์ธ <- ์˜ต์ €๋ฒ„ ์ง์ ‘ ๋„ฃ๊ธฐ

= ๋ณ‘์‹ 


์ฃผ์ธ <- SOe

์˜ต์ €๋ฒ„ <- SOe ์ค‘๊ฐœ์ธ ๋„ฃ๊ธฐ

= ์•ˆ๋ณ‘์‹ 


์ด๋Ÿฐ ๋А๋‚Œ