Unity¤Ë´ØÏ¢¤¹¤ëµ­»ö¤Ç¤¹

¡¡(ºîÀ®Ãæ)



DI ¥³¥ó¥Æ¥Ê¡¡


¡¡DI ¥³¥ó¥Æ¥Ê¤È¤Ï¡¢Unity¤ÇC#¤ò»È¤Ã¤Æ³«È¯¤ò¹Ô¤¦ºÝ¤Ë¡¢°Í¸À­¤ÎÃíÆþ¡ÊDependency Injection: DI¡Ë¤ò¹Ô¤¦¤¿¤á¤Î»ÅÁȤߤòÄ󶡤¹¤ë¥³¥ó¥Æ¥Ê¤Î¤³¤È¤Ç¤¹¡£
°Í¸À­¤ÎÃíÆþ¤È¤Ï¡¢¥ª¥Ö¥¸¥§¥¯¥È»Ø¸þ¥×¥í¥°¥é¥ß¥ó¥°¤Ë¤ª¤¤¤Æ¡¢¥¯¥é¥¹¤ä¥ª¥Ö¥¸¥§¥¯¥È¤Î°Í¸´Ø·¸¤ò²ò·è¤¹¤ë¥Ç¥¶¥¤¥ó¥Ñ¥¿¡¼¥ó¤Î1¤Ä¤Ç¤¹¡£
DI¥³¥ó¥Æ¥Ê¤Ï¡¢°Í¸´Ø·¸¤Î¤¢¤ë¥ª¥Ö¥¸¥§¥¯¥È¤ò¼«Æ°Åª¤ËÀ¸À®¤·¡¢Å¬ÀڤʾõÂÖ¤ÇÄ󶡤¹¤ëÌò³ä¤ò²Ì¤¿¤·¤Þ¤¹¡£

¡¡°Í¸À­¤ÎÃíÆþ¤È¤¤¤¦¸ÀÍդǹͤ¨¤ë¤È¥¤¥á¡¼¥¸¤¹¤ë¤³¤È¤¬Æñ¤·¤¤¤¿¤á¡¢
¥×¥í¥°¥é¥à¤Î¥Ñ¡¼¥Ä¡Ê¥¯¥é¥¹¤ä¥ª¥Ö¥¸¥§¥¯¥È¡Ë¤¬¤ª¸ß¤¤¤Ë¤¦¤Þ¤¯¶¨ÎϤ·¤Ê¤¬¤éÆ°¤¯¤è¤¦¤Ë¡¢
´Ø·¸¤òÀ°Íý¤·¤Æ¤¯¤ì¤ëÌò³ä¤ò²Ì¤¿¤¹¡¢¤È¹Í¤¨¤Æ¤ª¤¯¤È¤è¤¤¤Ç¤¹¡£
¤³¤ì¤Ë¤è¤ê¡¢¥³¡¼¥É¤¬¤­¤ì¤¤¤Ç¥á¥ó¥Æ¥Ê¥ó¥¹¤·¤ä¤¹¤¯¤Ê¤ê¤Þ¤¹¡£


VContainer


¡¡VContainer(¥Ö¥¤¡¦¥³¥ó¥Æ¥Ê)¤Ï¡¢Unity¸þ¤±¤Î·ÚÎ̤ÊC# DI¥³¥ó¥Æ¥Ê¤Î1¤Ä¤Ç¡¢¹â®¤Ç³ÈÄ¥À­¤ËÍ¥¤ì¤Æ¤¤¤Þ¤¹¡£
VContainer¤Ï¡¢°Í¸À­¤Î²ò·è¤ò¹Ô¤¦¤¿¤á¤Ë¡¢¥³¥ó¥Ý¡¼¥Í¥ó¥È¤ä¥µ¡¼¥Ó¥¹¤Î¥é¥¤¥Õ¥¿¥¤¥à´ÉÍý¤òÄ󶡤·¤Þ¤¹¡£
¤Þ¤¿¡¢¥¢¥»¥ó¥Ö¥êÄêµÁ¤ä¥¸¥§¥Í¥ê¥Ã¥¯·¿¤Î¥µ¥Ý¡¼¥È¤Ê¤É¡¢Unity¤È¤Î¿ÆÏÂÀ­¤¬¹â¤¤ÆÃħ¤¬¤¢¤ê¤Þ¤¹¡£
¤³¤Î¤¿¤á¡¢Unity¥×¥í¥¸¥§¥¯¥È¤Ç¤Î³«È¯¤ò¸úΨ²½¤¹¤ë¤¿¤á¤ËÍøÍѤµ¤ì¤ë¤³¤È¤¬Â¿¤¤¤Ç¤¹¡£


VContainer


Qiita @sakano ÍÍVContainerÆþÌç


note ¥¢¥Ã¥×¥Õ¥í¥ó¥Æ¥£¥¢³ô¼°²ñ¼Ò ÍÍ
VContainerÆþÌç – MVP¥Ñ¥¿¡¼¥ó¤òÁȤó¤Ç¤ß¤ë



¥µ¥ó¥×¥ë¥³¡¼¥É


¡¡°Ê²¼¤Ï VContainer ¤È¥¤¥ó¥¿¡¼¥Õ¥§¡¼¥¹¤òÍøÍѤ·¤Æ¡¢¥²¡¼¥à¤Î½é´ü²½½èÍý¤ò¹Ô¤¦ºÝ¤Î¼ÂÁõÎã¤Ç¤¹¡£


<= ¥¯¥ê¥Ã¥¯¤¹¤ë¤È³«¤­¤Þ¤¹


¡¡¾åµ­¤Î¥³¡¼¥É¤Ç¤Ï¡¢IInitializable¥¤¥ó¥¿¡¼¥Õ¥§¡¼¥¹¤ò¼ÂÁõ¤·¤¿¥¯¥é¥¹¤òVContainer¤Ç¼«Æ°Åª¤Ë¼èÆÀ¤·¡¢Start´Ø¿ôÆâ¤ÇInitialize´Ø¿ô¤ò½ç¼¡¸Æ¤Ó½Ð¤·¤Æ¤¤¤Þ¤¹¡£

¡¡GameInitializer¤Ë¤Ï¡¢¥¤¥ó¥¹¥Ú¥¯¥¿¡¼¾å¤ÇInject°À­¤òÉÕ¤±¤ë¤³¤È¤Ç¡¢
¥²¡¼¥à³«»Ï»þ¤ËVContainer¤¬IInitializable¤ò¼ÂÁõ¤·¤¿¥¯¥é¥¹¤ò¼«Æ°Åª¤Ë¼èÆÀ¤·¡¢initializables¤Ë³ÊǼ¤·¤Þ¤¹¡£

¡¡¤½¤Î¸å¡¢foreachʸ¤ò»È¤Ã¤ÆinitializablesÆâ¤ÎÁ´¤Æ¤Î¥ª¥Ö¥¸¥§¥¯¥È¤ËÂФ·¤ÆInitialize´Ø¿ô¤ò¸Æ¤Ó½Ð¤·¡¢¥²¡¼¥à¤Î½é´ü²½½èÍý¤ò¹Ô¤Ã¤Æ¤¤¤Þ¤¹¡£

¥³¥á¥ó¥È¤ò¤«¤¯


¡Öhttp://¡×¤ò´Þ¤àÅê¹Æ¤Ï¶Ø»ß¤µ¤ì¤Æ¤¤¤Þ¤¹¡£

ÍøÍѵ¬Ìó¤ò¤´³Îǧ¤Î¤¦¤¨¤´µ­Æþ²¼¤µ¤¤

Menu



´ðÁÃ

µ»½Ñ/Ãμ±(¼ÂÁõÎã)

3D¥¢¥¯¥·¥ç¥ó¥²¡¼¥à

2D¤ª¤Ï¤¸¤­¥²¡¼¥à(ȯŸÊÔ)

2D¶¯À©²£¥¹¥¯¥í¡¼¥ë¥¢¥¯¥·¥ç¥ó(ȯŸÊÔ)

2D¥¿¥Ã¥×¥·¥å¡¼¥Æ¥£¥ó¥°(³ÈÄ¥ÊÔ)

¥ì¡¼¥¹¥²¡¼¥à(È´¿è)

2DÊüÃÖ¥²¡¼¥à(ȯŸÊÔ)

3D¥ì¡¼¥ë¥¬¥ó¥·¥å¡¼¥Æ¥£¥ó¥°(±þÍÑÊÔ)

3Dæ½Ð¥²¡¼¥à(È´¿è)

2D¥ê¥¢¥ë¥¿¥¤¥à¥¹¥È¥é¥Æ¥¸¡¼

3D¥¿¥Ã¥×¥¢¥¯¥·¥ç¥ó(NavMeshAgent »ÈÍÑ)

2D¥È¥Ã¥×¥Ó¥å¡¼¥¢¥¯¥·¥ç¥ó(¥«¥¨¥ë¤Î°Ù¤Ë¡Á¡¢¥Ü¥³¥¹¥«¥¦¥©¡¼¥ºÉ÷)

VideoPlayer ¥¤¥Ù¥ó¥ÈϢư¤Î¼ÂÁõÎã

VideoPlayer ¥ê¥¹¥ÈÆ⤫¤é¥à¡¼¥Ó¡¼ºÆÀ¸¤Î¼ÂÁõÎã(ȯŸ)

AR ²èÁüÉÕ¤­¥ª¥Ö¥¸¥§¥¯¥ÈÀ¸À®¤Î¼ÂÁõÎã

AR ¥ê¥¹¥ÈÆ⤫¤éÀ¸À®¤Î¼ÂÁõÎã(ȯŸ)

2D¥È¥Ã¥×¥Ó¥å¡¼¥¢¥¯¥·¥ç¥ó(¥µ¥Ð¥¤¥Ð¡¼É÷)

private



¤³¤Î¥µ¥¤¥ÈÆâ¤ÎºîÉʤϥæ¥Ë¥Æ¥£¤Á¤ã¤ó¥é¥¤¥»¥ó¥¹¾ò¹à¤Î¸µ¤ËÄ󶡤µ¤ì¤Æ¤¤¤Þ¤¹¡£

´ÉÍý¿Í/Éû´ÉÍý¿Í¤Î¤ßÊÔ½¸¤Ç¤­¤Þ¤¹