ºÇ½ª¹¹¿·¡§ orika_ex_miyako 2023ǯ05·î08Æü(·î) 10:31:11ÍúÎò
¼ê½ç£±£¶¡¡¡¼¥í¥¸¥Ã¥¯¤Î³Ø½¬¡¤È¥¹¥¯¥ê¥×¥¿¥Ö¥ë¡¦¥ª¥Ö¥¸¥§¥¯¥È¤ÎºîÀ®¡¼
£²£¸¡¥ËɱҵòÅÀÍѤΥ²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤òºîÀ®¤·¡¢»ÅÍͤȱ¿ÍÑ¤Î¥í¥¸¥Ã¥¯¤ò¹Í¤¨¤Æ¼ÂÁõ¤¹¤ë £²£¹¡¥ËɱÒÍѤÎÌ£Êý¥¥ã¥é¤Î¥Ç¡¼¥¿¥Ù¡¼¥¹¤òºîÀ®¤·¡¢»ÅÍͤȱ¿ÍÑ¤Î¥í¥¸¥Ã¥¯¤ò¹Í¤¨¤Æ¼ÂÁõ¤¹¤ë
¡¡¿·¤·¤¤³Ø½¬ÆâÍƤϡ¢°Ê²¼¤ÎÄ̤ê¤Ç¤¹¡£
¡¡¡¦¥í¥¸¥Ã¥¯¤Î¹Í¤¨Êý ¡¡¡¦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 ¤Ë¤ÆºîÀ®¤·¤Æ¤«¤é¡¢
¥¹¥¯¥ê¥×¥¿¥Ö¥ë¡¦¥ª¥Ö¥¸¥§¥¯¥ÈÍѤΥ¹¥¯¥ê¥×¥È¤ò½çÈ֤˺îÀ®¤·¤Æ¤¤¤¤Þ¤¹¡£
¡¡º£²ó¤Ï¹¶·âÈϰϤˤĤ¤¤Æ¤Ï¡¢¿·¤·¤¯ 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 ¤«¤é½çÈ֤˺ÎÈÖ¤µ¤ì¤Æ¤¤¤Þ¤¹¡£
¡¡Ì£Êý¥¥ã¥é¤Î¥Ç¡¼¥¿¤ò¹Í¤¨¤ëºÝ¤Ë¤Ï¡¢£±¤Ä¤Î¥¥ã¥é¤´¤È¤Ë¡¢¤É¤Î¤è¤¦¤Ê¾ðÊó¤ò»ý¤Ã¤Æ¤¤¤ì¤Ð
¥²¡¼¥àÆâ¤Ç³èÍѤǤ¤ë¤Î¤«¤ò¹Í¤¨¤Æ¤½¤ì¤ò¥¹¥¯¥ê¥×¥È¤ÎÊÑ¿ô¤È¤·¤ÆÍî¤È¤·¹þ¤ó¤Ç¤¤¤¤Þ¤·¤ç¤¦¡£
¡¡¸½ºß CharaController ¥¯¥é¥¹¤Ë¤¢¤ë¾ðÊó¤ò¸µ¤Ë¡¢É¬ÍפʾðÊó¤ò½ñ¤½Ð¤·¤Æ¤ß¤Æ¤¯¤À¤µ¤¤¡£
¤½¤ì¤é¤Ï¤É¤Î¤è¤¦¤Ê·¿¤Ç¤¢¤ì¤Ð¥²¡¼¥àÆâ¤ÇÍøÍѤ¬¤·¤ä¤¹¤¤¤«¡¢°ì½ï¤Ë¹Í¤¨¤Æ¤ª¤¤Þ¤¹¡£
¡ãCharaData ¥¯¥é¥¹¤Î»²¹Í¥¤¥á¡¼¥¸¡ä
¡¡Ä̤·Èֹ桡 => ¤½¤ì¤¾¤ì¤Î·¿¤Ï¡© ¡¡Ì¾Á° ¡¡¹¶·âÎÏ ¡¡¹¶·â¤Þ¤Ç¤ÎÂÔµ¡»þ´Ö ¡¡¥³¥¹¥È ¡¡¹¶·âÈÏ°Ï ¡¡¹¶·â²ó¿ô ¡¡¾ÜºÙ¾ðÊó ¡¡ ¡¡¡Ê²Äǽ¤Ê¤é¡Ë ¡¡²èÁü¤ä¥¢¥Ë¥á¡¼¥·¥ç¥ó¥¯¥ê¥Ã¥×
CharaData.cs
¡¡¥¹¥¯¥ê¥×¥È¤òºîÀ®¤·¤¿¤é¥»¡¼¥Ö¤ò¹Ô¤¤¤Þ¤¹¡£
¡¡CharaData ¥¯¥é¥¹¤Î£±¹Ô¾å¤Ë¤Ï¾åµ¤ÎÀë¸À¤¬¤¢¤ê¤Þ¤¹¡£[ ]¤ÇÀë¸À¤µ¤ì¤¿ÀßÄêÃͤϡÖ°À¡×¤È¸Æ¤Ð¤ì¤ë¾ðÊó¤Ë¤Ê¤ê¡¢ÆÃÊ̤ʰÕÌ£¤ò»ý¤Á¤Þ¤¹¡£
¡¡º£²óÍøÍѤ·¤Æ¤¤¤ë[System.Serializable]°À¤Ï¡¢System¤Ë´Þ¤Þ¤ì¤Æ¤¤¤ëÀßÄêÃͤǤ¢¤ê¡¢¤³¤Á¤é¤òÀë¸À¤¹¤ë¤³¤È¤Ç¥¯¥é¥¹¤Î¾ðÊó¤ò¥¤¥ó¥¹¥Ú¥¯¥¿¡¼¤Ëɽ¼¨¤¹¤ë¤³¤È¤¬½ÐÍè¤Þ¤¹¡£
¤³¤ì¤ò½ñ¤Ëº¤ì¤Æ¤·¤Þ¤¦¤È¡¢¥¤¥ó¥¹¥Ú¥¯¥¿¡¼¤Ë CharaData ¤ÎÆâÍƤ¬É½¼¨¤µ¤ì¤º¡¢¥Ç¡¼¥¿¤ò¥¤¥ó¥¹¥Ú¥¯¥¿¡¼¤«¤éÅÐÏ¿¤¹¤ë¤³¤È¤¬½ÐÍè¤Þ¤»¤ó¡£
[Serializable]°À¤òÀë¸À¤¹¤ëºÝ¤Ë¡¢using System; ¤òÀë¸À¤·¤Æ¤¤¤ë¾ì¹ç¤Ë¤Ï [Serializable] ¤È¤À¤±µ½Ò¤¹¤ì¤ÐŬÍѤµ¤ì¤Þ¤¹¡£using ¤ËÀë¸À¤·¤Æ¤¤¤Ê¤¤¾ì¹ç¤Ë¤Ï [System.Serializable] ¤Èµ½Ò¤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£
¡¡¥¹¥¯¥ê¥×¥¿¥Ö¥ë¡¦¥ª¥Ö¥¸¥§¥¯¥È¤òºîÀ®¤¹¤ë¤¿¤á¤ËɬÍ×¤Ê CharaDataSO ¥¹¥¯¥ê¥×¥È¤òºîÀ®¤·¤Þ¤¹¡£
¥¹¥¯¥ê¥×¥¿¥Ö¥ë¡¦¥ª¥Ö¥¸¥§¥¯¥ÈÀìÍѤΠScriptableObject ¥¯¥é¥¹¤ò·Ñ¾µ¤·¡¢[CreateAssetMenu] °À¤òµ½Ò¤¹¤ë¤³¤È¤ÇºîÀ®²Äǽ¤Ë¤Ê¤ê¤Þ¤¹¡£
¡¡¤Ê¤ª¡¢CreateAssetMenu °À¤Ï¡¢¥¨¥Ç¥£¥¿¡¼¤Î³ÈÄ¥µ¡Ç½¤òÉÕÍ¿¤¹¤ë¤â¤Î¤Ç¡¢¥¹¥¯¥ê¥×¥¿¥Ö¥ë¡¦¥ª¥Ö¥¸¥§¥¯¥È¤Ë¸Â¤Ã¤¿¤â¤Î¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó¡£
¤³¤Î°À¤òÉÕÍ¿¤¹¤ë¤È¡¢±¦¥¯¥ê¥Ã¥¯¤ò¤·¤Æ¥á¥Ë¥å¡¼¤ò¤·¤¿ºÝ¤Ë¡¢¿·¤·¤¯¼«Ê¬¤Çºî¤Ã¤¿¥á¥Ë¥å¡¼¤òÄɲ乤뤳¤È¤¬¤Ç¤¤ëµ¡Ç½¤Ç¤¹¡£
º£²ó¤Ï¤³¤Îµ¡Ç½¤ò³èÍѤ·¤Æ¡¢¥¹¥¯¥ê¥×¥¿¥Ö¥ë¡¦¥ª¥Ö¥¸¥§¥¯¥È¤òºîÀ®¤¹¤ë³ÈÄ¥µ¡Ç½¤òÉÕÍ¿¤·¤Æ¤¤¤ë¤³¤È¤Ë¤Ê¤ê¤Þ¤¹¡£
¡¡
¡¡¥¹¥¯¥ê¥×¥¿¥Ö¥ë¡¦¥ª¥Ö¥¸¥§¥¯¥È¤Ç¤Ï¡¢»ØÄꤷ¤¿¥Ç¡¼¥¿¤òÊ£¿ô¤Î¥Ç¡¼¥¿¤È¤·¤Æ¤Þ¤È¤á¤Æ´ÉÍý¤¹¤ë¤³¤È¤¬½ÐÍè¤Þ¤¹¡£
¤½¤Î¤¿¤á¡¢¥Ç¡¼¥¿¥Ù¡¼¥¹¤È¤·¤Æ¤ÎÌò³ä¤ò²Ì¤¿¤¹¤³¤È¤¬²Äǽ¤Ë¤Ê¤Ã¤Æ¤¤¤Þ¤¹¡£
¡¡º£²ó»ØÄꤷ¤Æ´ÉÍý¤·¤¿¤¤¥Ç¡¼¥¿¤Ï¥¥ã¥é¤Î¥Ç¡¼¥¿·²¤Ç¤¹¡£
¤½¤Î¤¿¤á¡¢¥¹¥¯¥ê¥×¥¿¥Ö¥ë¡¦¥ª¥Ö¥¸¥§¥¯¥ÈÆâ¤ËɬÍפʾðÊó¤Ï°Ê²¼¤Î£²¤Ä¤Ç¤¹¡£
¡¡£±¡¥¥¥ã¥é£±ÂÎñ°Ì¤Ç¤Î¥Ç¡¼¥¿(¹¶·âÈÏ°Ï¡¢¹¶·âÎÏ¡¢²èÁü¤Ê¤É¤Î¥Ç¡¼¥¿·²)¤ò°·¤¦¥¯¥é¥¹ ¡¡£²¡¥¥¥ã¥é¤Î¥Ç¡¼¥¿¤ò¤Þ¤È¤á¤ë List(¥ê¥¹¥È)
¡¡£±¤Ë¤Ä¤¤¤Æ¤Ï¡¢¤¹¤Ç¤Ë CharaData ¥¯¥é¥¹¤òºîÀ®ºÑ¤Ç¤¹¤Î¤Ç¡¢¤³¤Î¾ðÊó¤ò³èÍѤ·¤Æ¡¢£²¤Î List ¤òºîÀ®¤¹¤ëÉôʬ¤¬¥¹¥¯¥ê¥×¥¿¥Ö¥ë¡¦¥ª¥Ö¥¸¥§¥¯¥È¤¬É¬Íפˤʤê¤Þ¤¹¡£
¡¡¤Þ¤º¤ÏºÇ½é¤Ë¥¹¥¯¥ê¥×¥È¤òµ½Ò¤·¤Æ¤«¤é¡¢ÆâÍƤò³Îǧ¤·¤Þ¤·¤ç¤¦¡£
CharaDataSO.cs
¡¡¥¹¥¯¥ê¥×¥È¤òºîÀ®¤·¤¿¤é¥»¡¼¥Ö¤·¤Þ¤¹¡£
¡¡½èÍý¤ÎÆâÍƤˤĤ¤¤Æ¡¢½çÈ֤˳Îǧ¤·¤Æ¤¤¤¤Þ¤¹¡£
¡¡£±¡¥¥¥ã¥é£±ÂÎñ°Ì¤Ç¤Î¥Ç¡¼¥¿(¹¶·âÈÏ°Ï¡¢¹¶·âÎÏ¡¢²èÁü¤Ê¤É¤Î¥Ç¡¼¥¿·²) ¡¡£²¡¥¥¥ã¥é¤Î¥Ç¡¼¥¿¤ò¤Þ¤È¤á¤ë 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 ¥¯¥é¥¹¤ËÄɵ¤·¤Æ¤¤¤¤Þ¤¹¤Î¤Ç¡¢¤½¤ì¤ò³Îǧ¤¹¤ë¤È¤ï¤«¤ê¤ä¤¹¤¤¤Ç¤·¤ç¤¦¡£
¡¡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 ¥¹¥¯¥ê¥×¥È¤ËÍÑ°Õ¤·¤Æ¤¢¤ë 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 ¥¹¥¯¥ê¥×¥¿¥Ö¥ë¡¦¥ª¥Ö¥¸¥§¥¯¥È¤«¤é¥Ç¡¼¥¿¤¬ÍøÍѤǤ¤ë¤«»î¤·¤Æ¤ß¤Þ¤·¤ç¤¦¡£
¡¡°Ê¾å¤Ç¤³¤Î¼ê½ç¤Ï½ªÎ»¤Ç¤¹¡£
¡¡¼¡¤Ï¡¡¼ê½ç£±£·¡¡¡Ý¥í¥¸¥Ã¥¯¤Î³Ø½¬¢¡Ý¡¡¤Ç¤¹¡£
- ¥«¥Æ¥´¥ê¡§
- ¿Ê³Ø/¥¹¥¯¡¼¥ë
- ¥×¥í¥°¥é¥ß¥ó¥°
¥³¥á¥ó¥È¤ò¤«¤¯