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

¡¡¥¨¥Í¥ß¡¼ÍѤΥץì¥Õ¥¡¥Ö¤È EnemyDataSO ¥¹¥¯¥ê¥×¥¿¥Ö¥ë¡¦¥ª¥Ö¥¸¥§¥¯¥È¤òÍøÍѤ·¡¢¥¯¥í¡¼¥ó¤µ¤ì¤¿¥¨¥Í¥ß¡¼¤Î¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤Ë¥¨¥Í¥ß¡¼¤Î¥Ç¡¼¥¿¤òÀßÄꤷ¡¢
Ʊ¤¸¥×¥ì¥Õ¥¡¥Ö¤«¤é°Û¤Ê¤ë¥¨¥Í¥ß¡¼¤ò¼«Æ°Åª¤ËÀ¸À®¤¹¤ë½èÍý¤ò¼ÂÁõ¤·¤Þ¤¹¡£

¡¡°Ê²¼¤ÎÆâÍƤǽçÈ֤˼ÂÁõ¤ò¿Ê¤á¤Æ¤¤¤­¤Þ¤¹¡£
º£²ó¤ÏÆâÍƤ¬¿·¤·¤¤¤â¤Î¤Ð¤«¤ê¤Ç¡¢Èó¾ï¤Ë¿¼¤¤¤â¤Î¤Ë¤Ê¤Ã¤Æ¤¤¤Þ¤¹¡£


¡ã¼ÂÁõÆ°²è­¡¡¡¥Î¡¼¥Þ¥ë¤Î¥¨¥Í¥ß¡¼¤¬¥é¥ó¥À¥à¤Ç¼«Æ°¤ÇÀ¸À®¤µ¤ì¤ë¡ä
Æ°²è¥Õ¥¡¥¤¥ë¤Ø¤Î¥ê¥ó¥¯


¡ã¼ÂÁõÆ°²è­¢¡¡¥Ü¥¹¤Î¥¨¥Í¥ß¡¼¤¬¼«Æ°¤ÇÀ¸À®¤µ¤ì¤ë¡ä
Æ°²è¥Õ¥¡¥¤¥ë¤Ø¤Î¥ê¥ó¥¯


ȯŸ£³¡¡¡Ý¥¨¥Í¥ß¡¼ÍѤΥǡ¼¥¿¥Ù¡¼¥¹¤ÎÍøÍÑ¡Ý
¡¡£µ¡¥EnemyController ¥¹¥¯¥ê¥×¥È¤ò½¤Àµ¤·¡¢EnemyDataSO ¥¹¥¯¥ê¥×¥¿¥Ö¥ë¡¦¥ª¥Ö¥¸¥§¥¯¥È¤Î¥Ç¡¼¥¿¤ò»²¾È¤·¤ÆÈ¿±Ç¤¹¤ë½èÍý¤òÄɲ乤ë
¡¡£¶¡¥EnemyGenerator ¥¹¥¯¥ê¥×¥È¤ò½¤Àµ¤·¡¢¥¨¥Í¥ß¡¼ÍѤΥץì¥Õ¥¡¥Ö¤Ë EnemyDataSO ¥¹¥¯¥ê¥×¥¿¥Ö¥ë¡¦¥ª¥Ö¥¸¥§¥¯¥È¤Î¥Ç¡¼¥¿¤ò»²¾È¤·¤Æ¡¢£±¤Ä¤Î¥×¥ì¥Õ¥¡¥Ö¤«¤é°Û¤Ê¤ë¥¨¥Í¥ß¡¼¤ò¼«Æ°À¸À®¤¹¤ë½èÍý¤òÄɲ乤ë


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

¡¡¡¦¥¹¥¯¥ê¥×¥¿¥Ö¥ë¡¦¥ª¥Ö¥¸¥§¥¯¥È¤òÍøÍѤ¹¤ëÊýË¡
¡¡¡¦°ú¿ô¤ÈÌá¤êÃͤò»È¤Ã¤¿½èÍý¤Î¼ÂÁõÎã
¡¡¡¦enum ¤ò¾ò·ï¤ËÍøÍѤ·¤¿ switch ʸ¤Î¼ÂÁõÎã
¡¡¡¦List¤Î»È¤¤Êý­¡¡¡¡ÝAdd ¥á¥½¥Ã¥É¡¼



£µ¡¥EnemyController ¥¹¥¯¥ê¥×¥È¤ò½¤Àµ¤·¡¢EnemyDataSO ¥¹¥¯¥ê¥×¥¿¥Ö¥ë¡¦¥ª¥Ö¥¸¥§¥¯¥È¤Î¥Ç¡¼¥¿¤ò»²¾È¤·¤ÆÈ¿±Ç¤¹¤ë½èÍý¤òÄɲ乤ë

£±¡¥Àß·×


¡¡¤Þ¤º¤ÏºÇ½é¤Ë¼ÂÁõÆ°²è¤ò³Îǧ¤·¤Æ¤¯¤À¤µ¤¤¡£

¡¡À¸À®¤µ¤ì¤ë¥¨¥Í¥ß¡¼¤¬¡¢¥¹¥¯¥ê¥×¥¿¥Ö¥ë¡¦¥ª¥Ö¥¸¥§¥¯¥È¤ËÅÐÏ¿¤·¤¿¥¨¥Í¥ß¡¼¤Î²èÁü¤ò»ý¤Ã¤¿¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤È¤·¤ÆÀ¸À®¤µ¤ì¤Æ¤¤¤Þ¤¹¡£
¤³¤ì¤ÏÊ£¿ô¤Î¥¨¥Í¥ß¡¼ÍѤΥץì¥Õ¥¡¥Ö¤òÍÑ°Õ¤·¤Æ¤¤¤ë¤Î¤Ç¤Ê¤¯¡¢º£¤Þ¤Ç¤ÈƱ¤¸¥¨¥Í¥ß¡¼ÍѤΥץì¥Õ¥¡¥Ö¤òÍøÍѤ·¤Æ¤¤¤Þ¤¹¤¬¡¢
¥¨¥Í¥ß¡¼ÍѤΥץì¥Õ¥¡¥Ö¤Ë¥¨¥Í¥ß¡¼¤Î¾ðÊó(EnemyData)¤òÀßÄꤹ¤ë¤³¤È¤Ë¤è¤Ã¤Æ¡¢£±¤Ä¤Î¥¨¥Í¥ß¡¼ÍѤΥץì¥Õ¥¡¥Ö¤«¤é°Û¤Ê¤ë¥¨¥Í¥ß¡¼¤òºîÀ®¤·¤Æ¤¤¤Þ¤¹¡£
¥Ü¥¹¤âƱÍͤǤ¹¡£

¡¡¤³¤Î¼ê½ç¤Ç¤Ï¡¢¥¨¥Í¥ß¡¼¤Î¼«Æ°À¸À®¤Ë¿·¤·¤¤½èÍý¤òÄɲ䷤ơ¢¥¹¥¯¥ê¥×¥¿¥Ö¥ë¡¦¥ª¥Ö¥¸¥§¥¯¥È¤òÍøÍѤ·¤Æ£±¤Ä¤Î¥×¥ì¥Õ¥¡¥Ö¤«¤é°Û¤Ê¤ë¥¨¥Í¥ß¡¼¤òºî¤ê½Ð¤¹ÊýË¡¤ò³Ø½¬¤·¤Æ¤¤¤­¤Þ¤¹¡£



¡¡EnemyDataSO ¥¹¥¯¥ê¥×¥¿¥Ö¥ë¡¦¥ª¥Ö¥¸¥§¥¯¥È¤Ë¥¨¥Í¥ß¡¼¤Î¥Ç¡¼¥¿¤òÅÐÏ¿¤·¤Þ¤·¤¿¡£
¥¹¥¯¥ê¥×¥¿¥Ö¥ë¡¦¥ª¥Ö¥¸¥§¥¯¥È¤Ï¡¢¥¹¥¯¥ê¥×¥ÈÆâ¤ËƱ̾¤Î·¿Ì¾¤ÇÊÑ¿ô¤òºîÀ®¤¹¤ë¤³¤È¤ÇÍøÍѤ¹¤ë¤³¤È¤¬²Äǽ¤Ë¤Ê¤ê¤Þ¤¹¡£

¡ã¥¹¥¯¥ê¥×¥¿¥Ö¥ë¡¦¥ª¥Ö¥¸¥§¥¯¥È¤òÍøÍѤǤ­¤ë¾õÂ֤ˤ¹¤ë¡ä
  public EnemyDataSO enemyDataSO;

¡¡¾åµ­¤Î¤è¤¦¤ËÊÑ¿ô¤È¤·¤ÆÀë¸À¤¹¤ë¤³¤È¤Ë¤è¤ê¡¢ÊÑ¿ô¤òÍøÍѤ·¤Æ¥¹¥¯¥ê¥×¥¿¥Ö¥ë¡¦¥ª¥Ö¥¸¥§¥¯¥È¤Î¾ðÊó¤ò¥²¡¼¥àÆâ¤ËÍøÍѤ¹¤ë¤³¤È¤¬½ÐÍè¤Þ¤¹¡£

¡¡Àë¸À¤ÎÊýË¡¤Ï¾¤ÎÊÑ¿ô¤ÈÊѤï¤ê¤Þ¤»¤ó¡£¤Þ¤¿¡¢public ½¤¾þ»Ò¤Ë¤·¤ÆÀë¸À¤·¤Æ¤ª¤¯¤³¤È¤Ë¤è¤ê¡¢
¥¤¥ó¥¹¥Ú¥¯¥¿¡¼¤è¤êÅÐÏ¿¤¬½ÐÍè¤ë¾¡¢³°Éô¤Î¥¹¥¯¥ê¥×¥È¤«¤é¤â»²¾È¤·¤ÆÍøÍѤ¹¤ë¤³¤È¤¬²Äǽ¤Ç¤¹¡£¤³¤ì¤â¾¤ÎÊÑ¿ô¤ÈƱ¤¸¤Ç¤¹¡£



¡¡¸½ºß¡¢¥¨¥Í¥ß¡¼¤Î¥Ç¡¼¥¿¤È¤·¤Æ¥²¡¼¥àÆâ¤ÇÍøÍѤµ¤ì¤Æ¤¤¤ë¾ðÊó¤Ï¡¢EnemyController ¥¹¥¯¥ê¥×¥È¤Ë¤¢¤ë¡¢°Ê²¼¤Î£²¤Ä¤Î¾ðÊó¤Ç¤¹¡£

  [Header("¥¨¥Í¥ß¡¼¤ÎHP")]¡¡¡¡¡¡¡¡¡¡¡¡¡¡
  public int hp;¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡

  [Header("¥¨¥Í¥ß¡¼¤Î¹¶·âÎÏ")]¡¡¡¡¡¡¡¡¡¡¡¡
  public int attackPower;¡¡

¡¡¤¤¤Þ¤Þ¤Ç¤Ï¤³¤Á¤é¤ÎÊÑ¿ô¤ËÂФ·¤Æ¥¤¥ó¥¹¥Ú¥¯¥¿¡¼¤è¤êÀßÄê¤ò¹Ô¤Ã¤Æ¿ôÃͤò·è¤á¤Æ¤¤¤Þ¤·¤¿¡£
¤Ç¤¹¤¬º£²ó¤ÎÀ߷פǤϥ¨¥Í¥ß¡¼ÍѤΥץì¥Õ¥¡¥Ö¤Î¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤Ï£±¤Ä¤·¤«¤¢¤ê¤Þ¤»¤ó¡£
¥¨¥Í¥ß¡¼¤Î¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤ò¥×¥ì¥Õ¥¡¥Ö¤Î¥¯¥í¡¼¥ó¤È¤·¤ÆÀ¸À®¤¹¤ë¤È¡¢¾ï¤ËƱ¤¸ hp ¤È¹¶·âÎϤò»ý¤Ã¤Æ¤¤¤ë¥¨¥Í¥ß¡¼¤¬À¸À®¤µ¤ì¤Æ¤¤¤Þ¤·¤¿¡£
¤½¤Î¤¿¤á¡¢º£¤Þ¤Ç¤Ï¥Ü¥¹¤ÎÀ¸À®¤ËºÝ¤·¤Æ¤Ï¡¢hp ¤ò 3 Çܤˤ¹¤ë¤È¤¤¤¦½èÍý¤òÄɲ乤뤳¤È¤Ç¡¢Hp ¤ÎÃͤÀ¤±¤òÊѹ¹¤·¤Æ¤¤¤Þ¤·¤¿¡£
¡¡


¡¡¤³¤ÎÀßÄê¤ÎÉôʬ¤Ë¡¢º£²óºîÀ®¤·¤¿ EnemyDataSO ¥¹¥¯¥ê¥×¥¿¥Ö¥ë¡¦¥ª¥Ö¥¸¥§¥¯¥È¤Î¥¨¥Í¥ß¡¼¤Î¥Ç¡¼¥¿¤òÍøÍѤ¹¤ë¤è¤¦¤Ë½èÍý¤ÎÊѹ¹¤ò¹Ô¤¤¤Þ¤¹¡£
À¸À®¤µ¤ì¤ë¥¯¥í¡¼¥ó¤Î¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤ÏƱ¤¸¤Ç¤¹¤¬¡¢¤½¤ÎÆâÍÆ¡¦¾ðÊó¤ËÂФ·¤Æ¡¢¥¨¥Í¥ß¡¼¤Î¥Ç¡¼¥¿¤òÈ¿±Ç¤¹¤ë¤³¤È¤Ë¤è¤Ã¤Æ¡¢À¸À®¤µ¤ì¤¿¥¨¥Í¥ß¡¼¤Î¿¶¤ëÉñ¤¤¤òÊѹ¹¤·¤Þ¤¹¡£

¡¡Normal ¤Î¥¨¥Í¥ß¡¼¤Î¥Ç¡¼¥¿¤ò¼õ¤±¼è¤Ã¤¿¥×¥ì¥Õ¥¡¥Ö¤Î¥¯¥í¡¼¥ó¤Î¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤Ï¡¢Normal ¤Î¥¨¥Í¥ß¡¼¤È¤·¤Æ¿¶¤ëÉñ¤¦¤è¤¦¤Ë¤Ê¤ê¤Þ¤¹¡£
Boss ¤Î¥¨¥Í¥ß¡¼¤Î¥Ç¡¼¥¿¤ò¼õ¤±¼è¤Ã¤¿¥×¥ì¥Õ¥¡¥Ö¤Î¥¯¥í¡¼¥ó¤Î¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤Ï¡¢Boss ¤Î¥¨¥Í¥ß¡¼¤È¤·¤Æ¿¶¤ëÉñ¤¦¤è¤¦¤Ë¤Ê¤ê¤Þ¤¹¡£

¡¡¤³¤Î½èÍý¤ò¼«Æ°²½¤·¤Æ¡¢À¸À®¤µ¤ì¤¿¤È¤­¤Ë¥¨¥Í¥ß¡¼¤Î¥Ç¡¼¥¿¤Î¾ðÊó¤Ë¹ç¤ï¤»¤Æ¡¢¥¨¥Í¥ß¡¼¤È¤·¤Æ¤Î¿¶¤ëÉñ¤¤¤â¼«Æ°Åª¤ËÊѤï¤ë¤è¤¦¤Ë¤·¤Þ¤¹¡£

¡¡¤³¤Î¤è¤¦¤ÊÀ߷פˤ¹¤ë¤È¡¢£±¤Ä¤Î¥×¥ì¥Õ¥¡¥Ö¤«¤é¡¢¥¨¥Í¥ß¡¼¤Î¥Ç¡¼¥¿¥Ù¡¼¥¹¤ËÅÐÏ¿¤µ¤ì¤Æ¤¤¤ë¤¹¤Ù¤Æ¤Î¥¨¥Í¥ß¡¼¤òºî¤ê½Ð¤¹¤³¤È¤¬²Äǽ¤Ë¤Ê¤ê¤Þ¤¹¡£
¤³¤Î¼êË¡¤Ï¾¤Î¥Ç¡¼¥¿¥Ù¡¼¥¹¤Ç¤âƱ¤¸¤è¤¦¤ËÍøÍѤǤ­¤Þ¤¹¡£Î㤨¤Ð¡¢¥­¥ã¥éÍѤΥץì¥Õ¥¡¥Ö¤¬£±¤Ä¤¢¤ê¡¢¥­¥ã¥é¤Î¾ðÊó¤¬ÅÐÏ¿¤µ¤ì¤Æ¤¤¤ë¥¹¥¯¥ê¥×¥¿¥Ö¥ë¡¦¥ª¥Ö¥¸¥§¥¯¥È¤¬¤¢¤ì¤Ð
¤³¤Î¥­¥ã¥é¤Î¥×¥ì¥Õ¥¡¥Ö¤«¤é¡¢¥­¥ã¥éÍѤΥǡ¼¥¿¥Ù¡¼¥¹¤ËÅÐÏ¿¤µ¤ì¤Æ¤¤¤ë¤¹¤Ù¤Æ¤Î¥­¥ã¥é¤òºî¤ê½Ð¤·¡¢¤½¤Î¤è¤¦¤Ë¿¶¤ëÉñ¤ï¤»¤ë¤³¤È¤¬½ÐÍè¤Þ¤¹¡£


£²¡¥EnemyController ¥¹¥¯¥ê¥×¥È¤ò½¤Àµ¤·¡¢EnemyDataSO ¥¹¥¯¥ê¥×¥¿¥Ö¥ë¡¦¥ª¥Ö¥¸¥§¥¯¥È¤Î¥Ç¡¼¥¿¤ò»²¾È¤·¤ÆÈ¿±Ç¤¹¤ë½èÍý¤òÄɲ乤ë


¡¡À߷פ˴ð¤Å¤¤¤Æ¡¢¥¤¥ó¥¹¥Ú¥¯¥¿¡¼¤ÇÀßÄꤷ¤Æ¤¤¤¿¾ðÊó¤ò EnemyDataSO ¥¹¥¯¥ê¥×¥¿¥Ö¥ë¡¦¥ª¥Ö¥¸¥§¥¯¥È¤Î EnemyData ¥¯¥é¥¹¤Î¾ðÊó¤ò»²¾È¤¹¤ë¤è¤¦¤ËÊѹ¹¤·¤Þ¤¹¡£

¡¡¤Þ¤º¤Ï EnemyData ¥¯¥é¥¹¤Î¾ðÊó¤ò°·¤¨¤ë¤è¤¦¤Ë¡¢EnemyData ·¿¤ÎÊÑ¿ô¤òÍÑ°Õ¤·¤Þ¤¹¡£¤³¤ÎÊÑ¿ô¤Ë¡¢¥¨¥Í¥ß¡¼¤È¤·¤ÆɬÍפʤ¹¤Ù¤Æ¤Î¥Ç¡¼¥¿¤¬Æþ¤ë¤³¤È¤Ë¤Ê¤ê¤Þ¤¹¡£
hp¡¢¹¶·âÎÏ¡¢¤½¤·¤Æ¥¨¥Í¥ß¡¼¤Î²èÁü¤Î¾ðÊó¤Ê¤É¤¬Æþ¤Ã¤Æ¤¤¤Þ¤¹¤Î¤Ç¡¢¤³¤Î¥Ç¡¼¥¿¤òÍøÍѤ¹¤ë¤³¤È¤Ç¡Ö¤É¤Î¤è¤¦¤Ê¥¨¥Í¥ß¡¼¤È¤·¤Æ¿¶¤ëÉñ¤¦¤«¡×·è¤Þ¤ê¤Þ¤¹¡£
¤³¤ÎÊÑ¿ô¤òÍøÍѤ¹¤ë¤³¤È¤Ë¤è¤Ã¤Æ¡¢EnemyData ¥¯¥é¥¹¤Î¾ðÊó¤ò»²¾È¤·¤ÆÍøÍѽÐÍè¤ë¤è¤¦¤Ë¤Ê¤ê¤Þ¤¹¡£

¡¡¤³¤Î EnemyData ¥¯¥é¥¹¤Î¾ðÊó¤Ï¡¢³°Éô¤Î¥¹¥¯¥ê¥×¥È¤«¤é°ú¿ô¤Ç¼õ¤±¼è¤ë¤è¤¦¤ËÀ߷פ·¤Þ¤¹¡£
¤¤¤Þ¤Þ¤Ç SetUpEnemy ¥á¥½¥Ã¥É¤Ç bool ·¿¤Î¥Ü¥¹¤Î̵ͭ¤Î¾ðÊó¤ò¼õ¤±¼è¤Ã¤Æ¤¤¤Þ¤·¤¿¤¬¡¢¤³¤ì¤òºï½ü¤·¤Æ¡¢Âå¤ï¤ê¤Ë EnemyData ·¿¤òÀë¸À¤·¤Æ¡¢¤³¤³¤Ç¥¨¥Í¥ß¡¼¤Î¥Ç¡¼¥¿¤ò¼õ¤±¼è¤ì¤ë¤è¤¦¤Ë¤·¤Þ¤¹¡£

¡¡¤³¤³¤ÇÂçÀڤʥݥ¤¥ó¥È¤¬¤¢¤ê¤Þ¤¹¡£
¡¡EnemyData ¥¯¥é¥¹¤Î¾ðÊó¤ò·èÄꤹ¤ë¤Î¤Ï¡¢EnemyController ¥¹¥¯¥ê¥×¥È¦¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó¡£
EnemyController ¥¹¥¯¥ê¥×¥È¤Ç¤Ï¡¢°ú¿ô¤È¤·¤ÆÆϤ¤¤¿ EnemyData ¥¯¥é¥¹¤Î¾ðÊó¤òÍøÍѤ·¤Æ¡¢ÀßÄê¤ò¹Ô¤¦¤³¤È¤Ç¡¢¥¨¥Í¥ß¡¼¤Î¥Ç¡¼¥¿¤òÈ¿±Ç¤·¤Æ¥¨¥Í¥ß¡¼¤ËÌò³ä¤òÍ¿¤¨¤ë¤³¤È¤¬»Å»ö¤Ç¤¹¡£

¡¡À¸À®¤µ¤ì¤¿¥¨¥Í¥ß¡¼¤Î¥¯¥í¡¼¥ó¤ËÂФ·¤Æ¡¢¥¨¥Í¥ß¡¼¤Î¥Ç¡¼¥¿¤ò·èÄꤷ¡¢¡Ö¤³¤Î¾ðÊó¤ò»È¤Ã¤Æ¥¨¥Í¥ß¡¼¤ËÌò³ä¤òÍ¿¤¨¤Æ¿¶¤ëÉñ¤¤¤òÊѤ¨¤Æ¤¯¤À¤µ¤¤¡×¤ÈÌ¿Îá¤ò½Ð¤¹¤Î¤Ï EnemyGenerator ¥¹¥¯¥ê¥×¥È¦¤Ë¤Ê¤ê¤Þ¤¹¡£

¡¡¤³¤ÎÌò³äʬô¤Î¹Í¤¨Êý¤Ë¤Ä¤¤¤Æ¤â¤·¤Ã¤«¤ê¤È³Ø½¬¤·¤ÆÍý²ò¤ò¿¼¤á¤Æ¤¯¤À¤µ¤¤¡£



¡¡¤è¤Ã¤Æ¡¢¤³¤Î EnemyData ¥¯¥é¥¹¤Ë´Þ¤Þ¤ì¤Æ¤¤¤ë¾ðÊó¤Ë¤Ä¤¤¤Æ¤Ï¡¢¤³¤Î¥¹¥¯¥ê¥×¥ÈÆâ¤Ç¸ÄÊ̤ËÀßÄê¤ò¹Ô¤¦É¬Íפ¬¤Ê¤¯¤Ê¤ê¤Þ¤¹¡£
ÂоݤȤʤëÊÑ¿ô¤Ï hp ÊÑ¿ô¤È attackPower ÊÑ¿ô¤Ç¤¹¡£¤³¤Î¤¦¤Á¡¢attackPower ÊÑ¿ô¤Ë¤Ä¤¤¤Æ¤Ï¸åÄøÊѹ¹¤ò¹Ô¤¤¤Þ¤¹¡£
²¿¸Î¤Ê¤é¤Ð¡¢¤³¤ÎÊÑ¿ô¤Ï DefenseBase ¥¹¥¯¥ê¥×¥È¤Ë¤ª¤¤¤Æ»²¾È¤·¤ÆÍøÍѤµ¤ì¤Æ¤¤¤ëÃͤǤ¢¤ë¤¿¤á¡¢¤³¤ÎÃͤò½¤Àµ¤·¤¿¤êºï½ü¤·¤Æ¤·¤Þ¤¦¤È¡¢DefenseBase ¥¹¥¯¥ê¥×¥È¤Ë¥¨¥é¡¼¤¬½Ð¤Æ¤·¤Þ¤¦¤«¤é¤Ç¤¹¡£

¡¡¤³¤Î¤è¤¦¤ËÊÑ¿ô¤ò½¤Àµ¤·¤¿¤ê¡¢ºï½ü¤¹¤ë¾ì¹ç¤Ë¤Ï¡¢ÊÑ¿ô¤ò´ÉÍý¤·¤Æ¤ë¥¹¥¯¥ê¥×¥ÈÆâ¤À¤±¤Ç¤Ï¤Ê¤¯¡¢³°Éô¤Î¥¹¥¯¥ê¥×¥È¤Ë¤ª¤¤¤Æ¤âÍøÍѤµ¤ì¤Æ¤¤¤Ê¤¤¤«¤ò³Îǧ¤·¤Æ¤«¤é½¤Àµ¤·¤Æ¤¯¤À¤µ¤¤¡£

¡¡EnemyData ¥¯¥é¥¹¤Ë¤Ï¡¢¥¨¥Í¥ß¡¼¤Î¼ïÎà¤Î¾ðÊó¤â´Þ¤Þ¤ì¤Æ¤¤¤ë¡£EnemyType ¤È¤¤¤¦ enum ¤¬¤½¤ì¤ËÅö¤¿¤ê¤Þ¤¹¡£
¤³¤Î¾ðÊó¤ò»²¾È¤¹¤ì¤Ð¡¢À¸À®¤µ¤ì¤¿¥¨¥Í¥ß¡¼¤¬¥Ü¥¹¤Ê¤Î¤«¡¢¤¢¤ë¤¤¤Ï¥Î¡¼¥Þ¥ë¤Ê¤Î¤«¡¢È½ÃǤò¤¹¤ë¤³¤È¤¬²Äǽ¤Ç¤¹¡£
¤½¤¦¤Ê¤ë¤È¡¢¤¤¤Þ¤Þ¤Ç¥Ü¥¹È½ÊÌÍѤËÍøÍѤ·¤Æ¤¤¤¿ isBoss ÊÑ¿ô¤âÉÔÍפˤʤê¤Þ¤¹¡£¹ç¤ï¤»¤Æ¡¢¤³¤ÎÊÑ¿ô¤òÍøÍѤ·¤Æ¤¤¤¿¾ò·ï¼°¤Ê¤É¤ò½¤Àµ¤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£

¡¡EnemyData ¥¯¥é¥¹Æâ¤ÎÊÑ¿ô¤Ï¤¹¤Ù¤Æ public ½¤¾þ»Ò¤Ë¤è¤Ã¤ÆÀë¸À¤µ¤ì¤Æ¤¤¤Þ¤¹¡£¤½¤Î¤¿¤á¡¢EnemyData ¥¯¥é¥¹¤Î¾ðÊó¤ò¼èÆÀ¤·¤Æ¤¤¤ëÊÑ¿ô¤«¤é¤Ï
¤³¤ì¤é¤Î public ½¤¾þ»Ò¤ÎÊÑ¿ô¤Î¾ðÊó¤ò¤¹¤Ù¤ÆÍøÍѤǤ­¤Þ¤¹¡£
Î㤨¤Ð¡¢EnemyType ¤ò»²¾È¤·¤¿¤¤¾ì¹ç¤Ë¤Ï°Ê²¼¤Î¤è¤¦¤Ë¤Ê¤ê¤Þ¤¹¡£

  // EnemyData ¥¯¥é¥¹¤ËÅÐÏ¿¤µ¤ì¤Æ¤¤¤ë EnemyType ¤Î¾ðÊ󤬡¢Boss ¤ÎÎóµó»Ò¤Ç¤¢¤ë¾ì¹ç
  if(enemyData.enemyType == EnemyType.Boss) {  }


¡¡°ÊÁ°¤Ë³Ø½¬¤·¤¿¤è¤¦¤Ë¡¢ÊÑ¿ô¤ËÂåÆþ¤µ¤ì¤Æ¤¤¤ë¾ðÊ󤫤é¤Ï¡¢public ½¤¾þ»Ò¤Î¾ðÊó¤ò¤µ¤é¤Ë¼èÆÀ¤·¤ÆÍøÍѤǤ­¤Þ¤¹¡£
¥Ô¥ê¥ª¥É¤ò»È¤Ã¤¿½èÍý¤Ë¤Ä¤¤¤Æ¡¢¤³¤Îµ¡²ñ¤Ë¤·¤Ã¤«¤ê¤È³Ð¤¨¤Æ¤¤¤­¤Þ¤·¤ç¤¦¡£


EnemyController.cs


¡¡¥¹¥¯¥ê¥×¥È¤ò½¤Àµ¤·¤¿¤é¥»¡¼¥Ö¤·¤Þ¤¹¡£



¡¡Prefabs ¥Õ¥©¥ë¥À¤Ë¤¢¤ë EnemySet ¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤Î¥¤¥ó¥¹¥Ú¥¯¥¿¡¼¤ò³Îǧ¤·¤Þ¤¹¡£
¿·¤·¤¯ public ½¤¾þ»Ò¤È SerializeField °À­¤ÇÀë¸À¤·¤¿ÊÑ¿ô¤¬Äɲ䵤졢ÉÔÍפÊÊÑ¿ô¤¬ºï½ü¤µ¤ì¤Æ¤¤¤Þ¤¹¡£


EnemySet ¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¡¡¥¤¥ó¥¹¥Ú¥¯¥¿¡¼²èÁü




£³¡¥EnemySet ¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤ÎÀßÄê¤ò¹Ô¤¦


¡¡Prefabs ¥Õ¥©¥ë¥À¤Ë¤¢¤ë EnemySet ¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤òÁªÂò¤·¤Æ¡¢¥¤¥ó¥¹¥Ú¥¯¥¿¡¼¤Î°ìÈÖ¾å¤Ë¤¢¤ë Open Prefab ¥Ü¥¿¥ó¤ò²¡¤·¤Æ¡¢¥×¥ì¥Õ¥¡¥Ö¤ÎÊÔ½¸¥â¡¼¥É¤Ë¤·¤Æ¤¯¤À¤µ¤¤¡£

¡¡¿·¤·¤¯Äɲ䵤줿ÊÑ¿ô¤Î¤¦¤Á¡¢enemyData ÊÑ¿ô¤Ï²¿¤âÀßÄê¤ò¤·¤Ê¤¤¤Ç¤¯¤À¤µ¤¤¡£
¤³¤ÎÉôʬ¤Ë¡¢EnemyGenerator ¥¹¥¯¥ê¥×¥È¦¤«¤éÆϤ¤¤¿ EnemyData ¤Î¾ðÊ󤬼«Æ°Åª¤ËÆþ¤ê¤Þ¤¹¡£
¤½¤¦¤¹¤ë¤³¤È¤Ë¤è¤Ã¤Æ¡¢¤³¤Î¥Ç¡¼¥¿¤òÍøÍѤ·¤Æ¡¢¥¨¥Í¥ß¡¼¤ÎÌò³ä¡¢¿¶¤ëÉñ¤¤¤¬¼«Æ°Åª¤ËÀßÄꤵ¤ì¤Þ¤¹¡£


EnemyData




¡¡imgEnemy ÊÑ¿ô¤Ë¤Ï¡¢Æ±Ì¾¤Î¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤ò¥É¥é¥Ã¥°¥¢¥ó¥É¥É¥í¥Ã¥×¤·¤Æ¥¢¥µ¥¤¥ó¤·¤Æ¤¯¤À¤µ¤¤¡£
Image ¥³¥ó¥Ý¡¼¥Í¥ó¥È¤Î¾ðÊó¤¬ÅÐÏ¿¤µ¤ì¤Þ¤¹¡£¤³¤ÎÊÑ¿ô¤òÍøÍѤ·¤Æ¡¢EnemyData ¥¯¥é¥¹¤ËÅÐÏ¿¤µ¤ì¤Æ¤¤¤ë²èÁü¤Î¾ðÊó¤òÍøÍѤ·¡¢
¥¨¥Í¥ß¡¼¤Î²èÁü¤òÀ¸À®¤µ¤ì¤ë¤¿¤Ó¤Ë¡¢¼«Æ°Åª¤Ëº¹¤·Âؤ¨¤ë¤è¤¦¤Ë¤·¤Þ¤¹¡£


EnemySet ¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¡¡¥¤¥ó¥¹¥Ú¥¯¥¿¡¼²èÁü



¡¡°Ê¾å¤ÇÀßÄê¤Ï´°Î»¤Ç¤¹¡£


£¶¡¥EnemyGenerator ¥¹¥¯¥ê¥×¥È¤ò½¤Àµ¤·¡¢¥¨¥Í¥ß¡¼ÍѤΥץì¥Õ¥¡¥Ö¤Ë EnemyDataSO ¥¹¥¯¥ê¥×¥¿¥Ö¥ë¡¦¥ª¥Ö¥¸¥§¥¯¥È¤Î¥Ç¡¼¥¿¤ò»²¾È¤·¤Æ¡¢£±¤Ä¤Î¥×¥ì¥Õ¥¡¥Ö¤«¤é°Û¤Ê¤ë¥¨¥Í¥ß¡¼¤ò¼«Æ°À¸À®¤¹¤ë½èÍý¤òÄɲ乤ë

£±¡¥Àß·×


¡¡EnemyController ¥¹¥¯¥ê¥×¥È¤Î½¤Àµ¤¬½ª¤ï¤ê¡¢EnemyDataSO ¥¹¥¯¥ê¥×¥¿¥Ö¥ë¡¦¥ª¥Ö¥¸¥§¥¯¥È¤Î¥Ç¡¼¥¿¤òÈ¿±Ç¤·¤ÆÍøÍѤǤ­¤ë½àÈ÷¤¬´°Î»¤·¤Þ¤·¤¿¡£

¡¡¤Ä¤Å¤¤¤Æ¡¢EnemyGenerator ¥¹¥¯¥ê¥×¥ÈÆâ¤Ë EnemyDataSO ¥¹¥¯¥ê¥×¥¿¥Ö¥ë¡¦¥ª¥Ö¥¸¥§¥¯¥È¤Î¥Ç¡¼¥¿¤ò°·¤¨¤ë¤è¤¦¤Ë¤·¡¢
¤½¤Î¥Ç¡¼¥¿¤òÍøÍѤ·¤Æ¡¢À¸À®¤·¤¿¥¨¥Í¥ß¡¼¤Î¥¯¥í¡¼¥ó¤Ë¥¨¥Í¥ß¡¼¤Î¥Ç¡¼¥¿¤òÁ÷¤êÅϤ¹½èÍý¤ò½¤Àµ¡¦Äɲäò¹Ô¤¤¤Þ¤¹¡£

¡¡Á°¤ÎÀ߷פÇÀâÌÀ¤·¤¿¤è¤¦¤Ë¡¢¥¹¥¯¥ê¥×¥¿¥Ö¥ë¡¦¥ª¥Ö¥¸¥§¥¯¥È¤âºîÀ®¤·¤¿¤À¤±¤Ç¤ÏÍøÍѤǤ­¤Þ¤»¤ó¡£
ÍøÍѤ¹¤ë¤¿¤á¤Ë¤Ï EnemyDataSO ·¿¤ÎÊÑ¿ô¤òÀë¸À¤·¡¢¤½¤ÎÊÑ¿ô¤Ë¥¹¥¯¥ê¥×¥¿¥Ö¥ë¡¦¥ª¥Ö¥¸¥§¥¯¥È¤òÂåÆþ¤·¤Æ¡¢»²¾È¤·¤ÆÍøÍѤ·¤Æ¤¤¤¯ÊýË¡¤Ë¤Ê¤ê¤Þ¤¹¡£

¡¡EnemyGenerator ¥¹¥¯¥ê¥×¥È¤Ë¥¹¥¯¥ê¥×¥¿¥Ö¥ë¡¦¥ª¥Ö¥¸¥§¥¯¥È¤Î¾ðÊó¤ò°·¤¨¤ë¤È¤¤¤¦¤³¤È¤Ï¡¢
¤³¤Î¥¹¥¯¥ê¥×¥È¤Ë¤ª¤¤¤ÆÀ¸À®¤·¤¿¥¨¥Í¥ß¡¼¤Î¥¯¥í¡¼¥ó¤ËÂФ·¤Æ¡¢¥¨¥Í¥ß¡¼¤È¤·¤Æ¤Î¿¶¤ëÉñ¤¤¤ò·èÄꤹ¤ëÉôʬ¤Þ¤Ç¤¬¼ÂÁõ¤µ¤ì¤ëÀ߷פˤʤê¤Þ¤¹¡£
¤½¤·¤Æ¤½¤Î¥¨¥Í¥ß¡¼¤Î¾ðÊó¤ò EnemyController ¥¹¥¯¥ê¥×¥È¦¤ËÅϤ¹¤³¤È¤Ç¡¢EnemyController ¥¹¥¯¥ê¥×¥È¤¬¥¨¥Í¥ß¡¼¤Î¾ðÊó¤òÀßÄꤷ¤Æ¤¯¤ì¤ë½èÍý¤Îή¤ì¤Ë¤Ê¤Ã¤Æ¤¤¤Þ¤¹¡£

¡¡¤½¤Î¤¿¤á¤Ë¤Ï»öÁ°½àÈ÷¤È¤·¤Æ¿¤¯¤Î½èÍý¤Î¼ÂÁõ¤¬É¬Íפˤʤê¤Þ¤¹¡£

¡ã¥í¥¸¥Ã¥¯¤Îή¤ì¡ä
¡þ£±¡¥¥¨¥Í¥ß¡¼ÍѤΥǡ¼¥¿¤ò¡¢¥Î¡¼¥Þ¥ë¤Î¥¨¥Í¥ß¡¼¤Î¥Ç¡¼¥¿¤À¤±¤¬Ãê½Ð¤µ¤ì¤Æ¤¤¤ë List ¤È¥Ü¥¹¤Î¥Ç¡¼¥¿¤À¤±¤¬Ãê½Ð¤µ¤ì¤Æ¤¤¤ë List ¤Î£²¤Ä¤Ëʬ¤±¤Æ¡¢¿·¤·¤¯ºîÀ®¤¹¤ë¤¿¤á¤ÎÊÑ¿ô¤òÍÑ°Õ¤¹¤ë
¡þ£²¡¥EnemyDataSO ¥¹¥¯¥ê¥×¥¿¥Ö¥ë¡¦¥ª¥Ö¥¸¥§¥¯¥È¤òÍøÍѤ·¤Æ¡¢¡Ú£±¡Û¤Î List ¤ò¤¾¤ì¤¾¤ìºîÀ®¤·¡¢ÊÑ¿ô¤ËÂåÆþ¤¹¤ë
¡þ£³¡¥¥¨¥Í¥ß¡¼¤ÎÀ¸À®¤Ë¤¢¤¿¤ê¡¢¥Î¡¼¥Þ¥ë¤Î¥¨¥Í¥ß¡¼¤òÀ¸À®¤¹¤ë¾ì¹ç¤Ë¤Ï¡¢¥Î¡¼¥Þ¥ë¤Î¥¨¥Í¥ß¡¼¤Î¥Ç¡¼¥¿¤Î List¡¢¥Ü¥¹¤Î¥¨¥Í¥ß¡¼¤òÀ¸À®¤¹¤ë¾ì¹ç¤Ë¤Ï¡¢¥Ü¥¹¤Î¥¨¥Í¥ß¡¼¤Î¥Ç¡¼¥¿¤Î List ¤ò»È¤¦Ê¬´ô¤òºîÀ®¤¹¤ë
¡þ£´¡¥¡Ú£³¡Û¤Î List ¤ÎÃ椫¤é¥é¥ó¥À¥à¤Ê¥¨¥Í¥ß¡¼¤Î¥Ç¡¼¥¿¤ò£±¤ÄÁªÂò¤·¤Æ¡¢¤½¤ì¤òÀ¸À®¤·¤¿¥¨¥Í¥ß¡¼¤Î¥¯¥í¡¼¥ó¤Î¡Ö¥¨¥Í¥ß¡¼¤Î¾ðÊó(EnemyData)¡×¤È¤·¤Æ·èÄꤹ¤ë
¡»£µ¡¥¥¨¥Í¥ß¡¼¤Î¥×¥ì¥Õ¥¡¥Ö¤«¤é¥¯¥í¡¼¥ó¤ÎÀ¸À®¤ò¹Ô¤¦
¢¤£¶¡¥EnemyController ¥¹¥¯¥ê¥×¥È¤Î SetUpEnemy ¥á¥½¥Ã¥É¤Ë¡Ú£´¡Û¤Ç·èÄꤷ¤¿¥¨¥Í¥ß¡¼¤Î¾ðÊó¤ò°ú¿ô¤È¤·¤ÆÅϤ¹
¡»£·¡¥EnemyController ¥¹¥¯¥ê¥×¥È¤Î SetUpEnemy ¥á¥½¥Ã¥É¤Ë¤ª¤¤¤Æ¡¢°ú¿ô¤Ç¼èÆÀ¤·¤¿¥¨¥Í¥ß¡¼¤Î¾ðÊó¤òÍøÍѤ·¤Æ¡¢¥¨¥Í¥ß¡¼¤È¤·¤Æ¤Î¿¶¤ëÉñ¤¤¤òÀßÄꤹ¤ë

¡¡¡þ¤ÎÉôʬ¤Ï¿·¤·¤¯¼ÂÁõ¤¹¤ëÊÑ¿ô¤ä½èÍý¡¢¡»¤Ï¼ÂÁõºÑ¤Î½èÍý¡¢¢¤¤Ï½¤Àµ¤ò¹Ô¤¦½èÍý¤Ë¤Ê¤ê¤Þ¤¹¡£

¡¡¤Þ¤ººÇ½é¤Ë¡þ£±¤Î¤¿¤á¤Ë¡¢EnemyData ·¿¤Î List ¤ÎÊÑ¿ô¤ò£²¤ÄÍÑ°Õ¤·¤Æ¤ª¤­¤Þ¤¹¡£
EnemyDataSO ¥¹¥¯¥ê¥×¥¿¥Ö¥ë¡¦¥ª¥Ö¥¸¥§¥¯¥È¤Ë¤Ï¤¹¤Ù¤Æ¤Î¥¨¥Í¥ß¡¼¤Î¥Ç¡¼¥¿¤¬ÅÐÏ¿¤µ¤ì¤Æ¤¤¤Þ¤¹¤¬¡¢
¼ÂºÝ¤ËÍøÍѤ¹¤ëºÝ¤Ë¤Ï¡¢ÍøÍѼÂÂ֤˹ç¤ï¤»¤ÆɬÍפʾðÊó¤òºîÀ®¤·¤Æ±¿ÍѤ·¤Æ¤¤¤¯¤³¤È¤¬É¬Íפˤʤê¤Þ¤¹¡£
¤Ä¤Þ¤ê¡¢¥¹¥¯¥ê¥×¥¿¥Ö¥ë¡¦¥ª¥Ö¥¸¥§¥¯¥È¼«ÂΤϥ²¡¼¥à¤Î¥Þ¥¹¥¿¡¼¥Ç¡¼¥¿¤È¤·¤ÆÍøÍѤ·¡¢¥²¡¼¥àÆâ¤Ç¤Ï¤½¤ì¤ò¾å¼ê¤¯³èÍѤ·¤Æ±¿ÍѤ·¤Æ¤¤¤¯¤È¤¤¤¦·Á¼°¤Ë¤Ê¤ê¤Þ¤¹¡£

¡¡º£²ó¤Î¾ì¹ç¡¢¥¨¥Í¥ß¡¼¤òÀ¸À®¤¹¤ë¤¿¤Ó¤ËËè²ó½èÍý¤ò¤¹¤ë¡¢¤¹¤Ù¤Æ¤Î¥¨¥Í¥ß¡¼¤Î¥Ç¡¼¥¿¤ÎÃ椫¤éÆÃÄê¤Î¥¨¥Í¥ß¡¼¤Î¥Ç¡¼¥¿¤òõ¤¹¡¢¤È¤¤¤¦½èÍý¤ò
¤è¤ê¥³¥ó¥Ñ¥¯¥È¤Ë¡¢É¬ÍפʾðÊó¤ÎÃ椫¤é¤À¤±¸¡º÷¤·¤ÆÍøÍѤǤ­¤ë¤è¤¦¤Ë¤¹¤ë¤¿¤á¤Ë¡¢¤½¤ì¤¾¤ì¤Î¥¨¥Í¥ß¡¼¤Î¼ïÎà¤òÆÃÄꤷ¤¿ List ¤òºîÀ®¤·¤Æ¤¤¤Þ¤¹¡£

¡¡¸½ºß¤Ï¥Ü¥¹¤«¡¢¤½¤ì°Ê³°¤Î¥¨¥Í¥ß¡¼¤Î¥Ç¡¼¥¿¤·¤«¤¢¤ê¤Þ¤»¤ó¤Î¤Ç¡¢¤³¤Î£²¤Ä¤ËʬÎष¤Æ List ¤òÍÑ°Õ¤·¤Æ¤ª¤­¤Þ¤¹¡£
¤½¤¦¤¹¤ë¤³¤È¤è¤Ã¤Æ¡¢¥Ü¥¹¤òÀ¸À®¤¹¤ëºÝ¤Ë¤Ï¡¢¥¹¥¯¥ê¥×¥¿¥Ö¥ë¡¦¥ª¥Ö¥¸¥§¥¯¥È¤ò¤¹¤Ù¤Æ¸¡º÷¤·¤Æ¥Ü¥¹¤ò¸«¤Ä¤±¤ë¤Î¤Ç¤Ï¤Ê¤¯¡¢
¥Ü¥¹¤Î¥Ç¡¼¥¿¤Î¤ß¤¬Æþ¤Ã¤Æ¤¤¤ë List ¤«¤é¸¡º÷¤ò¹Ô¤¦¤è¤¦¤Ë¤¹¤ëÀ߷פˤʤäƤ¤¤Þ¤¹¡£



¡¡Â³¤¤¤Æ¤Ï¡¢¤³¤Î£²¤Ä¤Î List ¤ËÂФ·¤Æ¡¢¥¹¥¯¥ê¥×¥¿¥Ö¥ë¡¦¥ª¥Ö¥¸¥§¥¯¥È¤Î¥Ç¡¼¥¿¤òÃê½Ð¤·¤Æ
¥Î¡¼¥Þ¥ë¤Î List ¤Ë¤Ï¥Î¡¼¥Þ¥ë¥¿¥¤¥×¤Î¤Î¥¨¥Í¥ß¡¼¤Î¥Ç¡¼¥¿¤Î¤ß¤¬ÂåÆþ¤µ¤ì¤ë½èÍý¤ò¹Í¤¨¤Þ¤¹¡£
¥Ü¥¹¤âƱÍͤǤ¹¡£

¡¡Ãê½ÐÊýË¡¤ÏÍÍ¡¹¤¢¤ê¤Þ¤¹¤¬¡¢º£²ó¤ÏÃê½Ð½èÍýÀìÍѤΥ᥽¥Ã¥É¤òÍÑ°Õ¤·¡¢°ú¿ô¤ËEnemyType ¤ò»ØÄꤹ¤ë¤³¤È¤Ë¤è¤Ã¤Æ¡¢
»ØÄꤷ¤¿ EnemyType ¤Î¾ðÊó¤Î¤ß¤òÃê½Ð¤·¤Æ List ¤òºîÀ®¤¹¤ë¥á¥½¥Ã¥É¤òÍÑ°Õ¤·¤Æ¤ª¤­¤Þ¤¹¡£

¡¡¤³¤Î¥á¥½¥Ã¥É¤Ë¤ÏÌá¤êÃͤòÀßÄꤷ¡¢»ØÄꤷ¤¿ EnemyType ¤Î¾ðÊó¤Î¤ß¤¬ List ¤Î·Á¤Ç¼èÆÀ¤Ç¤­¤ë¤è¤¦¤Ë¤·¤Æ¡¢³Æ List ¤ÎÊÑ¿ô¤ËÂåÆþ½ÐÍè¤ë¤è¤¦¤Ë¤·¤Þ¤¹¡£
°ú¿ô¤Ç»ØÄꤷ¤¿ EnemyType ¤Ë¹ç¤ï¤»¤Æ List ¤¬¼èÆÀ¤Ç¤­¤ë¤¿¤á¡¢ÈÆÍÑÀ­¤¬¹â¤¤½èÍý¤Ë¤Ê¤ê¤Þ¤¹¡£

¡¡¤³¤Î¼ê½ç¤Ï¥²¡¼¥à¥¹¥¿¡¼¥È¸å¤Ë¥¨¥Í¥ß¡¼¤òÀ¸À®¤¹¤ëÁ°¤Ë½ªÎ»¤·¤Æ¤ª¤¯¤Ù¤­½èÍý¤Ë¤Ê¤ê¤Þ¤¹¤Î¤Ç¡¢
Start ¥á¥½¥Ã¥ÉÆâ¤Ë¤Æ¼Â¹Ô¤·¤Æ¡¢¥¨¥Í¥ß¡¼¤ÎÀ¸À®Á°¤Ë»öÁ°¤Ë List ¤ò£²¤ÄÍÑ°Õ¤·¤Æ¤ª¤­¤Þ¤¹¡£



¡¡¥¨¥Í¥ß¡¼¤ÎÀ¸À®¤Ë¤¢¤¿¤Ã¤Æ¤Ï¡¢¥Î¡¼¥Þ¥ë¤Î¥¨¥Í¥ß¡¼¤Ç¤¢¤ë¤Î¤«¡¢¤¢¤ë¤¤¤Ï¥Ü¥¹¤Î¥¨¥Í¥ß¡¼¤Ç¤¢¤ë¤Î¤«¤Ë¤è¤Ã¤ÆÀ¸À®¤Þ¤Ç¤Î²áÄø¤òʬ´ô¤·¤Þ¤¹¡£
¤³¤ì¤Ï¤¤¤Þ¤Þ¤Ç GenerateEnemy ¥á¥½¥Ã¥É¤Î°ú¿ô¤Ë¤ª¤¤¤Æ isBoss ÊÑ¿ô¤È¤¤¤¦ÃͤòÍøÍѤ·¤Æʬ´ô¤·¤Æ¤¤¤Þ¤·¤¿¤¬¡¢
EnemyData ¤Ë¤Ï EnemyType ¾ðÊ󤬤¢¤ê¡¢¤³¤ÎÃæ¤Ë¤Ï Boss ¤È¤¤¤¦¾ðÊ󤬤¢¤ê¤Þ¤¹¤Î¤Ç¡¢¤³¤Î EnemyType ¤Î»ØÄê¤ò°ú¿ô¤Ç¼õ¤±¼è¤ë¤è¤¦¤Ë½èÍý¤òÊѹ¹¤·¡¢
¥á¥½¥Ã¥ÉÆâ¤Î½èÍý¤òʬ´ô¤¹¤ë¤è¤¦¤ËÀ߷פ·¤Þ¤¹¡£

¡¡¤³¤Î¤È¤­¡¢EnemyType ¤¬¥Î¡¼¥Þ¥ë¤Î¥¿¥¤¥×¤Ç¤¢¤ë¾ì¹ç¤Ë¤Ï¡¢¥Î¡¼¥Þ¥ë¤Î¥¨¥Í¥ß¡¼¤Î¥Ç¡¼¥¿¤Î¤ß¤¬Ãê½Ð¤µ¤ì¤Æ¤¤¤ë List ¤«¤é
¥é¥ó¥À¥à¤Ê¥¨¥Í¥ß¡¼¤Î¥Ç¡¼¥¿¤ò£±¤ÄÁªÂò¤·¤Æ¡¢º£²óÀ¸À®¤¹¤ë¥¨¥Í¥ß¡¼¤Î¾ðÊó(EnemyData)¤È¤·¤Æ·èÄꤷ¤Þ¤¹¡£

¡¡¥Ü¥¹¤âƱÍͤνèÍý¤ò¹Ô¤¤¤Þ¤¹¡£



¡¡¤½¤Î¸å¡¢¥¨¥Í¥ß¡¼¤ÎÀ¸À®¤Î¼ê½ç¤Ë¤Ê¤ê¤Þ¤¹¡£¤³¤ÎÉôʬ¤ÏÊѤï¤ê¤Þ¤»¤ó¡£

¡¡ºÇ¸å¤Ë¡¢À¸À®¤µ¤ì¤¿¥¨¥Í¥ß¡¼¤Î¥¯¥í¡¼¥ó¤Î¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤è¤ê¡¢EnemyController ¥¹¥¯¥ê¥×¥È¤Î¾ðÊó¤ò¼èÆÀ¤·¡¢SetUpEnemy ¥á¥½¥Ã¥É¤ò¼Â¹Ô¤¹¤ëÉôʬ¤Î
°ú¿ô¤Î»ØÄê¤ò bool ·¿¤«¤é EnemyData ¤Ø¤ÈÊѹ¹¤·¤Þ¤¹¡£¤³¤Î¥á¥½¥Ã¥É¤Ï¤¹¤Ç¤Ë½¤ÀµºÑ¤Ç¤¹¤Î¤Ç¡¢¤³¤Î½¤Àµ¤Ë¤è¤Ã¤Æ¡¢EnemyGenerator ¥¹¥¯¥ê¥×¥È¤Ë¤ª¤¤¤Æ·èÄꤷ¤¿
¥¨¥Í¥ß¡¼¤Î¾ðÊó¤¬ EnemyController ¥¹¥¯¥ê¥×¥È¦¤Ø¤È°ú¿ô¤òÄ̤¸¤ÆÁ÷¿®¤µ¤ì¤ë¤³¤È¤Ë¤Ê¤ê¤Þ¤¹¡£



¡¡°Ê¾å¤¬¥í¥¸¥Ã¥¯¤Îή¤ì¤Ë¤Ê¤ê¤Þ¤¹¡£
¡¡¥¹¥¯¥ê¥×¥¿¥Ö¥ë¡¦¥ª¥Ö¥¸¥§¥¯¥È¤Î¥Ç¡¼¥¿¤òÃê½Ð¤·¤Æ List ¤òºîÀ®¤·¤¿¤ê¡¢ºîÀ®¤Ë¤¢¤¿¤Ã¤Æ¥á¥½¥Ã¥É¤Î°ú¿ô¤ÈÌá¤êÃͤò³èÍѤ¹¤ë¤Ê¤É¡¢
º£¤Þ¤Ç°Ê¾å¤Ë¥×¥í¥°¥é¥à¤Î½èÍý¤ÎÍý²ò¤ò¿¼¤á¤Æ¤¤¤¯¤³¤È¤¬½ÅÍפˤʤê¤Þ¤¹¡£


£²¡¥EnemyGenerator ¥¹¥¯¥ê¥×¥È¤ò½¤Àµ¤¹¤ë


¡¡À߷פ˴ð¤Å¤¤¤Æ½èÍý¤Î¥í¥¸¥Ã¥¯¤òÁȤó¤Ç¤¤¤­¤Þ¤¹¡£
Æɤó¤Ç¤¤¤¿¤À¤¤¤Æ¤ªÊ¬¤«¤ê¤ËÍѤˡ¢Èó¾ï¤Ë¿¤¯¤Î½èÍý¤Î½¤Àµ¤ÈÄɲ䬤¢¤ê¤Þ¤¹¡£

¡¡¥¹¥¯¥ê¥×¥¿¥Ö¥ë¡¦¥ª¥Ö¥¸¥§¥¯¥È¤Î¤¿¤á¤ÎÊÑ¿ô¤ÎÀë¸À¡¢¥¹¥¯¥ê¥×¥¿¥Ö¥ë¡¦¥ª¥Ö¥¸¥§¥¯¥È¤Î¾ðÊó¤òÍøÍѤ·¤Æ¡¢¥¨¥Í¥ß¡¼¤Î¥Ç¡¼¥¿¤ò¥Î¡¼¥Þ¥ë¥¿¥¤¥×¤Î¾ðÊó¤È¥Ü¥¹¥¿¥¤¥×¤Î¾ðÊó¤Ëʬ¤±¤ë½èÍý¡¢
À¸À®¤¹¤ëºÝ¤Ë¥¨¥Í¥ß¡¼¤Î¥¿¥¤¥×¤Ë±þ¤¸¤Æ¥¨¥Í¥ß¡¼¤Î¥¿¥¤¥×¤´¤È¤Ëʬ¤±¤ÆºîÀ®¤·¤¿¥ê¥¹¥È¤«¤é¥é¥ó¥À¥à¤Ë¥¨¥Í¥ß¡¼¤Î¥Ç¡¼¥¿¤òÃê½Ð¤·¤ÆÍøÍѤ¹¤ë½èÍý¡¢¤Ê¤É
º£¤Þ¤Ç¤ËÍøÍѤ·¤Æ¤­¤¿½èÍý¤Ç¤Ï¤Ê¤¯¡¢¤â¤Ã¤ÈÊ£»¨¤Ê½èÍý¤¬¤Ä¤Ê¤¬¤Ã¤Æ£±¤Ä¤Î½èÍý¤Ë¤Ê¤Ã¤Æ¤¤¤Þ¤¹¡£

¡¡À߷פÇÄ󼨤·¤¿¥í¥¸¥Ã¥¯¤Îή¤ì¤È¼ÂÁõ¤·¤Æ¤¤¤¯ÆâÍƤò£±¤Ä¤º¤Ä³Îǧ¤·¤Ê¤¬¤é¡¢½èÍý¤ÎÆâÍƤòÍý²ò¤·¤Æ¤¤¤­¤Þ¤·¤ç¤¦¡£


EnemyGenerator.cs

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


¡¡¥¹¥¯¥ê¥×¥È¤ò½¤Àµ¤·¤¿¤é¥»¡¼¥Ö¤·¤Þ¤¹¡£

¡¡EnemyGenerator ¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤Î¥¤¥ó¥¹¥Ú¥¯¥¿¡¼¤ò³Îǧ¤·¤Þ¤¹¡£
¿·¤·¤¯ public ½¤¾þ»Ò¤ÇÀë¸À¤·¤¿ÊÑ¿ô¤¬Äɲ䵤ì¤Æ¤¤¤Þ¤¹¡£


EnemyGenerator ¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¡¡¥¤¥ó¥¹¥Ú¥¯¥¿¡¼²èÁü



£³¡¥½èÍý¤ò£±¤Ä¤º¤ÄÆɤ߲ò¤¤¤Æ¤¤¤¯


¡¡º£²óÄɲ䵤줿½èÍý¤Ï¡¢switch ʸ¤È enum ¤Î EnemyType ¤òÁȤ߹ç¤ï¤»¤¿½èÍý¡¢
Ìá¤êÃͤò»ý¤Ä¥á¥½¥Ã¥É¤òÍøÍѤ·¤Æ List ¤òºîÀ®¤·¤¿¤ê¡¢¿§¡¹¤Ê¿·¤·¤¤½èÍý¤¬¤¿¤¯¤µ¤ó¤¢¤ê¤Þ¤¹¡£

¡¡½çÈ֤ˣ±¤Ä¤º¤Ä½èÍý¤ò¸«Ä¾¤·¤Æ¡¢¤É¤Î¤è¤¦¤ÊÆâÍƤˤʤäƤ¤¤ë¤«¤òÆɤ߲ò¤¤¤Æ¤ß¤Æ¤¯¤À¤µ¤¤¡£

¡¡Î㤨¤Ð¡¢Ìá¤êÃͤνèÍý¤Ï¤É¤Î¤è¤¦¤ËÆ°¤¤¤Æ¤¤¤ë¤Î¤«¡¢¥á¥½¥Ã¥É¤òÄɤ¤¤«¤±¤ÆÆɤó¤Ç¤¯¤À¤µ¤¤¡£

¡¡¡¡// EnemyType ¤¬ Normal ¤ÎEnemyData ¤À¤±¤ò List ¤ËÂåÆþ¤¹¤ë
    normalEnemyList = GetEnemyTypeList(EnemyType.Normal);
¡¡¡¡¡¡¢­¡¡¤³¤Á¤é¤Î¥á¥½¥Ã¥É½èÍý·ë²Ì¤¬ÂåÆþ¤µ¤ì¤ë¡£²¿¸Î¤Ê¤é¤Ð¡¢¤³¤Î¥á¥½¥Ã¥É¤ÏÌá¤êÃͤò»ý¤Ä¥á¥½¥Ã¥É¤Ç¤¢¤ë¤¿¤á
    /// <summary>
    /// °ú¿ô¤Ç»ØÄꤵ¤ì¤¿¥¨¥Í¥ß¡¼¤Î¼ïÎà¤ÎList¤òºîÀ®¤·¡¢ºîÀ®¤·¤¿ÃͤòÌ᤹
    /// </summary>
    /// <param name="enemyType"></param>
    /// <returns></returns>
    private List<EnemyDataSO.EnemyData> GetEnemyTypeList(EnemyType enemyType) {

¡¡¡¡¡¡¡¡// enemyType ÊÑ¿ô¤Ë¤Ï¡¢EnemyType.Normal ¤¬°ú¿ô¤È¤·¤ÆÂåÆþ¤µ¤ì¤Æ¤¤¤ë
¡¡¡¡¡¡¡¡// ¤Þ¤º¤ÏÊÑ¿ô¤ÎÃͤò¤·¤Ã¤«¤ê¤ÈÇÄ°®¤·¤Æ¤«¤é¡¢°Ê²¼¤Î½èÍý¤òÆɤ߲ò¤¯

        // EnemyType ¤¬ Normal ¤Î EnemyData ¤À¤±¤¬ÂåÆþ¤µ¤ì¤ë List ¤òÍÑ°Õ¤¹¤ë
        List<EnemyDataSO.EnemyData> enemyDatas = new List<EnemyDataSO.EnemyData>();

        // Normal ¥¿¥¤¥×¤Î¥¨¥Í¥ß¡¼¤Î¥Ç¡¼¥¿¤À¤±¤ò¥¹¥¯¥ê¥×¥¿¥Ö¥ë¡¦¥ª¥Ö¥¸¥§¥¯¥È¤è¤êÃê½Ð¤·¤Æ¥ê¥¹¥È¤ËÄɲ乤ë
        for (int i = 0; i < enemyDataSO.enemyDataList.Count; i++) {

¡¡¡¡¡¡¡¡¡¡¡¡// £±¤Ä¤º¤Ä EnemyData Æâ¤Î¾ðÊó¤Ë¤¢¤ë EnemyType ¤ò³Îǧ¤·¡¢¤½¤ì¤¬ Normal ¤Î¾ðÊó¤ò»ý¤Ä EnemyData ¤Ç¤¢¤ë¾ì¹ç
            if (enemyDataSO.enemyDataList[i].enemyType == enemyType) {
¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡// ÍÑ°Õ¤·¤Æ¤ª¤¤¤¿ List ¤Ë EnemyData ¤òÄɲ乤롣¤³¤ì¤Ë¤è¤ê¡¢ EnemyDatas ¤Î List ¤Ë¤Ï EnemyType ¤¬ Normal ¤ÎEnemyData ¤Î¤ß¤¬Ãê½Ð¤µ¤ì¤ë
                enemyDatas.Add(enemyDataSO.enemyDataList[i]);
            }
        }

¡¡¡¡¡¡¡¡// Ãê½Ð·ë²Ì¤¬ÂåÆþ¤µ¤ì¤Æ¤¤¤ë List ¤ò½èÍý·ë²Ì¤È¤·¤ÆÌá¤êÃͤȤ·¤ÆÌ᤹
        return enemyDatas;
    }
¡¡¡¡¡¡¡¡¢­¡¡°Ê¾å¤Î¤³¤È¤«¤é¡¢¤³¤Î£±¹Ô¤Î½èÍý¤Ï¡¢¼¡¤Î¤è¤¦¤Ê½èÍý¤Ë¤Ê¤Ã¤Æ¤¤¤ë
¡¡¡¡// º¸Êդȱ¦Êդη¿¤¬Æ±¤¸ List<EnemyDataSO.EnemyData> ·¿¤Ê¤Î¤Ç¡¢ÂåÆþ½èÍý¤¬À®Î©¤¹¤ë
¡¡¡¡normalEnemyList = GetEnemyTypeList(EnemyType.Normal);  => ¤³¤Î¥á¥½¥Ã¥É¤Î½èÍý·ë²Ì¤Î List<EnemyDataSO.EnemyData> enemyDatas ¤¬Ìá¤Ã¤Æ¤¯¤ë

¡¡¡¡// ¥Ü¥¹¤Î¾ì¹ç¤âƱ¤¸Î®¤ì¤Î½èÍý

¡¡¤³¤Î¤è¤¦¤Ë¡¢£±¤Ä¤º¤Ä¤Î½èÍý¤ò½çÈ֤ˤ·¤Ã¤«¤ê¤ÈÆɤ߲ò¤¤¤Æ¤¤¤¯¤³¤È¤¬ÂçÀڤǤ¹¡£
¡¡

£´¡¥¡ãList¤Î»È¤¤Êý­¡¡¡¡¼Add ¥á¥½¥Ã¥É¡¼¡ä


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

List.Add(T·¿) ¥á¥½¥Ã¥É

¡¡List¤ÎËöÈø¤Ë°ú¿ô¤Ç»ØÄꤷ¤¿Í×ÁÇ(¥Ç¡¼¥¿)¤òÄɲä·¤Þ¤¹¡£
°ú¿ô¤¬ T ·¿¤È¤Ê¤Ã¤Æ¤¤¤Þ¤¹¤¬¡¢¤³¤ì¤Ï List ¤òÀë¸À¤·¤¿ºÝ¤Ë»È¤Ã¤¿·¿¤¬¼«Æ°Åª¤ËÆþ¤ê¤Þ¤¹¡£
º£²ó¤Ï EnemyDataSO.EnemyData ·¿¤Î List ¤òÀë¸À¤·¤Æ¤¤¤Þ¤¹¤Î¤Ç¡¢Add ¥á¥½¥Ã¥É¤Î°ú¿ô¤Ë¤Ï EnemyDataSO.EnemyData ·¿¤Î¤ß»ØÄê¤Ç¤­¤Þ¤¹¡£

¡¡¤½¤Î¤¿¤á¡¢List¤ÇÀë¸À¤·¤Æ¤¤¤ë·¿¤ÈƱ¤¸·¿¤Ç¤¢¤ì¤Ð Add ¥á¥½¥Ã¥É¤Ç List ¤ËÍ×ÁǤòÄɲ乤뤳¤È¤¬½ÐÍè¤Þ¤¹¡£

¡¡// EnemyType ¤¬ Normal ¤Î EnemyData ¤À¤±¤¬ÂåÆþ¤µ¤ì¤ë List ¤òÍÑ°Õ¤¹¤ë
  List<EnemyDataSO.EnemyData> enemyDatas = new List<EnemyDataSO.EnemyData>();

¡¡// ÍÑ°Õ¤·¤Æ¤ª¤¤¤¿ List ¤Ë EnemyData ¤òÄɲ乤롣¤³¤ì¤Ë¤è¤ê¡¢ EnemyDatas ¤Î List ¤Ë¤Ï EnemyType ¤¬ Normal ¤ÎEnemyData ¤Î¤ß¤¬Ãê½Ð¤µ¤ì¤ë
  enemyDatas.Add(enemyDataSO.enemyDataList[i]);

¡¡Äɲ䵤줿Í×ÁǤϡ¢¼«Æ°Åª¤Ë List ¤ÎºÇ¸å¤Ë½çÈÖ¤ËÄɲ䵤ì¤Æ¤¤¤­¤Þ¤¹¡£
Î㤨¤Ð¡¢ballonList ¤¬¤Þ¤À£±¤Ä¤âÍ×ÁǤ¬¤Ê¤±¤ì¤Ð¡¢enemyDatas[0] ¤È¤·¤Æ£±¤ÄÌܤËÍ×ÁǤ¬Äɲ䵤ì¤Þ¤¹¡£
¤½¤Î¤¢¤È¤Ë Add ¥á¥½¥Ã¥É¤¬¼Â¹Ô¤µ¤ì¤¿¾ì¹ç¤Ë¤Ï¡¢enemyDatas[1] ¤È¤·¤Æ£²¤ÄÌܤËÍ×ÁǤ¬Äɲ䵤ì¤Þ¤¹¡£


£µ¡¥EnemyGenerator ¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤ÎÀßÄê¤ò¹Ô¤¦


¡¡EnemyGenerator ¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤Î¥¤¥ó¥¹¥Ú¥¯¥¿¡¼¤è¤ê¡¢EnemyDataSO ·¿¤ÎÊÑ¿ô¤Ë
Datas ¥Õ¥©¥ë¥À¤Ë¤¢¤ë EnemyDataSO ¥¹¥¯¥ê¥×¥¿¥Ö¥ë¡¦¥ª¥Ö¥¸¥§¥¯¥È¤ò¥É¥é¥Ã¥°¥¢¥ó¥É¥É¥í¥Ã¥×¤·¤Æ¥¢¥µ¥¤¥ó¤·¤Æ¤¯¤À¤µ¤¤¡£
¤³¤ì¤Ç EnemyDataSO ¥¹¥¯¥ê¥×¥¿¥Ö¥ë¡¦¥ª¥Ö¥¸¥§¥¯¥È¤¬ÅÐÏ¿¤µ¤ì¤Æ¡¢¥¹¥¯¥ê¥×¥ÈÆâ¤ÇÍøÍѤǤ­¤ë¾õÂ֤ˤʤê¤Þ¤¹¡£

¡¡Â¾¤Î£²¤Ä¤Î List ¤Ë¤Ä¤¤¤Æ¤Ï¤½¤Î¤Þ¤Þ(Size 0)¤ÇÌäÂꤢ¤ê¤Þ¤»¤ó¡£
¥²¡¼¥à¤ò¼Â¹Ô¤¹¤ë¤È¡¢¤³¤Î List ¤Ë¤Ï¤½¤ì¤¾¤ì¡¢¥Î¡¼¥Þ¥ë¥¿¥¤¥×¤Î¥¨¥Í¥ß¡¼¤Î¥Ç¡¼¥¿¡¢¥Ü¥¹¤Î¥¨¥Í¥ß¡¼¤Î¥Ç¡¼¥¿¤À¤±¤¬ÂåÆþ¤µ¤ì¤Þ¤¹¡£
¤½¤ì¤ò Debug ¤¹¤ë¤¿¤á¤Ë public ½¤¾þ»Ò¤Ë¤·¤Æ¤¤¤Þ¤¹¡£Àµ¾ï¤ËÂåÆþ¤µ¤ì¤ë¤³¤È¤¬³Îǧ¤Ç¤­¤¿¤é¡¢¸åÄø private ½¤¾þ»Ò¤ËÌᤷ¤Þ¤¹¡£


EnemyGenerator ¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¡¡¥¤¥ó¥¹¥Ú¥¯¥¿¡¼²èÁü



¡¡°Ê¾å¤ÇÀßÄê¤Ï´°Î»¤Ç¤¹¡£


£¶¡¥¥²¡¼¥à¤ò¼Â¹Ô¤·¤ÆÆ°ºî¤ò³Îǧ¤¹¤ë


¡¡¤¹¤Ù¤Æ¤Î¼ÂÁõ¤¬´°Î»¤·¤Þ¤·¤¿¤Î¤Ç¡¢¥²¡¼¥à¤ò¼Â¹Ô¤·¤Æ½çÈ֤˽èÍý¤ÎÆâÍƤò³Îǧ¤·¤Æ¤¤¤­¤Þ¤¹¡£

¡¡¤Þ¤º¤Ï¥²¡¼¥à¼Â¹Ô¤·¤¿¤é°ì»þÄä»ß¤·¤Æ¤¯¤À¤µ¤¤¡£
EnemyGenerator ¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤Î¥¤¥ó¥¹¥Ú¥¯¥¿¡¼¤ò³Îǧ¤·¡¢Size ¤¬ 0 ¤Ë¤Ê¤Ã¤Æ¤¤¤¿
¥Î¡¼¥Þ¥ë¥¿¥¤¥×ÍѤΥ¨¥Í¥ß¡¼¤Î List ¤È¡¢¥Ü¥¹¥¿¥¤¥×ÍѤΥ¨¥Í¥ß¡¼¤Î List ¤ÎÆâÍƤò³Îǧ¤·¤Þ¤¹¡£

¡¡EnemyDataSO ¥¹¥¯¥ê¥×¥¿¥Ö¥ë¡¦¥ª¥Ö¥¸¥§¥¯¥È¤Ï¸½ºß¡¢¥Î¡¼¥Þ¥ë¥¿¥¤¥×¤¬£²ÂΡ¢¥Ü¥¹¤¬£±ÂΤΥǡ¼¥¿¤¬ÅÐÏ¿¤µ¤ì¤Æ¤¤¤Þ¤¹¤Î¤Ç
¤³¤Î EnemyType ¤Ë´ð¤Å¤¤¤Æ¡¢¤½¤ì¤¾¤ì¤Î Size ¤¬ 2 ¤È 1 ¤Ë¤Ê¤Ã¤Æ¡¢Ãͤ¬ÂåÆþ¤µ¤ì¤Æ¤¤¤ì¤ÐÀ©¸æÀ®¸ù¤Ç¤¹¡£
EnemyData ¤ÎÃæ¿È¤â³Îǧ¤·¡¢¤Á¤ã¤ó¤È EnemyType ¤Ë¤è¤Ã¤Æʬ¤±¤é¤ì¤Æ¤¤¤ë¤«³Îǧ¤·¤Æ¤ª¤­¤Þ¤¹¡£

¡¡¥¹¥¯¥ê¥×¥¿¥Ö¥ë¡¦¥ª¥Ö¥¸¥§¥¯¥È¤ò¸µ¤Ë¡¢¤½¤ì¤¾¤ì¤Î EnemyType ÍѤΥ¨¥Í¥ß¡¼¤Î¥Ç¡¼¥¿ List ¤¬´°À®¤·¤Æ¤¤¤Þ¤¹¡£
¤â¤·¤â¥²¡¼¥à¤ò¼Â¹Ô¤·¤Æ¤â¡¢¤³¤ì¤é¤Î Size ¤¬ 0 ¤Î¤Þ¤Þ¤Î¾ì¹ç¡¢EnemyType ¤Ë¤è¤ëʬΥ¤¬½ÐÍè¤Æ¤¤¤Ê¤¤¤¿¤á¡¢EnemyGenerator ¤Î½èÍý¤ò¸«Ä¾¤·¤Æ¤¯¤À¤µ¤¤¡£

¡¡¥¹¥¯¥ê¥×¥¿¥Ö¥ë¡¦¥ª¥Ö¥¸¥§¥¯¥È¤ò¸µ¤Ë¤·¤ÆºîÀ®¤·¤¿³Æ¥¨¥Í¥ß¡¼¤Î List ¤«¤é¥¨¥Í¥ß¡¼¤Î¾ðÊó¤ò¼è¤ê½Ð¤¹½èÍý¤Ë¤Ê¤Ã¤Æ¤¤¤ë¤¿¤á¡¢
List ¤Î Size ¤¬ 0 ¤Î¤Þ¤Þ¤Ç¤¹¤È¡¢À¸À®¤µ¤ì¤¿¥¨¥Í¥ß¡¼¤Î¥¯¥í¡¼¥ó¤Î¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤ËÂФ·¤Æ EnemyData ¤òÅϤ¹¤³¤È¤¬½ÐÍè¤Þ¤»¤ó¡£


¡ãEnemyGenerator ¤Î³Æ List¡ä




¡¡List ¤¬ÌäÂê¤Ê¤¯ºîÀ®¤µ¤ì¤Æ¤¤¤¿¤é°ì»þÄä»ß¤ò²ò½ü¤·¤Æ¥²¡¼¥à¤ò¿Ê¤á¤Æ¤¯¤À¤µ¤¤¡£
»þ´Ö¤Î·Ð²á¤Ç¼«Æ°À¸À®¤µ¤ì¤ë¥¨¥Í¥ß¡¼¤ÏƱ¤¸ EnemySet ¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤Ç¤¹¤¬¡¢¤½¤ì¤¾¤ì¤Î EnemyData ¤Ë´ð¤Å¤¤¤¿¥¨¥Í¥ß¡¼¤È¤·¤Æ¿¶¤ëÉñ¤Ã¤Æ¤¤¤ì¤ÐÀ©¸æÀ®¸ù¤Ç¤¹¡£
²èÁü¤À¤±¤Ç¤Ï¤Ê¤¯¡¢Hp ¤ä ¹¶·âÎϤʤɤÎÃͤâ³Îǧ¤·¤Æ¤ß¤Æ¤¯¤À¤µ¤¤¡£


¡ã¥Ò¥¨¥é¥ë¥­¡¼²èÁü(¤¹¤Ù¤Æ EnemySet ¥×¥ì¥Õ¥¡¥Ö¤Î¥¯¥í¡¼¥ó)¡ä



¡ãEnemyController ¥¹¥¯¥ê¥×¥È¤Î EnemyData ¤ÎÃͤ¬¤½¤ì¤¾¤ì°Û¤Ê¤ê¡¢¤³¤Î¾ðÊó¤òÀßÄꤷ¤Æ°Û¤Ê¤ë¥¨¥Í¥ß¡¼¤È¤·¤Æ¿¶¤ëÉñ¤Ã¤Æ¤¤¤ë¡ä






¡ã¼ÂÁõÆ°²è­¡¡¡¥Î¡¼¥Þ¥ë¤Î¥¨¥Í¥ß¡¼¤¬¥é¥ó¥À¥à¤Ç¼«Æ°¤ÇÀ¸À®¤µ¤ì¤ë¡ä
Æ°²è¥Õ¥¡¥¤¥ë¤Ø¤Î¥ê¥ó¥¯


¡ã¼ÂÁõÆ°²è­¢¡¡¥Ü¥¹¤Î¥¨¥Í¥ß¡¼¤¬¼«Æ°¤ÇÀ¸À®¤µ¤ì¤ë¡ä
Æ°²è¥Õ¥¡¥¤¥ë¤Ø¤Î¥ê¥ó¥¯


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

¡¡¼¡¤Ï¡¡È¯Å¸£´¡¡¡Ý¥¨¥Í¥ß¡¼¤Î¥Ç¡¼¥¿¤ò³°Éô¤Î¥¹¥¯¥ê¥×¥È¤Ç»²¾È¤¹¤ë½èÍý¤Î¼ÂÁõ¡Ý¡¡¤Ç¤¹¡£

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


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

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

Menu



´ðÁÃ

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

private



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

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