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

¡¡°Ê²¼¤ÎÆâÍƤǼÂÁõ¤ò¿Ê¤á¤Æ¤¤¤­¤Þ¤¹¡£

¼ê½ç£±£¶¡¡¡¼¥í¥¸¥Ã¥¯¤Î³Ø½¬­¡¤È¥¹¥¯¥ê¥×¥¿¥Ö¥ë¡¦¥ª¥Ö¥¸¥§¥¯¥È¤ÎºîÀ®¡¼
£²£¸¡¥ËɱҵòÅÀÍѤΥ²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤òºîÀ®¤·¡¢»ÅÍͤȱ¿ÍÑ¤Î¥í¥¸¥Ã¥¯¤ò¹Í¤¨¤Æ¼ÂÁõ¤¹¤ë
£²£¹¡¥ËɱÒÍѤÎÌ£Êý¥­¥ã¥é¤Î¥Ç¡¼¥¿¥Ù¡¼¥¹¤òºîÀ®¤·¡¢»ÅÍͤȱ¿ÍÑ¤Î¥í¥¸¥Ã¥¯¤ò¹Í¤¨¤Æ¼ÂÁõ¤¹¤ë



¡¡¿·¤·¤¤³Ø½¬ÆâÍƤϡ¢°Ê²¼¤ÎÄ̤ê¤Ç¤¹¡£

¡¡¡¦¥í¥¸¥Ã¥¯¤Î¹Í¤¨Êý
¡¡¡¦enum ¤À¤±¤Î¥¹¥¯¥ê¥×¥È¡¦¥Õ¥¡¥¤¥ë¤ÎºîÀ®
¡¡¡¦¥¹¥¯¥ê¥×¥¿¥Ö¥ë¡¦¥ª¥Ö¥¸¥§¥¯¥È¤ÎºîÀ®¤È¥Ç¡¼¥¿¤ÎÅÐÏ¿
¡¡¡¦[System.Serializable¡Ê¥·¥ê¥¢¥é¥¤¥¶¥Ö¥ë¡Ë]°À­
¡¡¡¦List ¤Î½é´ü²½



£²£¸¡¥ËɱҵòÅÀÍѤΥ²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤òºîÀ®¤·¡¢»ÅÍͤȱ¿ÍÑ¤Î¥í¥¸¥Ã¥¯¤ò¹Í¤¨¤Æ¼ÂÁõ¤¹¤ë

£±¡¥À߷פò¹Í¤¨¤ë


¡¡¥²¡¼¥à¤Î¥·¥¹¥Æ¥à¤Î£±¤Ä¤Ç¤¢¤ë¡¢ËɱҵòÅÀÍѤΥ²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤òºîÀ®¤·¤Þ¤¹¡£
¤³¤Î¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤Ï TileMap Æâ¤Ç¤Ï¤Ê¤¯¡¢MainMap ¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤Î»Ò¥ª¥Ö¥¸¥§¥¯¥È¤È¤·¤ÆÇÛÃÖ¤·¤ÆÌäÂꤢ¤ê¤Þ¤»¤ó¡£

¡¡Unity ¤ÇºîÀ®¤¹¤ë¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤Ï¡¢¥¢¥¿¥Ã¥Á¤µ¤ì¤Æ¤¤¤ë¥³¥ó¥Ý¡¼¥Í¥ó¥È¤ä¥¹¥¯¥ê¥×¥È¤Ë¤è¤Ã¤Æ¡¢¤½¤Î¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤ÎÌò³ä¤¬·èÄꤷ¤Þ¤¹¡£
¡¡º£²óºîÀ®¤¹¤ë¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤Ë¡Ö¤É¤Î¤è¤¦¤ÊÌò³ä¡×¤ò»ý¤¿¤»¤ë¤³¤È¤¬¤Ç¤­¤ì¤Ð¡¢ËɱҵòÅÀ¤È¤·¤Æµ¡Ç½¤¹¤ë¤«¤ò¹Í¤¨¤Æ¤ß¤Þ¤·¤ç¤¦¡£
Ìò³ä¤ò»ý¤¿¤»¤ë¤È¤¤¤¦´ÑÅÀ¤Ç¥¯¥é¥¹(¥¹¥¯¥ê¥×¥È)¤òºîÀ®¤·¤Æ¤¤¤¯¤È¡¢¤É¤Î¤è¤¦¤Êµ¡Ç½¤¬É¬Íפˤʤë¤Î¤«¤È¤¤¤¦Àß·×Éôʬ¤â¹Í¤¨¤ä¤¹¤¤¤È»×¤¤¤Þ¤¹¡£

¡¡ËɱҵòÅÀ¤È¤·¤Æ¤Ï¡¢Å¨¥­¥ã¥é¤Î¿¯ÆþȽÄê¡¢ËɱҵòÅÀ¤ÎÂѵ×ÎϤÎÀßÄ꤬¤¢¤ì¤Ð¡¢ºÇÄã¸Â¤Îµ¡Ç½¤òÍ­¤·¤Æ¤¤¤Þ¤¹¡£
¤è¤Ã¤Æ¤½¤ì¤é¤Î¾ðÊó¤ò´ÉÍý¤¹¤ë¥¯¥é¥¹¤òºîÀ®¤·¤Æ¡¢ËɱҵòÅÀ¤Î¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤Ë¥¢¥¿¥Ã¥Á¤¹¤ë¤³¤È¤Ç¡¢¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤ÎÌò³ä¤òÌÀ³Î²½¤·¤Þ¤¹¡£
¤½¤Á¤é¤Î»ÅÍͤ¬´°À®¤·¤¿¤é¡¢Å¨¤Î¿¯ÆþȽÄê¤Ë¹ç¤ï¤»¤Æ¥¨¥Õ¥§¥¯¥È¤òÀ¸À®¤·¤¿¤ê¡¢±é½Ð¤òÆþ¤ì¤¿¤¤¥¿¥¤¥ß¥ó¥°¤â¸¡Æ¤¤·¤Æ¤ª¤­¤Þ¤¹¡£

¡¡¥í¥¸¥Ã¥¯¤È¤·¤Æ¤Ï¡¢°Ê²¼¤Î¤è¤¦¤Ê¤â¤Î¤¬ÁÛÄꤵ¤ì¤Þ¤¹¡£

¡ã¥í¥¸¥Ã¥¯¤Î¹Í¤¨Êý¡ä
¡¡Å¨¥­¥ã¥é¤¬°ÜÆ°¤·¡¢ËɱҵòÅÀ¤Ë¿¯Æþ¤¹¤ë¡¡=>¡¡¤É¤Î¤è¤¦¤ÊȽÄêÊýË¡¤ò»È¤¦¤Î¤«¡©¡¡¥¹¥¯¥ê¥×¥È¤Ï¡©
¡¡¡¡¡¡¡¡¢­
¡¡ËɱҵòÅÀ¤ÎÂѵ×ÎϤòÄê¿ô¤Ç¸º»»¤¹¤ë¡¡=>¡¡Äê¿ô¤Ç¼ÂÁõ¤Ç¤­¤¿¤é¡¢Å¨¥­¥ã¥é¤Î¹¶·âÎÏʬ¤Ç¸º»»¤Ç¤­¤ë¤è¤¦¤Ë¤¹¤ë
¡¡¡¡¡¡¡¡¢­
¡¡Å¨¥­¥ã¥é¤òÇ˲õ¤¹¤ë
¡¡¡¡¡¡¡¡¢­
¡¡ËɱҵòÅÀ¤ËÂФ¹¤ëÈï¥À¥á¡¼¥¸¤Î±é½Ð¤òÆþ¤ì¤ë¡£¸å¤Ç¤âÌäÂê¤Ê¤·
¡¡¡¡¡¡¡¡¢­
¡¡Debug.Log ¥á¥½¥Ã¥É¤ò³èÍѤ·¡¢Âѵ×ÎϤ¬ 0 °Ê²¼¤Ë¤Ê¤Ã¤¿¾ì¹ç¤Ë¤Ï¥²¡¼¥à¥ª¡¼¥Ð¡¼¤È Console ¥Ó¥å¡¼¤Ëɽ¼¨¤¹¤ë¡¡=>¡¡¤½¤Î¸å¡¢¥²¡¼¥à¥ª¡¼¥Ð¡¼È½Äê¤òºî¤ëºÝ¤ËÌòΩ¤Ä

¡¡¿¯ÆþȽÄê¤Ë¤Ï OnTriggerEnter2D ¥á¥½¥Ã¥É¤òËɱҵòÅÀ¦¤Î¥¹¥¯¥ê¥×¥È¤Ë¼ÂÁõ¤¹¤ëÊýË¡¤¬°ìÈ֤狼¤ê¤ä¤¹¤¤À߷פˤʤê¤Þ¤¹¡£
¤½¤ÎÃæ¤Ç¡¢Âѵ×ÎϤθº»»½èÍý¤ò¤·¤¿¤ê¡¢Å¨¥­¥ã¥é¤òÇ˲õ¤·¤¿¤ê¤È¤¤¤Ã¤¿½èÍý¤ò¼ÂÁõ¤¹¤ë¥¤¥á¡¼¥¸¤Ç¤¹¡£

¡¡OnTriggerEnter2D ¥á¥½¥Ã¥É¤òÍøÍѤ¹¤ë¾ì¹ç¡¢¥¹¥¯¥ê¥×¥È¤òºîÀ®¤·¤Æ¿¯ÆþȽÄê¤Î½èÍý¤òºîÀ®¤·¤Æ¤¤¤¯¤³¤È¤Ë¤Ê¤ê¤Þ¤¹¤¬¡¢
¿¯ÆþȽÄê¤Ï¥¹¥¯¥ê¥×¥È¤À¤±¤Ç¤Ï¼ÂÁõ½ÐÍè¤Þ¤»¤ó¡£¤¤¤Þ¤Þ¤Ç³Ø½¬¤·¤Æ¤­¤¿¤³¤È¤ò¿¶¤êÊ֤äƤ¤¤¿¤À¤¯¤È¤ï¤«¤ë¤è¤¦¤Ë
¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¦¤Ë¤â¿¯ÆþȽÄê¤ò¼Â¸½¤¹¤ë¤¿¤á¤ÎÀßÄ꤬ɬÍפˤʤê¤Þ¤¹¡£

¡¡¿¯ÆþȽÄê¤È¤Ï¤É¤ó¤Ê½èÍý¤Ê¤Î¤«¡¢¤É¤ó¤Ê¥³¥ó¥Ý¡¼¥Í¥ó¥È¤äÀßÄ꤬ɬÍפˤʤë¤Î¤«¤ò¹Í¤¨¡¢Éü½¬¤â·ó¤Í¤Æ¼ÂÁõ¤Ë¥Á¥ã¥ì¥ó¥¸¤·¤Þ¤·¤ç¤¦¡£

¡¡Å¨¥­¥ã¥é¤«¤é¤Î¥À¥á¡¼¥¸¤òÄê¿ô¤Ç¤Ï¤Ê¤¯¤ÆŨ¥­¥ã¥é¤Î¹¶·âÎϤ«¤é»²¾È¤¹¤ë¤è¤¦¤Ë¤¹¤ë¤¿¤á¤Ë¤Ï¡¢
Ũ¥­¥ã¥é¦¤Î¥¹¥¯¥ê¥×¥È(EnemyController) ¤Ë¾ðÊó¤ò»ý¤¿¤»¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£¤³¤Á¤é¤ò»²¾È¤·¤ÆÍøÍѤ¹¤ë¤³¤È¤ò¹Í¤¨¤Æ¤ß¤Æ¤¯¤À¤µ¤¤¡£


£²¡¥»²¹Í¥³¡¼¥É


¡¡¼«Ê¬¤Ç¥í¥¸¥Ã¥¯¤òÀ߷פ·¤ÆÆ°ºî³Îǧ¤ò¤·¤Æ¤ß¤Þ¤·¤ç¤¦¡£
¤â¤·¤â¾å¼ê¤¯¼ÂÁõ½ÐÍè¤Ê¤¤¾ì¹ç¤Î¤¿¤á¡¢¥µ¥ó¥×¥ë¥³¡¼¥É¤òÄ󼨤·¤Æ¤ª¤­¤Þ¤¹¡£

¡¡ÌäÂê¤Ê¤¯¼ÂÁõ½ÐÍ褿¾ì¹ç¤Ë¤â°ìÅÙÌܤòÄ̤·¤Æ¤ª¤¯¤È³Ø½¬¤Ë¤Ê¤ê¤Þ¤¹¡£
¤³¤ÎÆâÍƤ˽ñ¤­´¹¤¨¤ëɬÍפϤ¢¤ê¤Þ¤»¤ó¡£¼«Ê¬¤Î½ñ¤¤¤¿½èÍý¤Ë¼«¿®¤ò»ý¤Á¤Þ¤·¤ç¤¦¡£



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



£³¡¥²èÌ̤ËÂѵ×ÎϤòɽ¼¨¤¹¤ëÊýË¡¤ò¹Í¤¨¤ë


¡¡¸½ºß¤Î½ê¡¢Âѵ×ÎϤϸº»»¤Ç¤­¤ë¤è¤¦¤Ë¤Ê¤ê¤Þ¤·¤¿¤¬¡¢¤½¤ì¤¬¥²¡¼¥à²èÌ̤Ëɽ¼¨¤µ¤ì¤Æ¤¤¤Ê¤¤¤¿¤á¡¢
¤É¤Î°Ì¤ÎÂѵ×ÎϤ¬»Ä¤Ã¤Æ¤¤¤ë¤Î¤«¤¬¥æ¡¼¥¶¡¼¤ÏÇÄ°®¤Ç¤­¤Þ¤»¤ó¡£

¡¡¿§¡¹¤Ê¥²¡¼¥à¤ò»²¹Í¤Ë¤·¤Ê¤¬¤é¡¢¤É¤¦¤¤¤Ã¤¿¼êË¡¤Ç¥²¡¼¥à²èÌ̤Ëɽ¼¨¤¹¤ì¤Ð¤¤¤¤¤«¤òÀ߷פ·¤Æ¡¢¥í¥¸¥Ã¥¯¤ò¹Í¤¨¤Æ¤¤¤­¤Þ¤·¤ç¤¦¡£

¡¡¿ô»úɽ¼¨¤Ç¤â¤è¤¤¤Ç¤¹¤·¡¢¥²¡¼¥¸É½¼¨¤Ç¤â¤¤¤¤¤Ç¤¹¡£¤É¤Á¤é¤â DOTween ¤Îµ¡Ç½¤òÍøÍѤ¹¤ë¤³¤È¤Ç¥¢¥Ë¥á±é½Ð¤¬²Äǽ¤Ç¤¹¡£


¡ã¥²¡¼¥¸É½¼¨¤Î¾ì¹ç¡ä



¡¡¤³¤ì¤é¤ò¥²¡¼¥à²èÌ̾å¤Ëɽ¼¨¤¹¤ë¤¿¤á¤Ë¤Ï¤É¤Î¤è¤¦¤Ê¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤¬É¬Íפˤʤë¤Î¤«¤ò¹Í¤¨¤Þ¤¹¡£
¤½¤Î¸å¡¢¤½¤Î¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤òÀ©¸æ¤¹¤ëÊýË¡¤ò¹Í¤¨¤Þ¤¹¡£
Î㤨¤Ð¡¢¿ô»ú¤òɽ¼¨¤¹¤ë¤Î¤Ç¤¢¤ì¤Ð Text ¥³¥ó¥Ý¡¼¥Í¥ó¥È¤ÎÀ©¸æ¤¬É¬Íפˤʤê¤Þ¤¹¤·¡¢
¥²¡¼¥¸É½¼¨¤Ç¤¢¤ì¤Ð Image ¥³¥ó¥Ý¡¼¥Í¥ó¥È¤ä Slider ¥³¥ó¥Ý¡¼¥Í¥ó¥È¤ÎÀ©¸æ¤¬É¬Íפˤʤê¤Þ¤¹¡£

¡¡Á´ÂΤÎή¤ì¤ò¥¤¥á¡¼¥¸¤·¡¢É¬ÍפʾðÊó¤¬Ê¬¤«¤Ã¤Æ¤«¤é¡¢¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤ÎºîÀ®¤ä
¥¹¥¯¥ê¥×¥È¤ÎºîÀ®¤È½¤Àµ¤ò¹Ô¤¦¤è¤¦¤Ë¤·¤Æ¤¤¤­¤Þ¤¹¡£


£²£¹¡¥ËɱÒÍѤÎÌ£Êý¥­¥ã¥é¤Î¥Ç¡¼¥¿¥Ù¡¼¥¹¤òºîÀ®¤·¡¢»ÅÍͤȱ¿ÍÑ¤Î¥í¥¸¥Ã¥¯¤ò¹Í¤¨¤Æ¼ÂÁõ¤¹¤ë

£±¡¥À߷פò¹Í¤¨¤ë


¡¡ËɱÒÍѤÎÌ£Êý¥­¥ã¥é¤Ï¸½ºß£±¼ïÎà¤Ç¤¹¡£¥¿¥ï¡¼¥Ç¥£¥Õ¥§¥ó¥¹¥²¡¼¥à¤Ë¤ÏÀ­Ç½¤¬°Û¤Ê¤ë¿¤¯¤Î¥­¥ã¥é¤¬Åо줷¡¢
¤½¤ì¤ò¥³¥¹¥È¤Ê¤É¤Î¾õÂÖ¤ò¤ß¤Ê¤¬¤éÀïά¤ò¹Í¤¨¤ÆÇÛÃÖ¤¹¤ë¤³¤È¤¬³Ú¤·¤ß¤Î£±¤Ä¤Ë¤Ê¤Ã¤Æ¤¤¤Þ¤¹¡£

¡¡º£¸å¤Î¤¿¤á¤Ë¡¢ËɱÒÍѤÎÌ£Êý¥­¥ã¥é¤Ë¤Ä¤¤¤Æ¤Ï¥Ç¡¼¥¿²½¤ò¹Ô¤¤¡¢¤½¤ì¤ò¤Þ¤È¤á¤¿¥Ç¡¼¥¿¥Ù¡¼¥¹¤òºîÀ®¤·¤Æ¤ª¤¯¤³¤È¤Ç
¥²¡¼¥àÆâ¤ÇÌ£Êý¥­¥ã¥é¤Î¾ðÊó¤òÍøÍѤǤ­¤ë¤è¤¦¤ÊÀ߷פò¹Í¤¨¤Æ¤ß¤Æ¤¯¤À¤µ¤¤¡£

¡¡Ì£Êý¥­¥ã¥é¤Î¥Ç¡¼¥¿¤Ï¥¹¥¯¥ê¥×¥È¤òºîÀ®¤·¡¢¤½¤ì¤ò List ¤Ç¤Þ¤È¤á¤Æ¥¹¥¯¥ê¥×¥¿¥Ö¥ë¡¦¥ª¥Ö¥¸¥§¥¯¥È¤òºîÀ®¤·¤Æ
¥Ç¡¼¥¿¥Ù¡¼¥¹¤òºîÀ®¤¹¤ë¤è¤¦¤Ê¤â¤Î¤¬¤ª¤¹¤¹¤á¤Ç¤¹¡£

¡¡¥¤¥ó¥¹¥Ú¥¯¥¿¡¼¤«¤éÀßÄê¤â¤Ç¤­¤ë¤¿¤á¡¢»ë³ÐŪ¤«¤Ä´ÉÍý¤·¤ä¤¹¤¯¡¢¾ðÊó¤ÎÄɲᦽ¤Àµ¤âÍưפǤ¹¡£


£²¡¥¥¹¥¯¥ê¥×¥¿¥Ö¥ë¡¦¥ª¥Ö¥¸¥§¥¯¥È¤È¤Ï


¡¡¥­¥ã¥é¤ä¥¨¥Í¥ß¡¼¡¢¥¢¥¤¥Æ¥à¤Ê¤É¤Î¥Ç¡¼¥¿¤Ê¤É¤ò°·¤¦¾ì¹ç¤Ë¡¢Ê£¿ô¤Î¥Ç¡¼¥¿¤ò£±¤Ä¤Î¤Þ¤È¤Þ¤ê¤È¤·¤Æ´ÉÍý¤Ç¤­¤ë¥Ç¡¼¥¿¥Ù¡¼¥¹¤Î¤è¤¦¤Ê¤â¤Î¤¬¤¢¤ë¤È°·¤¤¤¬³Ú¤Ë¤Ê¤ê¤Þ¤¹¡£

¡¡Unity¤Ë¤Ï¥¹¥¯¥ê¥×¥¿¥Ö¥ë¡¦¥ª¥Ö¥¸¥§¥¯¥È¤È¤¤¤¦µ¡Ç½¡Ê¤³¤Á¤é¤Ï¥¢¥»¥Ã¥È¤È¤·¤Æ¥Ç¡¼¥¿¥Ù¡¼¥¹¤ò°·¤¦ÊýË¡¡Ë¤¬¤¢¤ê¤Þ¤¹¤Î¤Ç¡¢º£²ó¤Ï¤³¤Îµ¡Ç½¤òÍøÍѤ·¤Æ¤¤¤­¤Þ¤¹¡£

¡¡¥¹¥¯¥ê¥×¥¿¥Ö¥ë¡¦¥ª¥Ö¥¸¥§¥¯¥È¤òºîÀ®¤¹¤ë¤¿¤á¤Ë¤Ï¡¢ÀìÍѤΥ¹¥¯¥ê¥×¥È¤òºîÀ®¤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£¤½¤ÎºîÀ®ÊýË¡¤ò³Ø½¬¤·¤Þ¤¹¡£

¡¡º£²óºîÀ®¤¹¤ë¥¹¥¯¥ê¥×¥¿¥Ö¥ë¡¦¥ª¥Ö¥¸¥§¥¯¥È¤Ï¥­¥ã¥é¤Î¥Ç¡¼¥¿¤ò´ÉÍý¤¹¤ëÌÜŪ¤ÇºîÀ®¤ò¹Ô¤¤¤Þ¤¹¡£
¤½¤Î¤¿¤á¡¢¥¹¥¯¥ê¥×¥ÈÆâ¤Ë¤Ï¡¢¥­¥ã¥é¤Î£±ÂÎʬ¤Î¥Ç¡¼¥¿¤ò¤Þ¤È¤á¤ë¤¿¤á¤Î CharaData ¥¯¥é¥¹¤òÍÑ°Õ¤·¤Þ¤¹¡£

¡¡CharaData ¥¯¥é¥¹¤Ï¡¢¥­¥ã¥é£±ÂÎʬ¤Î¥Ç¡¼¥¿¤ò£±¤Ä¤Ë¤Þ¤È¤á¤Æ¤¤¤ë¾ðÊ󷲤Ǥ¹¡£
¸½ºß¤Ï¹¶·âÈϰϤ乶·âÎϤȤ¤¤Ã¤¿Ãͤò¸ÄÊ̤ËÍÑ°Õ¤·¤Æ¤¤¤Þ¤¹¤¬¡¢¤³¤ì¤ò£±¤Ä¤Î¥Ç¡¼¥¿·²¤È¤·¤Æ¤Þ¤È¤á¤Æ´ÉÍý¤¹¤ë¤¿¤á¤Î¥¯¥é¥¹¤Ë¤Ê¤ê¤Þ¤¹¡£
CharaData ¥¯¥é¥¹Æâ¤ËÍÑ°Õ¤·¤¿ÊÑ¿ô¤¬¥­¥ã¥é¤Î¥Ç¡¼¥¿¤Ë¤Ê¤ê¤Þ¤¹¤Î¤Ç¡¢¤É¤¦¤¤¤Ã¤¿¾ðÊó¤ò»ý¤¿¤»¤¿¤¤¤Î¤«¡¢²¿¤¬É¬Íפ«¤ò¹Í¤¨¤Æ¤ß¤Þ¤·¤ç¤¦¡£
¥¨¥Í¥ß¡¼¤ò¹¶·â¤¹¤ë¤¿¤á¤Î¹¶·âÈϰϤ䡢¹¶·âÎϤȤ¤¤Ã¤¿¾ðÊ󤬤½¤ì¤é¤ËÅö¤¿¤ê¤Þ¤¹¡£

¡¡¤³¤Î CharaData ¥¯¥é¥¹¤Ï¡¢¥²¡¼¥à¤ËÅо줹¤ë¥­¥ã¥é¤Î¿ô¤À¤±ÍÑ°Õ¤¹¤ë¤³¤È¤Ë¤Ê¤ê¤Þ¤¹¤Î¤Ç¡¢¤½¤ì¤ò´ÉÍý¤¹¤ë¤¿¤á¤Ë List µ¡Ç½¤òÍøÍѤ·¤Þ¤¹¡£

¡¡¤³¤Î£²¤Ä¤Î¾ðÊó¤ò´ÉÍý¤·¤Æ´°À®¤¹¤ë¤Î¤¬¥¹¥¯¥ê¥×¥¿¥Ö¥ë¡¦¥ª¥Ö¥¸¥§¥¯¥È¤Ë¤Ê¤ê¤Þ¤¹¡£
¤É¤Î¤è¤¦¤Ê¹½À®¤Ë¤Ê¤Ã¤Æ¤¤¤ë¤«¤Ï¥¹¥¯¥ê¥×¥ÈºîÀ®¸å¤ËÀâÌÀ¤ò¤·¤Æ¤¤¤Þ¤¹¤Î¤Ç¡¢¤½¤Á¤é¤ò¤·¤Ã¤«¤ê¤È³Ø½¬¤·¤Æ¤¯¤À¤µ¤¤¡£

¡¡¤Þ¤º¤ÏºÇ½é¤Ë CharaData ¥¯¥é¥¹¤òºîÀ®¤¹¤ë¤¿¤á¤ËɬÍפʥ­¥ã¥é¤Î¹¶·âÈϰϤΥ¿¥¤¥×¤òÅÐÏ¿¤¹¤ë AttackRangeType ¤ò enum ¤Ë¤ÆºîÀ®¤·¤Æ¤«¤é¡¢
¥¹¥¯¥ê¥×¥¿¥Ö¥ë¡¦¥ª¥Ö¥¸¥§¥¯¥ÈÍѤΥ¹¥¯¥ê¥×¥È¤ò½çÈ֤˺îÀ®¤·¤Æ¤¤¤­¤Þ¤¹¡£


£³¡¥AttackRangeType ¤òºîÀ®¤¹¤ë


¡¡º£²ó¤Ï¹¶·âÈϰϤˤĤ¤¤Æ¤Ï¡¢¿·¤·¤¯ enum ¤òºîÀ®¤·¤Æ¤ª¤¯¤È´ÉÍý¤¬Íưפˤʤê¤Þ¤¹¡£

¡¡enum (¥¤¡¼¥Ê¥à) ¤òÍøÍѤ·¤Æ¡¢¥­¥ã¥é¤Î¹¶·âÈϰϤμïÎà¤ò»öÁ°¤ËÅÐÏ¿¤·¡¢¤³¤Î¾ðÊó¤ò¥­¥ã¥é¤Î»ý¤Ä¾ðÊó¤È¤·¤Æ CharaData ¥¯¥é¥¹Æâ¤ËÀßÄê¤Ç¤­¤ë¤è¤¦¤Ë¤·¤Þ¤¹¡£
enum ¤Î¤ß¤Ç¥¹¥¯¥ê¥×¥È¤òºîÀ®¤¹¤ë¾ì¹ç¡¢using ¤ÎÀë¸À¤ä¡¢MonoBehaviour(¥â¥Î¥Ó¥Ø¥¤¥Ó¥¢) ¥¯¥é¥¹¤Î·Ñ¾µ¤ÏÉÔÍפǤ¹¡£
¤½¤·¤Æ¤É¤Î¥¹¥¯¥ê¥×¥È¤«¤é¤Ç¤âÊÑ¿ô¤ÎÂåÆþ¤Ê¤·¤ÇÍøÍѲÄǽ¤Ë¤Ê¤ê¤Þ¤¹¡£

¡¡enum ¤Ç¤Ï¥²¡¼¥àÆâ¤ËÅо줵¤»¤¿¤¤¼ïÎà¤Î¾ðÊó¤ò¡¢Îóµó»Ò(¤ì¤Ã¤­¤ç¤·)¤È¤¤¤¦·Á¤Ç¼ïÎà¤òºîÀ®¤Ç¤­¤Þ¤¹¡£
º£²ó¤Ï¡¢¥­¥ã¥é¤Î¹¶·âÈϰϤμïÎà¡¢¤È¤¤¤¦¾ðÊó¤ò AttackRangeTypeType ¤È¤¤¤¦Ì¾Á°¤ÇºîÀ®¤·¡¢¤½¤ÎÃæ¤Ë¹¶·âÈϰϤμïÎà¤òÅÐÏ¿¤·¤Æ¤ª¤­¤Þ¤¹¡£
¤³¤ì¤ÏÄɲòÄǽ¤Ê¾ðÊó¤Ç¤¹¤Î¤Ç¡¢À衹¤Ë'¹¶·âÈϰϤμïÎबÁý¤¨¤Æ¤âÂбþ¤Ç¤­¤Þ¤¹''¡£

¡¡enum ¤ËÅÐÏ¿¤·¤¿Îóµó»Ò¤Ë±þ¤¸¤Æ¡¢¥­¥ã¥é¤Î¹¶·âÈϰϤǤ¢¤ë AttackRangeArea ¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤Î
BoxCollider ¥³¥ó¥Ý¡¼¥Í¥ó¥È¤ÎÀ©¸æ¤ò¹Ô¤¦¤è¤¦¤Ë¹Í¤¨¤Æ¤ß¤Æ¤¯¤À¤µ¤¤¡£



AttackRangeType.cs

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


¡¡¥¹¥¯¥ê¥×¥È¤òºîÀ®¤·¤¿¤é¥»¡¼¥Ö¤·¤Þ¤¹¡£

¡¡£³¤Ä°Ê¾å¤Î¾ðÊó¤ò´ÉÍý¤¹¤ë¾ì¹ç¤Ë¤Ï¡¢enum ¤Ç¤½¤Î¼ïÎà¤òÅÐÏ¿¤·¤Æ¤ª¤¯¤³¤È¤ò¤ª¤¹¤¹¤á¤·¤Þ¤¹¡£
enum ¤òÍøÍѤ¹¤ë¾ì¹ç¡¢¤½¤ÎÅÐÏ¿¤·¤Æ¤¢¤ëÎóµó»Ò¤«¤é¤·¤«¾ðÊó¤ò»ØÄê¤Ç¤­¤Þ¤»¤ó¤Î¤Ç¡¢
Î㤨¤Ð¡¢Ê¸»úÎó¤È°Û¤Ê¤ê¡¢»ØÄê¤ËºÝ¤·¤ÆÂǤÁ´Ö°ã¤¨¤¬È¯À¸¤·¤Þ¤»¤ó¤Î¤Ç¡¢ÉÔÈ÷¤ÎÃͤ¬Æþ¤ë¤³¤È¤âËɤ°¤³¤È¤¬½ÐÍè¤Þ¤¹¡£

¡¡¥²¡¼¥à¤ÎÆâÍƤ˱þ¤¸¤¿ enum ¤ò¹Í¤¨¤ÆºîÀ®¤·¤Æ±¿ÍѤ·¤Þ¤¹¡£
¥×¥ì¥¤¥ä¡¼¤Î¾õÂÖÍÑ(ÆÇ¡¢º®Íð¡¢áã¤ì¤È¤«)¡¢¥¢¥¤¥Æ¥à¤Î¼ïÎà(¾ÃÌ×ÉÊ¡¢Éð´ï¡¢Ëɶñ¡¢¤Ê¤É)¡¢
¥²¡¼¥à¤Î¾õÂÖ´ÉÍý(¥²¡¼¥à³«»ÏÁ°¡¢¥²¡¼¥àÃæ¡¢¥²¡¼¥à½ªÎ»¡Ë¤Ê¤É¡¢Èó¾ï¤Ë±þÍѤ¬Íø¤¯µ¡Ç½¤Ç¤¹¡£



¡¡¤Ê¤ª enum ¤Ç¤Ï³ÆÎóµó»Ò¤Ë¼«Æ°Åª¤ËÀ°¿ô¤ÎÈֹ椬Ϳ¤¨¤é¤ì¤Þ¤¹¡£°ìÈ־夫¤é 0 ¤ÇÏ¢È֤ˤʤäƤ¤¤Þ¤¹¡£
º£²ó¤Î¾ì¹ç¤Ç¤¢¤ì¤Ð¡¢Normal_0 ¤Ë¤Ï 0¡¢Boss ¤Ë¤Ï 2 ¤Î¿ô»ú¤¬Í¿¤¨¤é¤ì¤Æ¤¤¤Þ¤¹¡£

¡¡¤³¤ÎÈÖ¹æ¤Ï¸«¤¨¤Ê¤¤¾ðÊó¤Ç¤¹¤¬¡¢Îóµó»Ò¤ò int ·¿¤Ë¥­¥ã¥¹¥È¤ò¹Ô¤¦¤³¤È¤Ç¼èÆÀ¤·¤ÆÍøÍѽÐÍè¤Þ¤¹¡£
²¼µ­¤ÎÎã¤Î¾ì¹ç¡¢enumValue ¤Ë¤Ï 1 ¤¬ÂåÆþ¤µ¤ì¤Þ¤¹¡£

¡ãenum ¤ÎÎóµó»Ò¤Î¥­¥ã¥¹¥È¡ä
int  enumValue = (int)AttackRangeType.Short;

¡¡¤Þ¤¿¡¢Îóµó»Ò¤ÎÀë¸À»þ¤Ë¿ô»ú¤ò»ØÄꤷ¤ÆÂåÆþ¤¹¤ë¤³¤È¤â²Äǽ¤Ç¤¹¡£¤½¤Î¾ì¹ç¤Ë¤ÏÏ¢È֤ǤϤʤ¯¡¢»ØÄꤷ¤¿¿ôÃͤò¼èÆÀ½ÐÍè¤Þ¤¹¡£

¡ã¿ô»ú¤ÎÂåÆþ¤ÎÎã(º£²ó¤³¤ÎÊý¼°¤ÏÍøÍѤ·¤Þ¤»¤ó)¡ä
EnemyType.cs
public enum EnemyType {
    Short = 10,
    Middle = 5,
    Long = 100
}

¡¡¾åµ­¤Î¤è¤¦¤ËÂåÆþ¤µ¤ì¤Æ¤¤¤ë¾ì¹ç¤Ë¤Ï¡¢Îóµó»Ò¤ò int ·¿¤Ë¥­¥ã¥¹¥È¤¹¤ë¤È¡¢ÂåÆþ¤·¤Æ¤¢¤ëÃͤ¬¼èÆÀ½ÐÍè¤Þ¤¹¡£
º£²ó¤Ï¿ô»ú¤ÎÂåÆþ¤Ï¹Ô¤Ã¤Æ¤¤¤Þ¤»¤ó¤Î¤Ç°ìÈÖ¾å¤ÎÎóµó»Ò¤Ë¤Ï 0 ¤«¤é½çÈ֤˺ÎÈÖ¤µ¤ì¤Æ¤¤¤Þ¤¹¡£


£´¡¥CharaData ¤òºîÀ®¤¹¤ë


¡¡Ì£Êý¥­¥ã¥é¤Î¥Ç¡¼¥¿¤ò¹Í¤¨¤ëºÝ¤Ë¤Ï¡¢£±¤Ä¤Î¥­¥ã¥é¤´¤È¤Ë¡¢¤É¤Î¤è¤¦¤Ê¾ðÊó¤ò»ý¤Ã¤Æ¤¤¤ì¤Ð
¥²¡¼¥àÆâ¤Ç³èÍѤǤ­¤ë¤Î¤«¤ò¹Í¤¨¤Æ¤½¤ì¤ò¥¹¥¯¥ê¥×¥È¤ÎÊÑ¿ô¤È¤·¤ÆÍî¤È¤·¹þ¤ó¤Ç¤¤¤­¤Þ¤·¤ç¤¦¡£

¡¡¸½ºß CharaController ¥¯¥é¥¹¤Ë¤¢¤ë¾ðÊó¤ò¸µ¤Ë¡¢É¬ÍפʾðÊó¤ò½ñ¤­½Ð¤·¤Æ¤ß¤Æ¤¯¤À¤µ¤¤¡£
¤½¤ì¤é¤Ï¤É¤Î¤è¤¦¤Ê·¿¤Ç¤¢¤ì¤Ð¥²¡¼¥àÆâ¤ÇÍøÍѤ¬¤·¤ä¤¹¤¤¤«¡¢°ì½ï¤Ë¹Í¤¨¤Æ¤ª¤­¤Þ¤¹¡£


¡ãCharaData ¥¯¥é¥¹¤Î»²¹Í¥¤¥á¡¼¥¸¡ä
¡¡Ä̤·Èֹ桡 =>  ¤½¤ì¤¾¤ì¤Î·¿¤Ï¡©
¡¡Ì¾Á°
¡¡¹¶·âÎÏ
¡¡¹¶·â¤Þ¤Ç¤ÎÂÔµ¡»þ´Ö
¡¡¥³¥¹¥È
¡¡¹¶·âÈÏ°Ï
¡¡¹¶·â²ó¿ô
¡¡¾ÜºÙ¾ðÊó
¡¡
¡¡¡Ê²Äǽ¤Ê¤é¡Ë
¡¡²èÁü¤ä¥¢¥Ë¥á¡¼¥·¥ç¥ó¥¯¥ê¥Ã¥×




CharaData.cs

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


¡¡¥¹¥¯¥ê¥×¥È¤òºîÀ®¤·¤¿¤é¥»¡¼¥Ö¤ò¹Ô¤¤¤Þ¤¹¡£


£µ¡¥[System.Serializable¡Ê¥·¥ê¥¢¥é¥¤¥¶¥Ö¥ë¡Ë]°À­


¡¡CharaData ¥¯¥é¥¹¤Î£±¹Ô¾å¤Ë¤Ï¾åµ­¤ÎÀë¸À¤¬¤¢¤ê¤Þ¤¹¡£[ ]¤ÇÀë¸À¤µ¤ì¤¿ÀßÄêÃͤϡÖ°À­¡×¤È¸Æ¤Ð¤ì¤ë¾ðÊó¤Ë¤Ê¤ê¡¢ÆÃÊ̤ʰÕÌ£¤ò»ý¤Á¤Þ¤¹¡£

¡¡º£²óÍøÍѤ·¤Æ¤¤¤ë[System.Serializable]°À­¤Ï¡¢System¤Ë´Þ¤Þ¤ì¤Æ¤¤¤ëÀßÄêÃͤǤ¢¤ê¡¢¤³¤Á¤é¤òÀë¸À¤¹¤ë¤³¤È¤Ç¥¯¥é¥¹¤Î¾ðÊó¤ò¥¤¥ó¥¹¥Ú¥¯¥¿¡¼¤Ëɽ¼¨¤¹¤ë¤³¤È¤¬½ÐÍè¤Þ¤¹¡£
¤³¤ì¤ò½ñ¤­Ëº¤ì¤Æ¤·¤Þ¤¦¤È¡¢¥¤¥ó¥¹¥Ú¥¯¥¿¡¼¤Ë CharaData ¤ÎÆâÍƤ¬É½¼¨¤µ¤ì¤º¡¢¥Ç¡¼¥¿¤ò¥¤¥ó¥¹¥Ú¥¯¥¿¡¼¤«¤éÅÐÏ¿¤¹¤ë¤³¤È¤¬½ÐÍè¤Þ¤»¤ó¡£
[Serializable]°À­¤òÀë¸À¤¹¤ëºÝ¤Ë¡¢using System; ¤òÀë¸À¤·¤Æ¤¤¤ë¾ì¹ç¤Ë¤Ï [Serializable] ¤È¤À¤±µ­½Ò¤¹¤ì¤ÐŬÍѤµ¤ì¤Þ¤¹¡£
using ¤ËÀë¸À¤·¤Æ¤¤¤Ê¤¤¾ì¹ç¤Ë¤Ï [System.Serializable] ¤Èµ­½Ò¤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£


£¶¡¥CharaDataSO ¥¹¥¯¥ê¥×¥È¤òºîÀ®¤¹¤ë


¡¡¥¹¥¯¥ê¥×¥¿¥Ö¥ë¡¦¥ª¥Ö¥¸¥§¥¯¥È¤òºîÀ®¤¹¤ë¤¿¤á¤ËɬÍ×¤Ê CharaDataSO ¥¹¥¯¥ê¥×¥È¤òºîÀ®¤·¤Þ¤¹¡£
¥¹¥¯¥ê¥×¥¿¥Ö¥ë¡¦¥ª¥Ö¥¸¥§¥¯¥ÈÀìÍѤΠScriptableObject ¥¯¥é¥¹¤ò·Ñ¾µ¤·¡¢[CreateAssetMenu] °À­¤òµ­½Ò¤¹¤ë¤³¤È¤ÇºîÀ®²Äǽ¤Ë¤Ê¤ê¤Þ¤¹¡£

¡¡¤Ê¤ª¡¢CreateAssetMenu °À­¤Ï¡¢¥¨¥Ç¥£¥¿¡¼¤Î³ÈÄ¥µ¡Ç½¤òÉÕÍ¿¤¹¤ë¤â¤Î¤Ç¡¢¥¹¥¯¥ê¥×¥¿¥Ö¥ë¡¦¥ª¥Ö¥¸¥§¥¯¥È¤Ë¸Â¤Ã¤¿¤â¤Î¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó¡£
¤³¤Î°À­¤òÉÕÍ¿¤¹¤ë¤È¡¢±¦¥¯¥ê¥Ã¥¯¤ò¤·¤Æ¥á¥Ë¥å¡¼¤ò¤·¤¿ºÝ¤Ë¡¢¿·¤·¤¯¼«Ê¬¤Çºî¤Ã¤¿¥á¥Ë¥å¡¼¤òÄɲ乤뤳¤È¤¬¤Ç¤­¤ëµ¡Ç½¤Ç¤¹¡£
º£²ó¤Ï¤³¤Îµ¡Ç½¤ò³èÍѤ·¤Æ¡¢¥¹¥¯¥ê¥×¥¿¥Ö¥ë¡¦¥ª¥Ö¥¸¥§¥¯¥È¤òºîÀ®¤¹¤ë³ÈÄ¥µ¡Ç½¤òÉÕÍ¿¤·¤Æ¤¤¤ë¤³¤È¤Ë¤Ê¤ê¤Þ¤¹¡£
¡¡


¡¡¥¹¥¯¥ê¥×¥¿¥Ö¥ë¡¦¥ª¥Ö¥¸¥§¥¯¥È¤Ç¤Ï¡¢»ØÄꤷ¤¿¥Ç¡¼¥¿¤òÊ£¿ô¤Î¥Ç¡¼¥¿¤È¤·¤Æ¤Þ¤È¤á¤Æ´ÉÍý¤¹¤ë¤³¤È¤¬½ÐÍè¤Þ¤¹¡£
¤½¤Î¤¿¤á¡¢¥Ç¡¼¥¿¥Ù¡¼¥¹¤È¤·¤Æ¤ÎÌò³ä¤ò²Ì¤¿¤¹¤³¤È¤¬²Äǽ¤Ë¤Ê¤Ã¤Æ¤¤¤Þ¤¹¡£

¡¡º£²ó»ØÄꤷ¤Æ´ÉÍý¤·¤¿¤¤¥Ç¡¼¥¿¤Ï¥­¥ã¥é¤Î¥Ç¡¼¥¿·²¤Ç¤¹¡£
¤½¤Î¤¿¤á¡¢¥¹¥¯¥ê¥×¥¿¥Ö¥ë¡¦¥ª¥Ö¥¸¥§¥¯¥ÈÆâ¤ËɬÍפʾðÊó¤Ï°Ê²¼¤Î£²¤Ä¤Ç¤¹¡£

¡¡£±¡¥¥­¥ã¥é£±ÂÎñ°Ì¤Ç¤Î¥Ç¡¼¥¿(¹¶·âÈÏ°Ï¡¢¹¶·âÎÏ¡¢²èÁü¤Ê¤É¤Î¥Ç¡¼¥¿·²)¤ò°·¤¦¥¯¥é¥¹
¡¡£²¡¥¥­¥ã¥é¤Î¥Ç¡¼¥¿¤ò¤Þ¤È¤á¤ë List(¥ê¥¹¥È)

¡¡£±¤Ë¤Ä¤¤¤Æ¤Ï¡¢¤¹¤Ç¤Ë CharaData ¥¯¥é¥¹¤òºîÀ®ºÑ¤Ç¤¹¤Î¤Ç¡¢¤³¤Î¾ðÊó¤ò³èÍѤ·¤Æ¡¢£²¤Î List ¤òºîÀ®¤¹¤ëÉôʬ¤¬¥¹¥¯¥ê¥×¥¿¥Ö¥ë¡¦¥ª¥Ö¥¸¥§¥¯¥È¤¬É¬Íפˤʤê¤Þ¤¹¡£

¡¡¤Þ¤º¤ÏºÇ½é¤Ë¥¹¥¯¥ê¥×¥È¤òµ­½Ò¤·¤Æ¤«¤é¡¢ÆâÍƤò³Îǧ¤·¤Þ¤·¤ç¤¦¡£



CharaDataSO.cs

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


¡¡¥¹¥¯¥ê¥×¥È¤òºîÀ®¤·¤¿¤é¥»¡¼¥Ö¤·¤Þ¤¹¡£


£·¡¥CharaDataSO ¥¹¥¯¥ê¥×¥È¤Î¹½Â¤¤Ë¤Ä¤¤¤Æ


¡¡½èÍý¤ÎÆâÍƤˤĤ¤¤Æ¡¢½çÈ֤˳Îǧ¤·¤Æ¤¤¤­¤Þ¤¹¡£

¡¡£±¡¥¥­¥ã¥é£±ÂÎñ°Ì¤Ç¤Î¥Ç¡¼¥¿(¹¶·âÈÏ°Ï¡¢¹¶·âÎÏ¡¢²èÁü¤Ê¤É¤Î¥Ç¡¼¥¿·²)
¡¡£²¡¥¥­¥ã¥é¤Î¥Ç¡¼¥¿¤ò¤Þ¤È¤á¤ë List(¥ê¥¹¥È)


£±¡¥¥­¥ã¥é£±ÂÎñ°Ì¤Ç¤Î¥Ç¡¼¥¿(¹¶·âÈÏ°Ï¡¢¹¶·âÎÏ¡¢²èÁü¤Ê¤É¤Î¥Ç¡¼¥¿·²)

¡¡CharaController ¥¹¥¯¥ê¥×¥È¤Ë¤Æ´ÉÍý¤·¤Æ¤¤¤¿¥­¥ã¥é¤Î¹¶·âÈϰϤ乶·âÎϤò¸ÄÊ̤ÎÊÑ¿ô¤Ç¤Ï¤Ê¤¯¡¢
£±¤Ä¤Î¥Ç¡¼¥¿Ã±°Ì¤È¤·¤Æ´ÉÍý¤Ç¤­¤ë¤è¤¦¤Ë¡¢ CharaData ¥¯¥é¥¹¤È¤·¤ÆºîÀ®¤·¤Æ¡¢¤³¤Á¤é¤Ë¤Æ´ÉÍý¤ò¹Ô¤¦¤è¤¦¤Ë¤·¤Þ¤¹¡£
ÍøÅÀ¤Ï¡¢£±¤Ä¤Î CharaData ¥¯¥é¥¹Æâ¤Ë¤Ï£±ÂÎʬ¤Î¥­¥ã¥é¤ÎÁ´¥Ç¡¼¥¿¤¬ÅÐÏ¿¤Ç¤­¤ë¤³¤È¤Ç¤¹¡£
¤½¤Î¤¿¤á¡¢Hp ÍÑ¡¢¹¶·âÎÏÍѤȤ¤¤¦¤è¤¦¤ËÊÑ¿ô¤ò¸ÄÊ̤˺î¤ëɬÍפϤʤ¯¡¢CharaData ¤Î¹¶·âÈÏ°Ï¡¢CharaData ¤Î¹¶·âÎϤȤ¤¤¦·Á¤Ç CharaData ¤ò»²¾È¤·¤ÆÍøÍѤǤ­¤ëÉôʬ¤Ç¤¹¡£
Î㤨¤Ð¡¢CharaData.attackPower ¤Èµ­½Ò¤¹¤ì¤Ð¡¢¤½¤ì¤Ï¤½¤Î CharaData ¥¯¥é¥¹¤ËÅÐÏ¿¤µ¤ì¤Æ¤¤¤ë attackPower ¤ÎÃͤò»²¾È¤¹¤ë¤³¤È¤Ë¤Ê¤ê¤Þ¤¹¡£

¡¡¤³¤³¤«¤é¤Ï¥Ô¥ê¥ª¥É¤Ë¤è¤ë»²¾È½èÍý¤¬Áý¤¨¤Æ¤¤¤­¤Þ¤¹¤Î¤Ç¡¢¤·¤Ã¤«¤ê¤È½èÍý¤òÆɤ߲ò¤¤¤Æ¤¤¤­¤Þ¤·¤ç¤¦¡£

[System.Serializable]
public class CharaData
{
    public int charaNo;
    public int cost;
    public Sprite charaSprite;
    public string charaName;

    public int attackPower;
    public AttackRangeType attackRange;
    public float intervalAttackTime;
    public int maxAttackCount;

    [Multiline]
    public string discription;
    
    // TODO ¾¤Ë¤â¤¢¤ì¤ÐÄɲÃ

}

¡¡¤³¤Î¤è¤¦¤Ë¥­¥ã¥é£±ÂÎʬ¤ËɬÍפˤʤë¥Ç¡¼¥¿¤ò¥¯¥é¥¹¤È¤·¤Æ¤Þ¤È¤á¤Æ¤ª¤¯¤³¤È¤Ç´ÉÍý¤ÈÍøÍѤ¬Íưפˤʤê¤Þ¤¹¡£
¤Þ¤¿¡¢¥­¥ã¥é¤Î¾ðÊó¤òÁý¤ä¤·¤¿¤¤(³ÍÆÀ¤Ç¤­¤ë Exp ¤ä°À­¤Ê¤É)¾ì¹ç¤Ë¤Ï¡¢¤³¤Î CharaData ¥¯¥é¥¹Æâ¤Ë ·¿¤ÈÊÑ¿ô¤òÄɵ­¤¹¤ì¤Ð¡¢¹¥¤­¤Ê¤À¤±Áý¤ä¤¹¤³¤È¤â½ÐÍè¤Þ¤¹¡£
¤³¤Î¶µºà¤Ç¤â½çÈÖ¤Ë CharaData ¥¯¥é¥¹¤ËÄɵ­¤·¤Æ¤¤¤­¤Þ¤¹¤Î¤Ç¡¢¤½¤ì¤ò³Îǧ¤¹¤ë¤È¤ï¤«¤ê¤ä¤¹¤¤¤Ç¤·¤ç¤¦¡£


£²¡¥¥­¥ã¥é¤Î¥Ç¡¼¥¿¤ò¤Þ¤È¤á¤ë List(¥ê¥¹¥È)

¡¡CharaData ¥¯¥é¥¹¤Ë¤Ï¥­¥ã¥é£±ÂÎʬ¤ËɬÍפʾðÊó¤ò¤Þ¤È¤á¤ÆÅÐÏ¿¤Ç¤­¤ë¤è¤¦¤Ë¤·¤Þ¤·¤¿¡£
¤³¤Î¥Ç¡¼¥¿¤Ï¥­¥ã¥é£±ÂÎʬ¤Ç¤¹¤Î¤Ç¡¢¤â¤·¤âÊ£¿ô¤Î¥­¥ã¥é¤Î¥Ç¡¼¥¿¤òÍÑ°Õ¤·¤ÆÅÐÏ¿¤·¤¿¤¤¾ì¹ç¡¢
¤³¤Î CharaData ¥¯¥é¥¹¤òÊ£¿ôÍÑ°Õ¤·¤Æ¡¢¤½¤ì¤ò´ÉÍý¤¹¤ë¤¿¤á¤ÎÊÑ¿ô¤¬É¬Íפˤʤê¤Þ¤¹¡£

¡¡ÂçÀڤʤΤϡ¢CharaData £±¤Ä¤Ë¤Ä¤­¡¢£±¤Ä¤ËÊÑ¿ô¤òºî¤Ã¤Æ¤¤¤Ê¤¤Éôʬ¤Ç¤¹¡£
List ·¿¤Ë¤·¤Æ¡¢£±¤Ä¤ÎÊÑ¿ôÆâ¤ËÊ£¿ô¤Î CharaData ¤¬´ÉÍý¤µ¤ì¤Æ¤¤¤ë¤³¤È¤Ë¤è¤Ã¤Æ¡¢£±¤Ä¤Î¥Ç¡¼¥¿·²¤È¤·¤ÆÍøÍѤǤ­¤ë¤è¤¦¤Ë¤·¤Æ¤¤¤Þ¤¹¡£

¡¡¤³¤¦¤¤¤Ã¤¿£±¤Ä¤ÎƱ¤¸¥Ç¡¼¥¿·²¤ò¤Þ¤È¤Þ¤Ã¤¿¤â¤Î¤ò¥³¥ì¥¯¥·¥ç¥ó¤È¤¤¤¤¤Þ¤¹¡£
C# ¤Ë¤Ï¥³¥ì¥¯¥·¥ç¥ó¤ò´ÉÍý¤¹¤ëÊýË¡¤È¤·¤Æ¡¢Dictinary(¥Ç¥£¥¯¥·¥ç¥Ê¥ê¡¼) ¤È List(¥ê¥¹¥È) ¤¬¤¢¤ê¤Þ¤¹¡£



¡¡List ¥¯¥é¥¹¤Ï <T> ¤Ë¥¸¥§¥Í¥ê¥Ã¥¯·¿¡ÊǤ°Õ¤Î·¿¡Ë¤ò»ØÄꤷ¤Æ¡¢Æ±¤¸¥Ç¡¼¥¿·¿¤ò¤Þ¤È¤á¤Æ´ÉÍý¤¹¤ë¥³¥ì¥¯¥·¥ç¥óµ¡Ç½¤ò»ý¤Ä¥¯¥é¥¹¤Ç¤¹¡£
ÇÛÎó¤È°Û¤Ê¤ê¡¢Í×ÁǤò¼«Í³¤ËÄɲᦺï½ü¤Ç¤­¤Þ¤¹¡£(Í×ÁÇ¿ô¤¬²ÄÊѤ¹¤ë)
List ¤Ï¥µ¥¤¥º(Ťµ)¤¬²ÄÊѲÄǽ¤ÊÇÛÎó¤Î¥¤¥á¡¼¥¸¤Ç¤¹¡£

¡¡List ¤òÍøÍѤ¹¤ë¾ì¹ç¤Ë¤ÏÇÛÎó¤ÈƱÍͤ˽é´ü²½¤¬²Äǽ¤Ç¤¹¤¬¡¢List¤Ç¤Ï½é´ü²½»þ¤ËÍ×ÁÇ¿ô¤ÎÀë¸À¤¬ÉÔÍפǤ¹¡£

¡ãÇÛÎó¤Î½é´ü²½¡ä
  CharaData[] charaDatas = new CharaData[3];       // <=  Í×ÁÇ¿ô¤ÎÀë¸À¤¬É¬Í×

¡ãList ¤Î½é´ü²½¡ä
  List<CharaData> charaDatasList = new List<CharaData>();   // <=  Í×ÁÇ¿ô¤ÎÀë¸À¤¬ÉÔÍ×

¡¡¤½¤Î¤¿¤á´ðËÜŪ¤Ë¤Ï¡¢Í½¤áÍ×ÁÇ¿ô¤Î³ÎÄꤷ¤Æ¤¤¤ë¥Ç¡¼¥¿¤ò°·¤¦¾ì¹ç¤Ë¤ÏÇÛÎó¤ò¡¢Í×ÁÇ¿ô¤¬Ì¤³ÎÄê¤Ç¤¢¤Ã¤¿¤ê²ÄÊÑŤǤ¢¤ë¥Ç¡¼¥¿¤Ë¤Ä¤¤¤Æ¤ÏList¤òÍøÍѤ¹¤ë¤è¤¦¤Ë¹Í¤¨¤Æ¤¯¤À¤µ¤¤¡£


»²¹Í¥µ¥¤¥È
.net columnÍÍ
¡Ú½é´ü²½¤ÎÊýË¡¡ÛC#¤ÇÇÛÎó¤ä¥ê¥¹¥È¤ò½é´ü²½¤¹¤ë¤Ë¤Ï¡©
https://www.fenet.jp/dotnet/column/language/713/



¡¡public ½¤¾þ»Ò¤Ë¤Æ List ¤òÀë¸À¤¹¤ë¤³¤È¤Ç¡¢¥¤¥ó¥¹¥Ú¥¯¥¿¡¼¾å¤Ç¥µ¥¤¥º¤ÎÊѹ¹¤¬²Äǽ¤Ç¤¹¡£
Î㤨¤Ð¥­¥ã¥é¤Î¥Ç¡¼¥¿¤ò£³ÂÎʬºî¤Ã¤ÆÅÐÏ¿¤·¤¿¤¤¾ì¹ç¤Ë¤Ï¡¢¥¤¥ó¥¹¥Ú¥¯¥¿¡¼¤Ç List ¤Î¥µ¥¤¥º¤ò 3 ¤ËÀßÄꤹ¤ì¤Ð
CharaData ¥¯¥é¥¹¤¬ 3 ¤Ä¡¢Element 0 ¡Á Element 2 ¤È¤·¤ÆºîÀ®¤µ¤ì¤Þ¤¹¤Î¤Ç¡¢¤³¤³¤Ë¥­¥ã¥é¤Î¥Ç¡¼¥¿¤ò£±ÂΤº¤Ä¡¢¹ç·×£³ÂÎʬÅÐÏ¿¤¹¤ë¤³¤È¤¬½ÐÍè¤Þ¤¹¡£

¡ãCharaData ¥¯¥é¥¹¤ò°·¤¦ List¡ä
    public List<CharaData> charaDatasList = new List<CharaData>();


£¸¡¥CharaDataSO ¥¹¥¯¥ê¥×¥¿¥Ö¥ë¡¦¥ª¥Ö¥¸¥§¥¯¥È¤òºîÀ®¤¹¤ë


¡¡CharaDataSO ¥¹¥¯¥ê¥×¥È¤ò¸µ¤Ë CharaDataSO ¥¹¥¯¥ê¥×¥¿¥Ö¥ë¡¦¥ª¥Ö¥¸¥§¥¯¥È¤òºîÀ®¤·¤Þ¤¹¡£
CharaDataSO ¥¹¥¯¥ê¥×¥È¤ËÍÑ°Õ¤·¤Æ¤¢¤ë CharaData ·¿¤Î List ¤Ç¤¢¤ë charaDatasList ÊÑ¿ô¤¬¥Ç¡¼¥¿¥Ù¡¼¥¹¤ÎÌò³ä¤ò»ý¤Ã¤Æ¤¤¤Þ¤¹¡£



¡¡CharaData ¥¯¥é¥¹¤Ï£±¤Ä¤Î¥Ç¡¼¥¿¾ðÊ󷲤ò°·¤¦¤³¤È¤¬½ÐÍè¤Þ¤¹¡£º£²ó¤Ç¤¢¤ì¤Ð¥­¥ã¥é¤Î£±ÂÎʬ¤Î¾ðÊó¤Ç¤¹¡£
¤½¤Î¤¿¤áÊ£¿ô¤Î¥­¥ã¥é¤Î¾ðÊó¤ò°·¤¦É¬Íפ¬¤¢¤ëº£²ó¤Î¤è¤¦¤Ê¾ì¹ç¤Ë¤Ï¡¢¤½¤Îʬ¤À¤± CharaData ¥¯¥é¥¹¤òÄɲ䷤ƺîÀ®¤·¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó¡£

¡¡¤½¤ì¤é¤ò´ÉÍý¤¹¤ë¤¿¤á¤Ë CharaData ·¿¤Î List ¤òºî¤ê¡¢¤Þ¤È¤á¤Æ´ÉÍý¤ò½ÐÍè¤ë¤è¤¦¤Ë¤·¤Æ¤¤¤Þ¤¹¡£
¤³¤³¤ÇÂçÀڤʤ³¤È¤Ï¡¢£±¤Ä£±¤Ä¤ÎÊ̤ÎÊÑ¿ô¤Ë¸ÄÊÌ¤Ë CharaData ¤¬Â¸ºß¤·¤Æ¤¤¤¿¤Î¤Ç¤Ï¤Þ¤È¤á¤Æ´ÉÍý¤·¤Æ¤¤¤ë¤³¤È¤Ë¤Ï¤Ê¤ê¤Þ¤»¤ó¡£
CharaData¤Î¥ê¥¹¥È¤È¤Ï¤¹¤Ê¤ï¤Á¡¢CharaData¤ò¤Þ¤È¤á¤Æ°·¤Ã¤Æ¤¤¤ë¥Ç¡¼¥¿¤Î½¸¹çÂΤˤʤê¤Þ¤¹¤Î¤Ç¡¢¤³¤³¤Ë¥Ç¡¼¥¿¥Ù¡¼¥¹¤È¤·¤ÆÌò³ä¤òÀ®Î©¤µ¤»¤ë¤³¤È¤¬½ÐÍè¤Þ¤¹¡£



¡¡ºÇ½é¤Ë¡¢¥¹¥¯¥ê¥×¥¿¥Ö¥ë¡¦¥ª¥Ö¥¸¥§¥¯¥È¤ò´ÉÍý¤¹¤ë¤¿¤á¤Î¥Õ¥©¥ë¥À¤òºîÀ®¤·¤Æ¤ª¤­¤Þ¤¹¡£
Project Æâ¤Ç±¦¥¯¥ê¥Ã¥¯¤ò¤·¤Æ¥á¥Ë¥å¡¼¤ò³«¤­¡¢Datas ¥Õ¥©¥ë¥À¤òºîÀ®¤·¤Æ¤¯¤À¤µ¤¤¡£
¤³¤ÎÃæ¤ËºîÀ®¤µ¤ì¤¿¥¹¥¯¥ê¥×¥¿¥Ö¥ë¡¦¥ª¥Ö¥¸¥§¥¯¥È¤òÆþ¤ì¤Æ´ÉÍý¤·¤Þ¤¹¡£



¡¡Unity ¤Îº¸¾å¤Î¥á¥Ë¥å¡¼¤è¤ê¡¢Assets => Create => Create CharaDataSO ¤òÁªÂò¤·¤Þ¤¹¡£
¤³¤Îµ¡Ç½¤¬ CharaDataSO ¥¯¥é¥¹¤ËÀë¸À¤·¤Æ¤¤¤¿¤À¤¤¤¿ CreateAssetMenu °À­¤Îµ¡Ç½¤Ë¤Ê¤ê¤Þ¤¹¡£
¿·¤·¤¯ CharaDataSO ¤È¤¤¤¦¥Õ¥¡¥¤¥ë¤¬ºîÀ®¤µ¤ì¤Þ¤¹¡£Ì¾Á°¤Ï¤½¤Î¤Þ¤Þ¤Ç¹½¤¤¤Þ¤»¤ó¡£

¡¡¤³¤Î¥¢¥¤¥³¥ó¤Î·Á¤¬°ã¤¦¥Õ¥¡¥¤¥ë¤¬¥¹¥¯¥ê¥×¥¿¥Ö¥ë¡¦¥ª¥Ö¥¸¥§¥¯¥È¤Ë¤Ê¤ê¤Þ¤¹¡£
¤³¤ì¤Ï¥¢¥»¥Ã¥È¤È¤·¤Æ¼è¤ê°·¤ï¤ì¤ë¤è¤¦¤Ë¤Ê¤ë¾ðÊó¤Ç¤¹¡£

¡¡CharaDataSO ¥¹¥¯¥ê¥×¥¿¥Ö¥ë¡¦¥ª¥Ö¥¸¥§¥¯¥È¤ò Datas ¥Õ¥©¥ë¥À¤Ø°ÜÆ°¤·¤Æ¤¯¤À¤µ¤¤¡£
º£¸å¤â¥¹¥¯¥ê¥×¥¿¥Ö¥ë¡¦¥ª¥Ö¥¸¥§¥¯¥È¤òºîÀ®¤·¤¿¤é¡¢Datas ¥Õ¥©¥ë¥ÀÆâ¤Ç´ÉÍý¤¹¤ë¤è¤¦¤Ë¤·¤Þ¤¹¡£


¡ã¥Õ¥©¥ë¥À´ÉÍý¡ä



¡¡Áᮥ¹¥¯¥ê¥×¥¿¥Ö¥ë¡¦¥ª¥Ö¥¸¥§¥¯¥È¤ò³èÍѤ·¤Æ¡¢¥­¥ã¥é¤Î¥Ç¡¼¥¿¤òÅÐÏ¿¤·¤Æ¤¤¤­¤Þ¤·¤ç¤¦¡£



¡¡ºîÀ®¤µ¤ì¤¿ CharaDataSO ¥¹¥¯¥ê¥×¥¿¥Ö¥ë¡¦¥ª¥Ö¥¸¥§¥¯¥È¤òÁªÂò¤·¤Æ¥¤¥ó¥¹¥Ú¥¯¥¿¡¼¤ò³Îǧ¤·¤Þ¤¹¡£
CharaDataSO ¥¹¥¯¥ê¥×¥È¤Ë¤ÆÀë¸À¤·¤¿ charaDatasList ÊÑ¿ô¤¬¥¤¥ó¥¹¥Ú¥¯¥¿¡¼¤Ëɽ¼¨¤µ¤ì¤Æ¡¢ Size¤¬ 0 ¤Ë¤Ê¤Ã¤Æ¤¤¤Þ¤¹¡£
¤³¤ì¤¬¥¹¥¯¥ê¥×¥¿¥Ö¥ë¡¦¥ª¥Ö¥¸¥§¥¯¥È¤ÎÃæ¿È¤Ç¤¹¡£

CharaDataSO ¥¹¥¯¥ê¥×¥¿¥Ö¥ë¡¦¥ª¥Ö¥¸¥§¥¯¥È¡¡¥¤¥ó¥¹¥Ú¥¯¥¿¡¼²èÁü


¡¡Size ¤ËǤ°Õ¤Î¿ô¤òÆþÎϤ¹¤ë¤È¡¢Æ±¿ô¤Î Element ¤¬ºîÀ®¤µ¤ì¤Þ¤¹¡£¤³¤ì¤¬ List ¤Ç´ÉÍý¤¹¤ë CharaData ¥¯¥é¥¹¤Î¾ðÊ󷲤ˤʤê¤Þ¤¹¡£


CharaDataSO ¥¹¥¯¥ê¥×¥¿¥Ö¥ë¡¦¥ª¥Ö¥¸¥§¥¯¥È¡¡¥¤¥ó¥¹¥Ú¥¯¥¿¡¼²èÁü




¡¡¤Þ¤º¤Ï¥­¥ã¥é¤Î¥Ç¡¼¥¿¤ò£µÂÎʬÅÐÏ¿¤·¤Æ¤ª¤­¤¿¤¤¤È»×¤¤¤Þ¤¹¡£
charaDatasList ÊÑ¿ô¤Î Size ¤ò 5 ¤ËÊѹ¹¤·¤Æ¤¯¤À¤µ¤¤¡£Element 0 ¡Á 4 ¤¬²¼¤ËºîÀ®¤µ¤ì¤Þ¤¹¡£

¡¡Element ¤È¤Ï List ¤ÎÍ×ÁÇ(Ãæ¿È)¤Î¤³¤È¤Ç¤¹¡£
¤½¤Î¤¿¤á¡¢Element £±¤Ä¤¬ CharaData £±¤Ä¤Ë¤Ê¤ê¤Þ¤¹¡£Element ¤ÎÈÖ¹æ¤Ï 0 ¤«¤é»Ï¤Þ¤ê¤Þ¤¹¡£¤³¤ì¤Ï List Æâ¤Ç¤ÎÍ×ÁÇÈÖ¹æ(index)¤âɽ¤·¤Æ¤¤¤Þ¤¹¡£

¡¡°Ê¾å¤Î¤³¤È¤«¤é¡¢£±¤Ä¤Î Element ¤Ë¤Ï£±¤Ä¤Î CharaData ¥¯¥é¥¹¤ÎÆâÍƤòÀßÄê¤Ç¤­¤ë¤è¤¦¤Ë¤Ê¤Ã¤Æ¤¤¤Þ¤¹¡£
¤³¤Î¤È¤­¡¢CharaData ¥¯¥é¥¹¤Î¾å¤Ë [Serializable] °À­¤òÀë¸À¤·¤Æ¤¤¤ë¤Î¤Ç¡¢CharaData ¥¯¥é¥¹¤ÎÆâÍƤ¬¥¤¥ó¥¹¥Ú¥¯¥¿¡¼¤Ëɽ¼¨¤µ¤ì¤Æ¤¤¤Þ¤¹¡£
[Serializable] °À­¤ò³èÍѤ¹¤ë¤³¤È¤Ë¤è¤Ã¤Æ¡¢¥¤¥ó¥¹¥Ú¥¯¥¿¡¼¤«¤é¥­¥ã¥éÍѤξðÊó¤ò£±ÂΤº¤Ä¡¢CharaData ñ°Ì¤ÇÅÐÏ¿½ÐÍè¤ë¤è¤¦¤Ë¤Ê¤Ã¤Æ¤¤¤Þ¤¹¡£



¡¡¥¤¥ó¥¹¥Ú¥¯¥¿¡¼²èÁü¤ò»²¹Í¤Ë¼«Í³¤ËÀßÄê¤ò¹Ô¤Ã¤Æ¤ß¤Æ¤¯¤À¤µ¤¤¡£
charaSprite ÊÑ¿ô¤Ë¤Ï¥­¥ã¥éÍѤΥ¹¥×¥é¥¤¥È²èÁü¤ò£±ËçÅÐÏ¿¤Ç¤­¤Þ¤¹¡£


CharaDataSO ¥¹¥¯¥ê¥×¥¿¥Ö¥ë¡¦¥ª¥Ö¥¸¥§¥¯¥È¡¡¥¤¥ó¥¹¥Ú¥¯¥¿¡¼²èÁü¡¡»²¹Í­¡



¡¡¤Ê¤ª¡¢CharaData ¥¯¥é¥¹Æâ¤Î°ìÈֺǽé¤Ëµ­½Ò¤·¤¿ÊÑ¿ô¤¬ Element ¤ÎÉôʬ¤Ëɽ¼¨¤µ¤ì¤Þ¤¹¤Î¤Ç¡¢
string ·¿¤òºÇ½é¤ËÀßÄꤹ¤ë¤³¤È¤Ç Element ¤Îɽ¼¨¤¬Ê¸»úÎóɽµ­¤ËÊѤï¤ê¤Þ¤¹¡£¤³¤³¤Ï¹¥¤ß¤Ç»È¤¤Ê¬¤±¤Æ¤¯¤À¤µ¤¤¡£
(string ·¿¤Î¤È¤­¤Ï³Æ Element ¤Î½é´üÃͤϿô»ú¤¬Æþ¤é¤º¤Ë¶õÇò¤Ë¤Ê¤Ã¤Æ¤¤¤Þ¤¹)


CharaDataSO ¥¹¥¯¥ê¥×¥¿¥Ö¥ë¡¦¥ª¥Ö¥¸¥§¥¯¥È¡¡¥¤¥ó¥¹¥Ú¥¯¥¿¡¼²èÁü¡¡»²¹Í­¢



¡¡³Æ¿ôÃͤä²èÁü¤ÏǤ°Õ¤Ç¤¹¤¬¡¢CharaNo ¤ÎÃͤÀ¤±¤Ï°Û¤Ê¤ëÈÖ¹æ¤ÇÀßÄꤷ¤Æ¤¯¤À¤µ¤¤¡£¤Ç¤­¤ì¤Ð 0 ¤«¤éÏ¢ÈÖ¤¬ÍýÁۤǤ¹¡£
¤³¤ÎÈÖ¹æ¤Ï¥­¥ã¥éÍѤθÄÂÎÈÖ¹æ¤È¤·¤ÆÍøÍѤ¹¤ë²ÄǽÀ­¤¬¤¢¤ê¤Þ¤¹¤Î¤Ç¡¢Æ±¤¸ÈÖ¹æ¤ò½ÅÊ£¤·¤ÆÀßÄꤷ¤Æ¤·¤Þ¤¦¤È¡¢Æ±¤¸ÈÖ¹æ¤Î¸ÄÂΤ¬Ê£¿ô¸ºß¤¹¤ë¤³¤È¤Ë¤Ê¤ê¡¢
ÈÖ¹æ¤Ë¤è¤Ã¤Æ¥­¥ã¥éÍѤòÆÃÄꤹ¤ë¤³¤È¤¬½ÐÍè¤Ê¤¯¤Ê¤ê¤Þ¤¹¡£


£¹¡¥¹¶·âÈϰϤΥǡ¼¥¿¥Ù¡¼¥¹ÍѤΥ¹¥¯¥ê¥×¥¿¥Ö¥ë¡¦¥ª¥Ö¥¸¥§¥¯¥È¤òºîÀ®¤·¤Æ¤ß¤ë


¡¡¹¶·âÈϰϤȤ·¤Æ AttackRangeType ¤Î enum ¤òºîÀ®¤·¤Þ¤·¤¿¡£
¤³¤ì¤Ë¤è¤Ã¤Æ¼ïÎà¤òÅÐÏ¿¤·¤Æ¤ª¤¯¤³¤È¤¬¤Ç¤­¤ë¤è¤¦¤Ë¤Ê¤ê¤Þ¤·¤¿¤¬¡¢Î㤨¤Ð¡¢Short ¤È¤¤¤¦Îóµó»Ò¤òÍøÍѤ¹¤ë¤È¤Ê¤Ã¤¿¾ì¹ç¤Ë
¼ÂºÝ¤Î¹¶·âÈϰϤȤ·¤Æ¤É¤Î¤è¤¦¤ÊÃͤòÍøÍѤ¹¤ë¤«¤Þ¤Ç¤Ï¥Ç¡¼¥¿¤¬¤¢¤ê¤Þ¤»¤ó¡£

¡¡Î㤨¤Ð Short ¤ä Long ¤È¤¤¤Ã¤¿Îóµó»Ò¤Ë¹ç¤ï¤»¤Æ¡¢BoxCollider2D ¤ÎÂ礭¤µ¤òÊѲ½¤Ç¤­¤ë¤è¤¦¤¹¤ì¤Ð¡¢
Îóµó»Ò¤ò´ð½à¤Ë¸¡º÷¤¹¤ë¤³¤È¤ÇÍøÍѤǤ­¤ë¥Ç¡¼¥¿¤¬¤¢¤ì¤ÐÊØÍø¤Ç¤¹¡£

¡¡¤³¤Î AttackRangeType ¤ò¤µ¤é¤Ë³èÍѤ·¤Æ¡¢¹¶·âÈϰϤΥǡ¼¥¿¤À¤±¤ò¤¢¤Ä¤á¤¿¥Ç¡¼¥¿¥Ù¡¼¥¹¤âºîÀ®¤·¤Æ¤ß¤Þ¤·¤ç¤¦¡£

¡ãAttackRangeSize ¥¯¥é¥¹¤Î¥¤¥á¡¼¥¸¡ä
¡¡¹¶·âÈϰϤμïÎà¡¡¡¡AttackRangeType
¡¡¹¶·âÈϰϤÎÃÍ¡¡¡¡¡¡BoxCollider ¥³¥ó¥Ý¡¼¥Í¥ó¥È¤Î Size ¤Ë¤Ï X ¤È Y ¤Î¾ðÊ󤬤¢¤ê¤Þ¤¹¡£¤É¤Î¤è¤¦¤Ê·¿¤Ë¤¹¤ì¤Ð±¿ÍѤ·¤ä¤¹¤¤¤«¹Í¤¨¤Æ¤ß¤Þ¤·¤ç¤¦



¡¡¤³¤ì¤ò¸µ¤Ë¤·¤Æ¡¢AttackRangeSize ¥¹¥¯¥ê¥×¥È¤òºîÀ®¤·¤Þ¤¹¡£¤³¤ì¤Ï£±¤Äʬ¤Î¹¶·âÈϰϤΥǡ¼¥¿¤Ç¤¹¡£
¤½¤ì¤é¤ò List ¤Ç¤Þ¤È¤á¤Æ¥Ç¡¼¥¿¥Ù¡¼¥¹²½¤¹¤ë¤¿¤á¤Î AttackRangeSizeSO ¥¹¥¯¥ê¥×¥È¤òºîÀ®¤·¤Æ¡¢¥¹¥¯¥ê¥×¥¿¥Ö¥ë¡¦¥ª¥Ö¥¸¥§¥¯¥È¤òºîÀ®¤·¤Þ¤¹¡£


AttackRangeSize.cs

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




¡¡AttackRangeSize ¥¯¥é¥¹¤ò List ¤Ç´ÉÍý¤¹¤ë¤¿¤á¤Î¥¹¥¯¥ê¥×¥¿¥Ö¥ë¡¦¥ª¥Ö¥¸¥§¥¯¥È¤Ç¤¹¡£


AttackRangeSizeSO.cs

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




¡¡¥¹¥¯¥ê¥×¥È¤¬´°À®¤·¤¿¤é¡¢¥¹¥¯¥ê¥×¥¿¥Ö¥ë¡¦¥ª¥Ö¥¸¥§¥¯¥È¤ÎºîÀ®¤ò¹Ô¤¤¤Þ¤¹¡£
Datas ¥Õ¥©¥ë¥ÀÆâ¤Ç±¦¥¯¥ê¥Ã¥¯¤ò¤·¤Æ¥á¥Ë¥å¡¼¤ò³«¤­¡¢Create => Create AttackRangeSizeSO ¤òÁªÂò¤·¤Æ¤¯¤À¤µ¤¤¡£


AttackRangeSizeSO ¥¹¥¯¥ê¥×¥¿¥Ö¥ë¡¦¥ª¥Ö¥¸¥§¥¯¥È

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


¡¡attackRangeSizesList ¤Î Size ¤Ï¡¢AttackRangeType ¤ÎÎóµó»Ò¤Î¿ô¤ÈƱ¤¸¤À¤±ºîÀ®¤·¡¢¤½¤ì¤¾¤ì¤Ë¡¢³ÆÎóµó»Ò¤òÅÐÏ¿¤·¤Þ¤¹¡£
¤½¤Î¾å¤Ç¡¢¤½¤Î¼ïÎà¤ÎºÝ¤Î BoxCollider2D ¥³¥ó¥Ý¡¼¥Í¥ó¥È¤Î Size ¤ò Size ÊÑ¿ô¤ËÅÐÏ¿¤·¤Þ¤¹¡£
¸åÄø¡¢¤³¤Î¾ðÊó¤ò³èÍѤ¹¤ë¤³¤È¤Ç¡¢CharaData ¥¯¥é¥¹¤ËÅÐÏ¿¤µ¤ì¤¿ AttackRangeType ¤ò»²¾È¤·¤Æ¡¢BoxCollider2D ¤Î Size ¤òÊѹ¹¤Ç¤­¤ë¤è¤¦¤·¤Þ¤¹¡£
¤Ä¤Þ¤ê¡¢CharaData ¤Î AttackRangeType ¤¬ Middle ¤ËÀßÄꤵ¤ì¤Æ¤¤¤ë¥­¥ã¥é¤Ç¤¢¤ì¤Ð¡¢AttackRangeTypeSO Æâ¤Î AttackRangeType ¤¬ Middle ¤ÎÉôʬ¤ËÅÐÏ¿¤µ¤ì¤Æ¤¤¤ë
BoxCollider2D ¤Î Size ¤ò¤½¤ÎÀßÄêÃͤËÊѹ¹¤¹¤ë¡¢¤È¤¤¤¦¤è¤¦¤Ë±¿ÍѤ·¤Þ¤¹¡£



¡¡¤³¤³¤ÇºîÀ®¤·¤¿¥¹¥¯¥ê¥×¥¿¥Ö¥ë¡¦¥ª¥Ö¥¸¥§¥¯¥È¤Ïº£¸å¡¢ÁªÂò¤·¤¿¥­¥ã¥é¤òÇÛÃÖ¤¹¤ëºÝ¤ËÍøÍѤ·¤Þ¤¹¡£
¤½¤Î¾ì¹ç¤Ë¤Ï¡¢¹¶·âÈϰϤμïÎà(AttackRangeType)¤«¤é¡¢¥Ç¡¼¥¿¥Ù¡¼¥¹Æâ¤ò¸¡º÷¤·¤ÆŬ±þ¤¹¤ë¾ðÊó¤ò¾È¹ç¤·¤Æ»È¤¦¤È¤¤¤¦½èÍý¤Î¼ÂÁõ¤âɬÍפˤʤê¤Þ¤¹¡£

¡¡¥Ç¡¼¥¿¥Ù¡¼¥¹¤âºîÀ®¤·¤¿¤À¤±¤Ç¤Ï¥²¡¼¥àÆâ¤Ë±¿ÍѤǤ­¤Þ¤»¤ó¡£
¤É¤¦¤¤¤Ã¤¿À©¸æ¤¬¤¢¤ì¤Ð¥Ç¡¼¥¿¥Ù¡¼¥¹¤ò³èÍѤ·¤Æ¤¤¤¯¤³¤È¤¬¤Ç¤­¤ë¤Î¤«¡¢¤½¤Î¥í¥¸¥Ã¥¯¤â¹Í¤¨¤Æ¤¤¤¯¤³¤È¤¬ÂçÀڤǤ¹¡£

¡¡¤³¤³¤Ç¤Ï¤Þ¤À¼«Æ°Åª¤ËÈ¿±Ç¤¹¤ë½èÍý¤Ï¤¢¤ê¤Þ¤»¤ó¤¬¡¢½èÍý¤ò½ñ¤­´¹¤¨¤Æ CharaController ¥¹¥¯¥ê¥×¥È¤ËÈ¿±Ç¤µ¤»¤ë¤³¤È¤â¤Ç¤­¤Þ¤¹¤Î¤Ç¡¢
¼ÂºÝ¤Ë CharaDataSO ¥¹¥¯¥ê¥×¥¿¥Ö¥ë¡¦¥ª¥Ö¥¸¥§¥¯¥È¤«¤é¥Ç¡¼¥¿¤¬ÍøÍѤǤ­¤ë¤«»î¤·¤Æ¤ß¤Þ¤·¤ç¤¦¡£




¡¡°Ê¾å¤Ç¤³¤Î¼ê½ç¤Ï½ªÎ»¤Ç¤¹¡£

¡¡¼¡¤Ï¡¡¼ê½ç£±£·¡¡¡Ý¥í¥¸¥Ã¥¯¤Î³Ø½¬­¢¡Ý¡¡¤Ç¤¹¡£

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


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

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

Menu



´ðÁÃ

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

private



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

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