2์›” ๋ณด๋ฆ„ ๋‚จ์ง“๋™์•ˆ C#์„ ๊ณต๋ถ€ํ•˜๋ฉด์„œ ํ…์ŠคํŠธ RPG๊ฒŒ์ž„ ๋ฐ๋ชจ๋ฅผ ์ž‘์„ฑํ–ˆ์—ˆ๋‹ค


๋Œ€์ถฉ ํ„ด์ œ ์ „ํˆฌ, ์•„์ดํ…œ ์กฐํ•ฉ ์ •๋„๋ฅผ ๊ตฌํ˜„ํ–ˆ์—ˆ๊ณ  "์ด์•ผ 1970๋…„๋Œ€์— ๋งŒ๋“ค์—ˆ์œผ๋ฉด ํŒ”๋ ธ๊ฒ ๋‹ค" ์‹ถ์€ ์ž์‹ ๊ฐ์ด ์†Ÿ์•˜์—ˆ๋‹ค


ํ•˜์ง€๋งŒ ๊ทธ ์ž์‹ ๊ฐ์€ 1๋…„๋งŒ์— ์œ ๋‹ˆํ‹ฐ๋ฅผ ๋‹ค์‹œ ์ผœ๋ฉด์„œ ๋ฐ•์‚ด๋‚˜๊ณ  ๋ง์•˜๋‹ค



C# ์ฝ˜์†”์•ฑ ๊ฐœ๋ฐœํ™˜๊ฒฝ์—์„œ๋Š” ์ž…๋ฌธ์ž๊ฐ€ ํ• ๋งŒํ•œ ์ˆ˜์ค€์—์„œ ๋Ÿฐํƒ€์ž„ ์˜ค๋ฅ˜๊ฐ€ ๋‚ ๋งŒํ•œ ์š”์†Œ๋„ ๊ฑฐ์˜ ์—†์—ˆ๊ณ 


๋น„์ฃผ์–ผ ์ŠคํŠœ๋””์˜ค์˜ ์‹ ํƒ์Šค ํ•˜์ด๋ผ์ดํŒ…, ์ธํ…”๋ฆฌ์„ผ์Šค ๋“ฑ ์ข‹์€ ๊ธฐ๋Šฅ๋“ค์„ ๋“ฑ์— ์—…๊ณ 


์ปดํŒŒ์ผ ์˜ค๋ฅ˜๋ฅผ ๋ฐ”๋กœ๋ฐ”๋กœ ์žก์•„๋‚ด๊ฐ€๋ฉฐ ์ž˜ ์‹คํ–‰๋˜๋Š” ๊ฒƒ์„ ๋น ๋ฆฟํ•˜๊ฒŒ ํ™•์ธํ•  ์ˆ˜ ์žˆ๋Š” ๋“ฑ ๊ณต๋ถ€ํ•˜๋Š” ์žฌ๋ฏธ๊ฐ€ ์žˆ์—ˆ๋‹ค



ํ•˜์ง€๋งŒ ์œ ๋‹ˆํ‹ฐ๋กœ ๋„˜์–ด์™€์„œ ๋น„์ฃผ์–ผ ์ŠคํŠœ๋””์˜ค๋ฅผ ์ผœ ๋ณด๋‹ˆ ์‹ ํƒ์Šค ํ•˜์ด๋ผ์ดํŒ…๊ณผ ์ธํ…”๋ฆฌ์„ผ์Šค๊ฐ€ ์—†๋Š” ํ•˜์–€ ์น ํŒ๊ธ€์”จ์˜ ํญํ’์ด ๋ชฐ์•„์ณค๋‹ค


๊ธฐ๋ณธ์ ์œผ๋กœ ๊บผ์ ธ ์žˆ๋‹ค๊ณ  ํ•˜๊ธธ๋ž˜ ์‹œ๊ฐ„์„ ๋“ค์—ฌ ์ผœ๋Š” ๋ฒ•์„ ์ฐพ์•„๋‚ด์„œ ์ผฐ๋”๋‹ˆ ์กฐ๊ธˆ ๋‚˜์•„์กŒ๋‹ค


ํ•˜์ง€๋งŒ ๋ฐ”๋กœ ๋‹ค์Œ ์žฅ๋ฒฝ์— ๋ง‰ํžˆ๊ณ  ๋งˆ๋Š”๋ฐ,


์ฝ˜์†”์•ฑ ํ™˜๊ฒฝ์—์„œ ์•„๋ฌด ๊ฒฝ๊ณ ๋„ ๋„์šฐ์ง€ ์•Š๋˜ ์š”์†Œ๋“ค์ด MonoBehavior ์ƒ์†ํ•˜์—์„œ๋Š”


'์ง€์›๋˜์ง€ ์•Š๋Š”๋‹ค' 'ํ—ˆ์šฉ๋˜์ง€ ์•Š๋Š”๋‹ค' ํ•˜๋ฉฐ ๋นจ๊ฐ„ ๋”ฑ์ง€ ์˜ค๋ฅ˜๋ฅผ ๋งˆ๊ตฌ ๋ฟœ์–ด๋‚ด๋Š” ๊ฒƒ์ด์—ˆ๋‹ค



์˜ˆ์ปจ๋Œ€ MonoBehaviour ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ์“ธ ๋•Œ๋Š” ์Šคํฌ๋ฆฝํŠธ ๋‚ด์—์„œ new ์—ฐ์‚ฐ์ž๋กœ MonoBehaviour ์ƒ์†๊ฐœ์ฒด๋ฅผ ์ƒ์„ฑํ•˜๋Š” ๊ฒƒ์ด ํ—ˆ์šฉ๋˜์ง€ ์•Š๋Š”๋‹ค


ํ”Œ๋ ˆ์ด์–ด์˜ ์ธ๋ฒคํ† ๋ฆฌ ๋ฆฌ์ŠคํŠธ๋ฅผ ์ดˆ๊ธฐํ™”ํ•  ๋•Œ InvenList = new List<T> { new Item.SteelSword() }๋”ฐ์œ„์™€ ๊ฐ™์ด ํ•œ๋‹ค๋“ ์ง€


ํ˜น์€ ์ƒ์„ฑ์ž๋ฅผ ์จ์„œ ์ €๋ ‡๊ฒŒ new Blahblah()๋ฅผ ์ƒ์„ฑํ•œ๋‹ค๋“ ์ง€ ํ•˜๋ฉด ์•ˆ๋˜๋Š” ๋ชจ์–‘์ด๋‹ค.ย ์ปดํŒŒ์ผ์ด ๋˜๊ธฐ๋Š” ํ•˜์ง€๋งŒ ๋ง ๊ทธ๋Œ€๋กœ ๊ถŒ์žฅ๋˜์ง€ ์•Š๋Š” ๋“ฏํ•˜๋‹ค.


๊ทธ๋ž˜์„œ new ์—ฐ์‚ฐ์ž๋ฅผ ์“ฐ๋Š” ๋ถ€๋ถ„๋“ค์„ ์ „๋ถ€ GameObject๋ฅผ ์ƒ์„ฑํ•˜๊ณ  ์ปดํฌ๋„ŒํŠธ๋ฅผ ๋ถ™์ด๋Š” ๋ฐฉ์‹์œผ๋กœ ๊ฐœ์ฒด๋ฅผ ์ƒ์„ฑํ•˜๋„๋ก ํ–ˆ๋‹ค



๊ทธ๋ฆฌ๊ณ  ์œ ๋‹ˆํ‹ฐ๋Š” ๋‹ค์‹œ ๋ญ”๊ฐ€๊ฐ€ '์ง€์›๋˜์ง€ ์•Š๋Š”๋‹ค'๋ผ๋ฉฐ ๋นจ๊ฐ„ ๋”ฑ์ง€ ์˜ค๋ฅ˜๋ฅผ ๋ฟœ์–ด๋ƒˆ๋‹ค


๋Œ€๊ฐ• ์ฐพ์•„๋ณด๋‹ˆ ๊นŠ๊ฒŒ ์ƒ์†๋œ ํด๋ž˜์Šค๋ฅผ "์ง๋ ฌํ™”"(์ด ์šฉ์–ด ์‚ฌ์‹ค Json ์„ธ์ด๋ธŒ/๋กœ๋“œ ๊ตฌํ˜„ํ• ๋–„ ํ•œ๋ฒˆ ์จ๋ณธ ๋’ค๋กœ ์ž˜ ์ดํ•ด ๋ชปํ•˜๊ณ  ์žˆ๋‹ค)ํ•˜๋Š” ๋ฐ ์žˆ์–ด์„œ


๋‹ท๋„ท ํ”„๋ ˆ์ž„์›Œํฌ์™€ ์œ ๋‹ˆํ‹ฐ๊ฐ€ ์„œ๋กœ ๋‹ค๋ฅธ ๋ฐฉ์‹์„ ์“ฐ๊ธฐ ๋•Œ๋ฌธ์—


ํ• ์•„๋ฒ„์ง€ ์†์„ฑ x๊ฐ€ ๋ฒ„์ถ”์–ผ์ด๊ณ  ์•„๋น  ์†์„ฑ x๊ฐ€ ์˜ค๋ฒ„๋ผ์ด๋“œ๊ณ  ์•„๋“ค ์†์„ฑ x๊ฐ€ ๋˜ ์˜ค๋ฒ„๋ผ์ด๋“œ์ด๊ณ .. ์ด๋Ÿฐ ๊ฒฝ์šฐ์— ์œ ๋‹ˆํ‹ฐ๊ฐ€ ์–ด๋–ค ์†์„ฑ์„ ๊ฐ€์ ธ์˜ฌ์ง€ ๋ชจํ˜ธํ•ดํ•œ๋‹ค๋Š” ๋“ฏํ•˜๋‹ค


์ธ๊ฐค๋Ÿฌ ํ˜•๋‹˜๊ณผ ์ฑ—๋ด‡์ด ์•Œ๋ ค์ค€ ๋Œ€์•ˆ์€ ๋‚ด๊ฐ€ ์–ด๋–ค ์†์„ฑ์„ ์ง๋ ฌํ™”ํ• ์ง€ ์ผ์ผ์ด ์ฝ”๋“œ๋ฅผ ์ซ“์•„๋‹ค๋‹ˆ๋ฉด์„œ [SerializeField]๋ผ๋“ ์ง€ [field: NonSerialize]๋ผ๋“ ์ง€


๊ทธ๋Ÿฐ ์ฒญํ…Œ์ดํ”„๋ฅผ ์—ฌ๊ธฐ์ €๊ธฐ์— ๋•์ง€๋•์ง€ ๋ถ™์ด๊ณ  ๋‹ค๋‹ˆ๋ผ๋Š” ๊ฒƒ์ด์—ˆ๋‹ค


๊ทผ๋ฐ ์ด๋Ÿด ๊ฑฐ๋ฉด ์ƒ์†์„ ์™œ ํ•จ?


๊ทธ๋ž˜์„œ ๋‹ค์‹œ ๋ณด๋‹ˆ ์ธ๊ฐค๋Ÿฌ ํ˜•๋‹˜ ํ•œ ๋ถ„์ด ์ƒ์† ์ง‘์–ด์น˜์šฐ๊ณ  ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ์“ธ ๊ฒƒ์„ ๊ถŒํ•˜๋Š” ๋Œ“๊ธ€์ด ์žˆ์—ˆ๋‹ค


๊ทธ๋Ÿฌ๋‹ˆ๊นŒ... ์ด๋ ‡๊ฒŒ ํ•˜๋ฉด ์ฝ”๋“œ๋ฅผ ์ข€ ์†๋ณด๋Š” ์ •๋„๊ฐ€ ์•„๋‹ˆ๋ผ ์ƒ์†๊ตฌ์กฐ๋กœ ๋งŒ๋“  ์บ๋ฆญํ„ฐ ๋ฐ์ดํ„ฐ, ๋งต ๋ฐ์ดํ„ฐ, ์•„์ดํ…œ ๋ฐ์ดํ„ฐ๋ฅผ ํœด์ง€ํ†ต์— ์ง‘์–ด๋„ฃ๊ณ  ๋‹ค์‹œ ์งœ๋Š” ๊ฑฐ๋‹ค.


์ด๋ ‡๊ฒŒ ์ดํ•ดํ•˜๊ณ  ๋‚˜๋‹ˆ ํ—›์ˆ˜๊ณ ๋ฅผ ํ•œ๊ฑฐ ๊ฐ™์•„ ๋‚ด์‹ฌ ๊ธฐ๋ถ„์ด ๋งŽ์ด ์ƒํ–ˆ๋‹ค



๊ทธ ๋‹ค์Œ์œผ๋กœ, ์ปดํฌ๋„ŒํŠธ๋ผ๋Š” ์žฅ๋ฒฝ์— ๋ง‰ํ˜”๋‹ค


์˜ˆ์ปจ๋Œ€ ๊ธฐ์กด์— Item.Misc.Key.RedKey๋ผ๋Š” ์•„์ดํ…œ ํด๋ž˜์Šค๋ฅผ ๋งŒ๋“ค์–ด ๋’€๊ณ  ์•„์ดํ…œ ๊ฒ€์ƒ‰์„ ํ•  ๋•Œ๋Š” ํƒ€์ž…์ด๋‚˜ ํ˜•์‹์„ ์“ฐ๋Š” ๊ฑฐ๋ผ๊ณ  ์ƒ๊ฐํ•˜๊ณ  ์ฝ”๋“œ๋ฅผ ์งฐ๋‹ค


๊ทธ๋Ÿฐ๋ฐ ์ด๊ฑธ ์œ ๋‹ˆํ‹ฐ๋กœ ์–ด๋–ป๊ฒŒ ๊ฐ€์ ธ์™€์•ผ ํ•˜๋Š”์ง€ ๊ฐ์„ ์žก์ง€ ๋ชปํ–ˆ๋‹ค


๊ทธ๋ž˜์„œ Item ํด๋ž˜์Šค์— MonoBehaviour๋ฅผ ์ƒ์†์‹œํ‚ค๊ณ ,


๊ฒŒ์ž„์˜ค๋ธŒ์ ํŠธ๋ฅผ ์ƒˆ๋กœ ์ƒ์„ฑํ•˜๊ณ , AddComponent<Item ... RedKey>๋ฅผ ํ•ด์„œ ํด๋ž˜์Šค๋ฅผ ๋•Œ๋ ค๋ฐ•์•˜๋‹ค


๊ทธ๋žฌ๋”๋‹ˆ ์งœ์ž”! ์ž‘๋™์€ ํ•œ๋‹ค


ํ•˜์ง€๋งŒ ์ฑ—๋ด‡ํ•œํ…Œ '์ด๊ฑฐ ๋งž์•„?'ํ•˜๊ณ  ๋ฌผ์–ด๋ณด๋‹ˆ ๋ฐ˜์‘์ด ์˜ ์‹œ์›์ฐฎ๊ณ 


์ญ‰ ๊ฒ€์ƒ‰ํ•ด ๋ณด๋‹ˆ ๋‚จ๋“ค๋„ ์ด๋Ÿฐ ์‹์œผ๋กœ ์•„์ดํ…œ์„ ๋งŒ๋“ค์ง€๋Š” ์•Š๋Š” ๋“ฏํ•˜๋‹ค



3์›”๋“ค์–ด ๋ฐ”๋น ์ง€๋ฉด์„œ ๋…ธํŠธ๋ถ ์•ž์— ์•‰์•„์žˆ๋Š” ์‹œ๊ฐ„๋„ ๋งŽ์ด ์ค„์—ˆ๊ณ 


์ฝ˜์†”์•ฑ ๊ฐœ๋ฐœํ™˜๊ฒฝ์— ๋น„ํ•ด ์œ ๋‹ˆํ‹ฐ ํ™˜๊ฒฝ์—์„œ๋Š” ์Šคํฌ๋ฆฝํŠธ ํ•˜๋‚˜ ์ƒ์„ฑํ•˜๊ณ  ์ €์žฅํ•  ๋•Œ๋งˆ๋‹ค 10์—ฌ์ดˆ์”ฉ ๋Œ€๊ธฐ๋ฅผ ํƒ€๋Š” ๋“ฑ ์„ฑ๋Šฅ์ด์Šˆ๋กœ ํ™˜๊ฒฝ์ด ๋œ ์พŒ์ ํ•˜๊ธฐ๋„ ํ•˜๊ณ 


10์ผ๋™์•ˆ ๋ฒ„ํŠผ 4๊ฐœ ์˜ฌ๋ ค๋†“๊ณ  ์Šคํฌ๋ฆฝํŠธ, ์ปดํฌ๋„ŒํŠธ๋ฅผ ์“ฐ๋Š” ๊ธฐ๋ณธ์ ์ธ ์–ผ๊ฐœ๋ฅผ ๋ฐ”ํ€ด๋ถ€ํ„ฐ ๊ฐœ๋ฐœํ•˜๋Š” ์ค‘์ด๊ธฐ๋„ ํ•˜๊ณ 


ํ™•์‹คํžˆ ์ง„ํ–‰์†๋„๊ฐ€ ๊บพ์˜€๋‹ค...


์†”์งํžˆ ๊ณต๋ถ€ํ•˜๋Š” ์ˆ˜์ค€์—์„œ ์ ์ ˆํ•œ ์ง€์ ์ธ์ง€๋Š” ์ž˜ ๋ชจ๋ฅด๊ฒ ์ง€๋งŒ


์”ฌ์— ์•„๋ฌด ์˜ค๋ธŒ์ ํŠธ๋„ ์•ˆ์˜ฌ๋ ค๋†“๊ณ  ์Šคํฌ๋ฆฝํŠธ๋งŒ ๋งŒ์ง€์ž‘๋Œ€๋Š”๋ฐ ์™œ ๋…ธํŠธ๋ถ ํŒฌ์ด ์ตœ๊ณ ์†๋„๋กœ ๋ฑ…๋ฑ… ๋Œ๊ณ  ํ•˜๋‚˜ํ•˜๋‚˜๋งˆ๋‹ค ์‹ญ์ˆ˜์ดˆ์”ฉ ์ปดํŒŒ์ผ์„ ๊ธฐ๋‹ค๋ ค์•ผ ํ•˜๋Š”์ง€


์ด ๋ผ์ง€๊ฐ™์ด ๋А๋ คํ„ฐ์ง„ ์œ ๋‹ˆํ‹ฐ์— ๋Œ€ํ•ด ์ข‹์€ ๊ฐ์ •์ด ๋“ค์ง€ ์•Š๋Š”๋‹ค...



์•„๋ฌดํŠผ ์˜ค๋Š˜๋ถ€ํ„ฐ ์œ ๋‹ˆํ‹ฐ ๊ฐ•์ขŒ๋ฅผ ์ฐพ์•„๋ณผ ์˜ˆ์ •


๋—