Match3 ๋งŒ๋“  ์  ์žˆ๊ณ  DOTS๋„ ๋Œ€์ถฉ ์•Œ๊ฒ ์œผ๋‹ˆ ์‰ฝ๊ฒŒ ๋งŒ๋“ค ์ˆ˜ ์žˆ์„๊ฑฐ๋ผ ์ž์‹ ๊ฐ์ด ๋„˜์ณค๋Š”๋ฐ

DOTS๋กœ ์ž‘์—…ํ• ๋•Œ๋Š” ๊ตฌํ˜„์„ ๋‹ค๋ฅด๊ฒŒ ์ ‘๊ทผํ•ด์•ผ ํ•˜๋Š”๊ฑด๊ฐ€ ์‹ถ๋‹ค.


Job์„ ์ด์šฉํ•ด์„œ NativeHapMap ์— AllGamePieces ์™€ AllTiles๋ฅผ ๋‹ด์•„์˜ค๋Š” ๊ฒƒ์€ ๋ฌด๋‚œํžˆ ์ž˜ํ–ˆ๋Š”๋ฐ Match์„ ํ•˜๋ ค๊ณ  ๊ฐ€๋กœ ์„ธ๋กœ ๋น„๊ตํ•˜๊ณ  Match๋œ ๋…€์„๋“ค์„ DynamicBuffer์— ๋‹ด์•„์ฃผ๋ฉด ๋  ์ค„ ์•Œ์•˜๋Š”๋ฐ


DynamicBuffer<GamePieceData> matches = new DynamicBuffer<GamePieceData>();


์ด๋…€์„์ด NullReference๊ฐ€ ๋œฌ๋‹ค.

DOTS์—์„œ๋Š” ๊ด€๋ฆฌ๋˜๋Š” ํƒ€์ž…์„ ์“ธ ์ˆ˜ ์—†์œผ๋‹ˆ NativeArray ๋˜๋Š” DynamicBuffer๋ฅผ ๋Œ€์‹  ์‚ฌ์šฉํ•˜๋ฉด ๋˜๊ฒ ๊ตฌ๋‚˜ ์‹ถ์—ˆ๋Š”๋ฐ

ํ• ๋‹น์ด ์•ˆ๋˜๋Š”๊ตฌ๋งŒ..


GamePiece Entity ๊ฐ๊ฐ์— ๋งค์นญ๋œ GamePiece๋ฅผ ๋„ฃ์–ด์ฃผ๋Š” ๋ฐฉ์‹์œผ๋กœ ๊ฐ€์•ผ ํ•˜๋Š” ๊ฒƒ์ธ๊ฐ€...?

GamePiece Entity ๊ฐœ๋ณ„๋กœ ๋ณธ์ธ์ด ๋งค์นญ๋˜์—ˆ๋Š”์ง€ ์ฒดํฌ๋ฅผ ํ•˜๋Š” ๋ฐฉ์‹์œผ๋กœ ๊ฐ€์•ผ ํ•˜๋Š” ๊ฒƒ์ธ๊ฐ€? (์ด๊ฒŒ ์ข€ ๋•ก๊ธฐ๋Š”๋ฐ?)



๋‚ด๊ฐ€ DOTS ์— ๋Œ€ํ•ด ๋ชจ๋ฅด๋Š” ๊ฒƒ์ด ๋งŽ์€ ๊ฒƒ์ธ๊ฐ€ ์•„๋‹ˆ๋ฉด ๊ตฌํ˜„ ๋ฐฉ์‹์„ ๋‹ค๋ฅธ ์‹์œผ๋กœ ํ•ด์•ผ ํ•˜๋Š” ๊ฒƒ์ธ๊ฐ€.

์˜ค.. ์‹ ์ด์‹œ์—ฌ!!! ๋‚˜์—๊ฒŒ ๋์—†๋Š” ์šฉ๊ธฐ์™€ ์ง€ํ˜œ๋ฅผ ์ฃผ์‹œ์˜ต์†Œ์„œ!!!