์ €๋งŒํผ ์ดˆ๋ณด๋ถ„๋„ ์žˆ์œผ๋‹ˆ ํ’€์ด ๋ญ”์ง€๋ถ€ํ„ฐ ์„ค๋ช…ํ•ฉ๋‹ˆ๋‹ค. ํ’€๊ฐœ๋… ์•„๋Š” ๋ถ„์€ ๋นจ๊ฐ„์ค„๋ถ€ํ„ฐ ์ฝ์œผ์‹œ๋ฉด ๋ฉ๋‹ˆ๋‹ค.

์Šคํƒ€1 ์Šคํฌ๋‹ํ’€ ์•Œ์ฃ ? ๊ทธ ํ’€์ž„ ( ์•„๋งˆ - ์›…๋ฉ์ด, ํ’€์žฅํ• ๋•Œ ๊ทธ ํ’€์ž„ย );


์Šคํฌ๋‹ํ’€์€ ๊ฒŒ์ž„ ์„ค์ •์ƒ

์œ ๋‹›์ด ์Šคํฐ๋˜๋Š” ํ’€์ด์ฃ ? ๊ทธ ํ’€์•ˆ์—๋Š” ์‚ฌ์‹ค ๋ฒŒ๋ ˆ๋“ค์ด ๋“œ๊ธ€๋“œ๊ธ€ํ•˜๋‹ค๊ฐ€

๋ฏธ๋„ค๋ž„์„ ์ƒ๋‚ฉํ•˜๋ฉด ๊ทธ์•ˆ์— ์žˆ๋Š”๋†ˆ์„ ํ•˜๋‚˜ ๊บผ๋‚ด์ฃผ์ž–์•„์š”?


์ค‘์š”ํ•œ๊ฑด ๋ˆ์„ ๋‚ด๋ฉด ๊บผ๋‚ด์ฃผ๋Š”๊ฒŒ ์•„๋‹ˆ๊ณ 

๊ฐœ๋ฐœ์ž๋งจ๋“ค์ด ์ƒ๊ฐํ•˜๋Š”๊ฑด ์ด๋Ÿฐ๊ฒ๋‹ˆ๋‹ค


์•ˆ์— ๋“œ๊ธ€๋“œ๊ธ€ ๋“ค์–ด์žˆ๋Š”๋ฐ ๊บผ๋‚ด์“ด๋‹ค.

-> ๋‹ค์“ฐ๋ฉด ๋Œ๋ ค๋†“๋Š”๋‹ค.


์ด๋Ÿฐ ํ’€์„ ์–ด๋–ค๋•Œ ์“ฐ๋А๋ƒ?

์–ด๋–ค ์ž์›์— ์ ‘๊ทผํ•˜๋Š”๋ฐ ๋น„์šฉ์ด ๋น„์‹ธ๋‹ค ( ์‹œ๊ฐ„์ด ์˜ค๋ž˜๊ฑธ๋ฆฐ๋‹ค )

ํ• ๋•Œ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.


ํ˜„์‹ค์„ธ๊ณ„๋กœ ์˜ˆ๋ฅผ ๋“ค๋ฉด, ๋ˆ์ด ์ถฉ๋ถ„ํžˆ ์žˆ์–ด์„œ ์ขŒ์„๋งŒ๋“ค๊ธฐ๊ฐ€ ๋ฌธ์ œ์—†๋Š”ย PC๋ฐฉ ์‚ฌ์žฅ๋‹˜์„ ์ƒ๊ฐํ•ด๋ด…์‹œ๋‹ค.

PC๋ฐฉ ์ขŒ์„์ด 20๊ฐœ ์žˆ๋Š”๋ฐย 

์†๋‹˜์ด 20๋ช… ๋“ค์–ด์™”์–ด์š”. ๊ทธ๋Ÿผ ๋„ค ๊ฑฐ๊ธฐ ์•‰์œผ์„ธ์—ฌ ํ•˜๋ฉด ๋˜์ฃ ?

๊ทผ๋ฐ 21๋ฒˆ์งธ ์†๋‹˜์ด ๋“ค์–ด์™”์–ด์š”. ์‚ฌ์žฅ์€ ๋ˆ์ด ๋„‰๋„‰ํ•˜๊ธฐ ๋•Œ๋ฌธ์— ์‚ฌ์‹ค

21๋ฒˆ์งธ ์ขŒ์„์„ ๋ฏธ๋ฆฌ ๋งŒ๋“ค์–ด๋†จ์œผ๋ฉด '21๋ฒˆ์ด ๋น„์—ˆ๋„ค์—ฌ ์•‰์œผ์„ธ์š” ํ•˜๋ฉด ๋๋‚˜๋Š”๋ฐ'

์นธ๋ง‰์ด์šฉ ํŒ๋–ผ๊ธฐ๋„ ์žˆ๊ณ , ์˜์ž, ์ปดํ„ฐ ๋‹ค์žˆ๋Š”๋ฐ ์—ฐ๊ฒฐํ•ด์„œ ์‚ฌ์šฉ๊ฐ€๋Šฅํ•œ ์ขŒ์„์œผ๋กœ ์•ˆ๋งŒ๋“ค์–ด๋†ง๋„ค?

์•Œ๋ฐ”๋†ˆ์—๊ฒŒ ์นด์šดํ„ฐ๋ฅผ ๋งก๊ธฐ๊ณ  ์‚ฌ์žฅ๋‹˜์ด ์กฐ๋ฆฝ์„ ์‹œ์ž‘ํ•ฉ๋‹ˆ๋‹ค.

๋น ๋ฅด๊ฒŒ 10๋ถ„๋งŒ์— ํด๋ฆฌ์–ดํ–ˆ๋Š”๋ฐย ์†๋‹˜์€ ๊ธฐ๋ถ„์ด ๋‚˜๋น ์ ธ์„œ ์–ผ๊ตดํ‘œ์ •์ด ์˜คํ•จ๋งˆ๋กœ ๋ช‡๋Œ€ ๋งž์€ ์–ผ๊ตด์ด ๋์Šต๋‹ˆ๋‹ค.

๊ธ‰ํ•œ์ผ์ด๋ผ ํ•˜๊ธฐ๋Š” ํ•˜์ง€๋งŒ ๋‹ค์Œ๋ฒˆ์—” ์•ˆ์˜ฌ๊ฒƒ ๊ฐ™์•„์š”.


์—ฌ๊ธฐ์„œ ๋น„์šฉ์ด ๋น„์‹ผ์ž‘์—…(๋А๋ฆฐ)์€ ์ขŒ์„์„ ๋งŒ๋“œ๋Š”๊ฒ๋‹ˆ๋‹ค.


์ด๊ฑธ ์ปดํ“จํ„ฐ ๊ฒŒ์ž„์œผ๋กœ ๋Œ€์ž…ํ•ด๋ณด๋ฉด

PC๋ฉ”๋ชจ๋ฆฌ๊ฐ€ ๋„‰๋„‰ํžˆ ์žˆ๋Š” PC์—์„œ ์ง„์‚ผ๊ตญ๋ฌด์Œ๊ฐ™์€ ์œ ๋‹›์ด ๋งŽ์ด๋‚˜์˜ค๋Š” ๊ฒŒ์ž„์„ ๋Œ๋ฆฝ๋‹ˆ๋‹ค.

์ผ๋ฐ˜์ „ํˆฌ์—์„œ๋Š” ์ ์ด 20๋งˆ๋ฆฌ์ •๋„ ๋‚˜์˜ค๋Š”๋ฐ ์ 1๋งˆ๋ฆฌ๋ฅผ ๋กœ๋”ฉํ•˜๋Š”๋ฐ ๊ฑธ๋ฆฌ๋Š” ์‹œ๊ฐ„์ด 0.01์ดˆ๋ผ๊ณ  ํ•ด๋ด…์‹œ๋‹ค.

๊ทธ๋Ÿผ ์ผ๋ฐ˜์ „ํˆฌ์—์„œ๋Š” ์ ์ด 20๋งˆ๋ฆฌ ๋‚˜์™€๋„ ๋กœ๋”ฉ์‹œ๊ฐ„์ด 0.2์ดˆ๋ฐ–์— ์•ˆ๊ฑธ๋ ค์š” ์–ด? ํ•˜๋Š”์ˆœ๊ฐ„์— ๋‹ค ๋กœ๋”ฉ์ด ๋˜์„œ

ํฌ๊ฒŒ ๋ฌธ์ œ๊ฐ€ ์—†์Šต๋‹ˆ๋‹ค.


๊ทธ๋Ÿฐ๋ฐ

๋ณด์Šค์ „์—๋Š” ์ ๊ตฐ์ด 100๋งˆ๋ฆฌ๊ฐ€ ๋‚˜์˜ค๊ธฐ๋กœ ๋˜์–ด์žˆ์–ด์š”.

๋ณด์Šค์ „ ์‹œ์ž‘์ด ๋˜๋Š”์ˆœ๊ฐ„ 100 x 0.01 ์ฆ‰

1์ดˆ๊ฐ„ ๊ฒŒ์ž„์ด ํ”„๋ฆฌ์ง•(์‚ฌ์šฉ์ž ์ž…๋ ฅ์— ๋ฐ˜์‘์•ˆํ•˜๊ณ  ๋ฉˆ์ถค)๋๋‹ˆ๋‹ค.

์–ด๋ผ '์ด๊ฒŒ์ž„ ์ข€ ๋ชป์“ฐ๊ฒ ๋Š”๋ฐ?'ย ํ•˜๊ฒ ์ฃ ?


์ด๊ฑธ ๋ง‰๋Š”๊ฒŒ ์˜ค๋ธŒ์ ํŠธ ํ’€์ž…๋‹ˆ๋‹ค.

์ ๊ตฐ ์œ ๋‹›์„ ๋ฏธ๋ฆฌ 100๊ฐœ ์•„๋‹ˆ ์—ฌ์œ ์žˆ๊ฒŒ 150๊ฐœ ๋กœ๋”ฉํ•ฉ๋‹ˆ๋‹ค. ( ์•„์˜ˆ ๊ฒŒ์ž„ ํƒ€์ดํ‹€์ด ์ผœ์งˆ๋•Œ )

๊ทธ๋ฆฌ๊ณ  ์ด๊ฑธ ์Šคํƒ๊ฐ™์€๋ฐ์— ๋„ฃ์–ด๋†”์š”. inactive์ƒํƒœ๋˜ ์นด๋ฉ”๋ผ ์‹œ์•ผ๋ฐ–์— ๋‘๋˜ ํ•ด์„œ ์•ˆ๋ณด์ด๊ฒŒ ํ•ด๋†“์Šต๋‹ˆ๋‹ค.


๊ทธ๋ฆฌ๊ณ  ์ผ๋ฐ˜์ „ํˆฌ ์‹œ์ž‘์‹œย 


์Šคํƒ์—์„œย 20๊ฐœย ๊บผ๋ƒ…๋‹ˆ๋‹ค ย ( ์—ฌ๊ธฐ์„  ๋ถˆ๋Ÿฌ์˜ค๋Š”๊ฒŒ ๊ฐ€์žฅ ์‹œ๊ฐ„์ด ์˜ค๋ž˜๊ฑธ๋ฆฐ๋‹ค๋Š” ์„ค์ •์ž„ - ๋ณดํ†ต ๊ทธ๋ ‡๊ธฐ๋„ํ•˜๊ณ  )ย 

๊ทธ๋‹ค์Œ ๊ฐ์ž ์ฐฝ๋ณ‘,๊ถ๋ณ‘๋“ฑ ์ข…๋ฅ˜์— ๋งž๊ฒŒ ๋ฐ์ดํ„ฐ๋ฅผ ์„ธํŒ…ํ•ด์š”. ( ์ด๊ฑด ์–ผ๋งˆ ์•ˆ๊ฑธ๋ฆผ )

๊ทธ๋ฆฌ๊ณ  ์นด๋ฉ”๋ผ ์‹œ์•ผ์— ๋„ฃ๋˜ ๋งต์˜ ํŠน์ •์œ„์น˜์— ๋„ฃ๊ณ  active ์‹œํ‚ค๋ฉด


-- ( ์ด๋ฏธ ๊ฒŒ์ž„์‹œ์ž‘์‹œ ๋ถˆ๋Ÿฌ์™”๊ธฐ ๋•Œ๋ฌธ์— 0.2์ดˆ๊ฐ€ ๊ฑธ๋ฆฌ์ง€ ์•Š์Œ, ๊ฑฐ์˜ 0์ดˆ ๊ฐ€๊นŒ์›€ ) --


๊ทธ๋ž˜์„œ ๋ ‰์ด ์•ˆ๊ฑธ๋ฆฝ๋‹ˆ๋‹ค.

์ผ๋ฐ˜์ „ํˆฌ ์ข…๋ฃŒ ํ˜น์€ ๋ชฌ์Šคํ„ฐ๊ฐ€ ์‚ฌ๋งํ–‡์„์‹œ์— ์Šคํƒ์— ๋‹ค์‹œ ๋„ฃ์–ด๋‘๊ณ  ๋น„ํ™œ์„ฑํ™” ์‹œํ‚ต๋‹ˆ๋‹ค. (๋‹ค์Œ์Šคํ…Œ์ด์ง€์—์„œ ๋‹ค์‹œ ์‚ฌ์šฉํ•˜๊ฒŒ์š”)


์—ญ์‹œ ๋งˆ์ฐฌ๊ฐ€์ง€๋กœ ๋ณด์Šค์ „ ์‹œ์ž‘์‹œ

์Šคํƒ์—์„œ 100๊ฐœ ๊บผ๋‚ด๊ณ  ๊ฐ™์€ ์ž‘์—…์„ ํ•ฉ๋‹ˆ๋‹ค.

20๊ฐœ ๊บผ๋‚ด๋‚˜ 100๊ฐœ ๊บผ๋‚ด๋‚˜ ์‚ฌ์‹ค ๋ฉ”๋ชจ๋ฆฌ์— ๋กœ๋”ฉ์€ ์ด๋ฏธ ๋๊ธฐ๋•Œ๋ฌธ์— ๊ฑฐ์˜ ์‹œ๊ฐ„์ด ๋น„์Šทํ•˜๊ฒŒ ๊ฑธ๋ฆฝ๋‹ˆ๋‹ค.


๊ทธ๋Ÿผ ๋ ‰์ด ํ•ด๊ฒฐ๋จ

--


๋น„์Šทํ•œ๋ฅ˜๋กœ ๋น„์‹ผ์ž‘์—…์ธ

๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์™€์˜ ์—ฐ๊ฒฐ์šฉ ํ’€์ธ ์ปค๋„ฅ์…˜ํ’€๋„ ์žˆ์Šต๋‹ˆ๋‹ค.

( ์„œ๋ฒ„ํ•œํ…Œ ๋‚˜ ์•„์ด๋”” abc์ธ๋ฐ ํŒจ์Šค์›Œ๋“œ๋Š” @@@@์•ผ ๋“ค์–ด๊ฐ€๋„ ๋˜๊ฒ ๋‹ˆ?, ok ๋„ˆ ์™€๋„๋จ

ย ๋„ˆ abc๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค, abc1,2,3 ํ…Œ์ด๋ธ” ์ ‘๊ทผ๊ฐ€๋Šฅ ์“ฐ๊ธฐ ์‚ญ์ œ ์กฐํšŒย ๊ฐ€๋Šฅ -> ok ๋•ก์Šค ์ด์ง“์ด ์‹œ๊ฐ„์ด ๋งŽ์ด๊ฑธ๋ฆฌ๊ฑฐ๋“ ์š” ์„œ๋ฒ„๋ž‘ ํ†ต์‹ ์ด๋ผ )



---------------------- ๋นจ ๊ฐ„ ๋ผ ์ธ ( ํ’€๊ฐœ๋… ์•„๋Š”๋ถ„ ์—ฌ๊ธฐ๋ถ€ํ„ฐ ) ----------------


๊ทธ๋ž˜์„œ ์œ ๋‹ˆํ‹ฐ์šฉ ๊ฒŒ์ž„์˜ค๋ธŒ์ ํŠธ๋ฅผ ์‚ฌ์šฉํ•ด๋ด…์‹œ๋‹ค.

์ œ๊ฐ€ ์ง ๊ฑด ์•„๋‹ˆ๊ณ  ์ค์–ด์™”๋Š”๋ฐ ์„ค๋ช…๊ณผ ํ•จ๊ป˜ ์ด์šฉํ•ด๋ณด์ฃ 


์›๋ณธ๋งํฌย http://lab.gamecodi.com/board/zboard.php?id=GAMECODILAB_Lecture&no=280


์ œ๊ฒฝ์šฐ

CGameObjectPool ๋ผ๊ณ  ์“ฐ๊ธฐ ์‹ซ์–ด์„œ ์ด๋ฆ„๋งŒ ๋ฐ”๊ฟจ์Šต๋‹ˆ๋‹ค.

GameObjectPool ๋กœ์š” ใ…‹

์†Œ์Šค๋Š” ์œ„ ๋งํฌ์— ์žˆ์œผ๋‹ˆ ๋ณด๊ธฐ์ข‹์€

์‚ฌ์ง„์œผ๋กœ ๋ด…์‹œ๋‹ค.



viewimage.php?id=2abcdd23dad63db0&no=29bcc427b38a77a16fb3dab004c86b6fefd5355bb210043215884566e8f3c822879d8c35533916f16d13caa12cfcac1bb1b4c4c917b9255f10bd



T๋Š” ์ œ๋„ค๋ฆญํ˜• ๋ณ€์ˆ˜? ๋ญ ๊ทธ๋Ÿฐ๊ฑฐ๊ตฌ์š” ๋‹ค์–‘ํ•œ ์ž๋ฃŒํ˜• ๋„ฃ์œผ๋ฉด ๋ฉ๋‹ˆ๋‹ค.

GameObjectPool<int> ๋ฉด T๋Š” int๊ฐ€ ๋จ

GameObjectPool<GameObejct> ๋ฉด T๋Š” GameObejct๊ฐ€ ๋จ



public delegate T Func(); // ์–ด์ œ ์ž‘์—…๋ถ„์—์„œ ์„ค๋ช…ํ•œ ๋‚ด์šฉ์ด๋„ค์š” ๋”œ๋ฆฌ๊ฒŒ์ดํŠธ

์ž…๋ ฅ๊ฐ’์„ ์•ˆ๋ฐ›์œผ๋ฉด์„œ Tํ˜• ๊ฒฐ๊ณผ๋ฅผ ๋ฆฌํ„ดํ•˜๋Š” ํ•จ์ˆ˜์ž๋ฃŒํ˜•์„ ์ด ์†Œ์Šค์—์„œ๋Š” Func๋ผ๊ณ  ๋ถ€๋ฅด๊ธฐ๋กœํ–ˆ๋„ค์š”

๊ทธ๋ฆฌ๊ณ  ์ด Func์ž๋ฃŒํ˜• ๋ฉค๋ฒ„ create_fn; // ํฌ๋ฆฌ์—์ดํŠธ ํŽ‘์…˜, T ์ƒ์„ฑ์šฉ ํ•จ์ˆ˜๋ผ๊ณ  ์ด๋ฆ„์ง€์—ˆ๋„ค์š”.

๊ทธ๋ฆฌ๊ณ  ์ด๊ฑธ ์ƒ์„ฑ์ž์—์„œ ํŒŒ๋ผ๋ฏธํ„ฐ๋กœ ๋ฐ›๊ธฐ๋กœ ํ–ˆ์Šต๋‹ˆ๋‹ค.


count๋Š” ๋ฏธ๋ฆฌ ๋งŒ๋“ค์–ด๋†“์„ ์˜ค๋ธŒ์ ํŠธ ๊ฐฏ์ˆ˜๊ตฌ์š”.


push pop์œผ๋กœ ๋‚ด๋ถ€์— ์žˆ๋Š” ์Šคํƒ์„ ์‚ฌ์šฉํ•˜๊ณ ย 

allocateํ•จ์ˆ˜๋Š” count๋งŒํผ์˜ T๋ฅผ ๋งŒ๋“ค์–ด๋†“๋„ค์š” create_fn์„ ์‚ฌ์šฉํ•ด์„œ์š”


์ด๊ฑธ ์‚ฌ์šฉํ• ๋•Œ๋Š” ( ์œ„์— PC๋ฐฉ ์‚ฌ์žฅ๋‹˜์˜ ๊ฒฝ์šฐ )


GameObjectPool<PC๋ฐฉ์ขŒ์„> poolSeatInPCRoom = new GameObjectPool<PC๋ฐฉ์ขŒ์„>( 40, () => { // 40๊ฐœ ๋งŒ๋“ค๊ตฌ์—ฌ

return (PC๋ฐฉ์ขŒ์„) MakeFromSajang(); // ์‚ฌ์žฅ๋‹˜์ด ๋งŒ๋“  ์ขŒ์„์„ ๋ฆฌํ„ดํ•ฉ๋‹ˆ๋‹ค.

});


() => {

}ย 

์š”๋†ˆ์ด ์ข€ ํŠน์ดํ•˜์ฃ 

์†Œ๊ด„ํ˜ธ => ์ค‘๊ด„ํ˜ธ


์ด๊ฒŒ ๋žŒ๋‹ค์‹์ด๋ž€๋†ˆ์œผ๋กœ

์ด๋ฆ„์—†๋Š” ํ•จ์ˆ˜๋ฅผ ๋งŒ๋“ญ๋‹ˆ๋‹ค.


๋ณดํ†ต


void FuncAAA (int a){

return;

}

์ด๋ ‡๊ฒŒ ํ•จ์ˆ˜๋ฅผ ๋งŒ๋“ค์ฃ  ๊ฑฐ๊ธฐ์„œ

๋ฆฌํ„ดํ˜• void์™€ ํ•จ์ˆ˜์ด๋ฆ„ย FuncAAA๋ฅผ ๋บ€๊ฑฐ์ž„

๊ทธ๋ฆฌ๊ณ  ์ด๊ฒŒ ๊ทธ๋Ÿฐ ๋žŒ๋‹ค์‹์ด๋ž€ ๋†ˆ์ด๋ž€๊ฑธ ์•Œ๋ฆฌ๊ธฐ์œ„ํ•ด =>๋ฅผ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค ( ํฌ๊ฑฐ๋‚˜ ๊ฐ™๋‹ค ์•„๋‹ˆ์—์š” )

์ž๋ฐ”๋กœ์น˜๋ฉด ์ต๋ช…ํด๋ž˜์Šค์—์š”.


์—ฌํŠผ ๋‹ค์‹œ ๋Œ์•„๊ฐ€๋ณด๋ฉด


์œ„์— ์‚ฌ์šฉํ• ๋•Œ

() => {

return (PC๋ฐฉ์ขŒ์„)

}

์ด๋ผ๊ณ  ํ–ˆ์œผ๋ฉด ์ž…๋ ฅ๊ฐ’์„ ๋ฐ›์ง€์•Š๊ณ  PC๋ฐฉ์ขŒ์„์„ ๋ฆฌํ„ดํ•˜๋Š” ํ•จ์ˆ˜์ž…๋‹ˆ๋‹ค.

๊ทธ๋Ÿผ ์ €๊ธฐ์„œ GameObjectPool<PC๋ฐฉ์ขŒ์„> ์ด๋ ‡๊ฒŒ ์‚ฌ์šฉํ–ˆ์œผ๋‹ˆ

T๋Š” PC๋ฐฉ์ขŒ์„์ด๊ณ 

Func ์˜ ์š”๊ฑด์ธ

T๋ฅผ ๋ฆฌํ„ดํ•˜๋Š” ์ž…๋ ฅ ํŒŒ๋ผ๋ฏธํ„ฐ๊ฐ€ ์—†๋Š” ํ•จ์ˆ˜๊ฐ€ ๋งž๊ฒŒ๋˜์ฃ 


๊ทธ๋ž˜์„œ

GameObjectPool<PC๋ฐฉ์ขŒ์„> poolSeatInPCRoom = new GameObjectPool<PC๋ฐฉ์ขŒ์„>( 40, () => { // 40๊ฐœ ๋งŒ๋“ค๊ตฌ์—ฌ

return (PC๋ฐฉ์ขŒ์„) MakeFromSajang(); // ์‚ฌ์žฅ๋‹˜์ด ๋งŒ๋“  ์ขŒ์„์„ ๋ฆฌํ„ดํ•ฉ๋‹ˆ๋‹ค.

});

์ด ๋ถ€๋ถ„์ด ์‹คํ–‰๋ ๋•Œ

create_fn์ด 40๋ฒˆ ๋Œ๋ฉด์„œ ์ถฉ๋ถ„ํžˆ ๋„‰๋„‰ํ•œ ์ขŒ์„์ด ์ƒ๊ธฐ๊ฒŒ๋ฉ๋‹ˆ๋‹ค.


๋งŒ์•ฝ ๋ฐ”๋‹ฅ๋งต์นฉ์œผ๋กœ ์‚ฌ์šฉํ• ย ๊ฒŒ์ž„์˜ค๋ธŒ์ ํŠธ๋ผ๋ฉด

๋งต์˜ ํฌ๊ธฐ๊ฐ€ ์ตœ๋Œ€ 100x100์ด๊ณ  ๋‹ค๋ฅธ๋ฐ์—์„œ๋Š” ์ด ๋งต์นฉ์„ ์‚ฌ์šฉํ•˜์ง€ ์•Š๋Š”๋‹ค๋ฉด.


public GameObject mapchipPrefab; // ์œ ๋‹ˆํ‹ฐ ์—๋””ํ„ฐ์—์„œ ํ”„๋ฆฌํŒน์„ ๋Œ์–ด๋„ฃ์Šต๋‹ˆ๋‹ค.


// ๋งค๋‹ˆ์ € ํด๋ž˜์Šค์˜ Awake๊ฐ™์€๋ฐ์— ์ถ”๊ฐ€;

GameObjectPool<GameObject> poolFloor = new GameObjectPool<GameObject>( 10000, () => {

return Instantiate(mapchipPrefab);

}ย );



ย GameObject tmpMapChip;

ย Vector3 tmpVec;

๋งต ๋ฐ์ดํ„ฐ๋กœ๋ถ€ํ„ฐ ๋งต ๋ถˆ๋Ÿฌ์˜ค๋Š” for๋ฌธ ๊ฐ™์€๋ฐ์„œ

tmpMapChip =ย poolFloor.pop();

tmpMapChip.SetActive(true);

tmpVec =ย tmpMapChip.transform.position;

tmpVec.x = x;

tmpVec.y = y;

tmpMapChip.transform.position = tmpVec;

์ด๋ ‡๊ฒŒ ํ•˜๋ฉด ์‚ฌ์šฉ ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.


---- ์ค‘๊ฐ„์ €์žฅ ---