ํ•œ ํด๋ž˜์Šค(Target์ด๋ผ๊ณ  ํ•˜์ž) ๋‚ด์—์„œ ์ œ๋„ค๋ฆญํ•œ ํด๋ž˜์Šค์ธ State๋“ค์„ ์—ฌ๋Ÿฌ๊ฐœ ๊ฐ–๊ณ  ์žˆ๊ณ 

์ด State๋ฅผ ๋ฐ”๊ฟ”์ค„๋•Œ๋งˆ๋‹ค State๋ณ„๋กœ ๊ฐ๊ฐ State ์ฒซ ์‹œ์ž‘์‹œ์— ํ•„์š”ํ•œ ์ •๋ณด๋“ค์„ ๊ฐ–์ถฐ์ค˜์•ผํ•จ

์ด๊ฑธ Setupํ•จ์ˆ˜๋ฅผ State๋ณ„๋กœ ๊ฐ–๊ณ ์žˆ๋Š”๋ฐ ์ด๋•Œ ๊ฐ๊ฐ ํ•„์š”ํ•œ ์ •๋ณด๋“ค์ด ๋‹ค๋ฆ„.

์ด๋•Œ Setupํ•จ์ˆ˜ ์ธ์ž๋กœ Target์„ ์ฃผ๊ณ  Target์—์„œ Getํ•จ์ˆ˜๋“ค์„ ์ด์šฉํ•ด์„œ ํ•„์š”ํ•œ ์ •๋ณด๋ฅผ ๊ฐ€์ ธ์™€์„œ State๋“ค์—๊ฒŒ ๋„ฃ์–ด์ฃผ๋Š” ๋ฐฉ๋ฒ•์„ ์ƒ๊ฐํ–ˆ๋Š”๋ฐ ์ด๋ ‡๊ฒŒ์งœ์ž๋‹ˆ

Target ํ•จ์ˆ˜๋‚ด์—์„œ ๊ทธ๋ƒฅ Get~ ์–ด์ฉŒ๊ณ  ํ•˜๋ฉด์„œ ์ •๋ณด๋งŒ ๊บผ๋‚ด์ฃผ๋Š” ํ•จ์ˆ˜๋งŒย ๋Š˜์–ด๋‚˜์„œ ๋ณ„๋กœ๋‹ค ์‹ถ์€๋ฐย ์–ด๋–ป๊ฒŒ ํ•ด์ค˜์•ผํ• ๊นŒ์š”?


ย  ย  public override Action<A, B, C> SetUP<A, B, C>()

ย  ย  {

ย  ย  ย  ย  Action<A, B, C> setupCallback = (girl, girlmoveController, targetTr) =>

ย  ย  ย  ย  ย {

ย  ย  ย  ย  ย  ย  ย m_girl = girl as Girl;

ย  ย  ย  ย  ย  ย  ย m_girlMoveController = girlmoveController as GirlMoveController;

ย  ย  ย  ย  ย  ย  ย m_targetTr = targetTr as Transform;

ย  ย  ย  ย  ย };

ย  ย  ย  ย  return setupCallback;

ย  ย  }


์ด๋Ÿฐ์‹์œผ๋กœ callackํ•จ์ˆ˜ ๋ฆฌํ„ด ํ•ด์„œ Target ํด๋ž˜์„œ์—์„œ ์ง์ ‘ ๋ณ€์ˆ˜ ๋„ฃ์–ด์ฃผ๋Š” ์‹์œผ๋กœ ์งฏ๋Š”๋ฐ ์ด๊ฑด ๋ณ„๋กœ์ผ๊นŒ์š”?