ºÇ½ª¹¹¿·¡§ orika_ex_miyako 2024ǯ04·î03Æü(¿å) 15:03:59ÍúÎò
¡¡Å¨¤ÎÀ¸À®¡¢¥¢¥¤¥Æ¥à¤ÎÀ¸À®¡¢¥Ü¥¿¥ó¤ÎÀ¸À®¡¢¥Õ¥í¡¼¥Èɽ¼¨¤ÎÀ¸À®¤Ê¤É¡¢¥ª¥Ö¥¸¥§¥¯¥È¥×¡¼¥ë¤Î³èÍѤǤ¤ëÈϰϤϹ¤¤¤¿¤á¡¢
¤½¤ì¤é¤ËÂФ·¤ÆÈÆÍÑŪ¤Ë¼ÂÁõ¤ò¹Ô¤¦¤¿¤á¤ÎÀ߷פˤʤäƤ¤¤Þ¤¹¡£
¡¡ÃƤÎÀ¸À®¤ÈÃƤËÂФ·¤Æ¤Î»öÁ°¤ÎÀßÄê¤Ê¤É¡¢ÃƤδðËÜŪ¤ÊÀ¸À®µ¡Ç½¤ò¤É¤Î¤è¤¦¤ËÀ߷פ¹¤ë¤«¤Ë¤Ä¤¤¤ÆÀâÌÀ¤·¤Þ¤¹¡£
¥ª¥Ö¥¸¥§¥¯¥È»Ø¸þ¤Î¸¶Â§¤òŬÍѤ·¤Æ¡¢¶¦Ä̤ﶤëÉñ¤¤¤òÃê¾Ý¥¯¥é¥¹¤ä¥¤¥ó¥¿¡¼¥Õ¥§¡¼¥¹¤È¤·¤Æ¼ÂÁõ¤·¡¢ºÆÍøÍÑÀ¤ò¹â¤á¤ë¥¢¥×¥í¡¼¥Á¤òõ¤ê¤Þ¤¹¡£
¡¡IGeneratable ¥¤¥ó¥¿¡¼¥Õ¥§¡¼¥¹¤Ï¡¢¥·¥å¡¼¥Æ¥£¥ó¥°¥²¡¼¥à¤ä¥¢¥¯¥·¥ç¥ó¥²¡¼¥à¤Ê¤É¤ÇÉÑÈˤ˻ÈÍѤµ¤ì¤ëÃƤÎÀ¸À®¤òÃê¾Ý²½¤¹¤ë¤¿¤á¤ËÀ߷פµ¤ì¤Æ¤¤¤Þ¤¹¡£
¤³¤Î¥¤¥ó¥¿¡¼¥Õ¥§¡¼¥¹¤Ï¡¢ÃƤòÀ¸À®¤¹¤ë¤¿¤á¤Î´ðËÜŪ¤ÊÁàºî¤òÄêµÁ¤·¤Æ¤ª¤ê¡¢¶ñÂÎŪ¤ÊÃƤμïÎà¤äµóÆ°¤Ë°Í¸¤»¤º¤Ë¶¦Ä̤Υ¤¥ó¥¿¡¼¥Õ¥§¡¼¥¹¤òÄ󶡤·¤Þ¤¹¡£
IGeneratable.cs
¡¡ÄêµÁ¤·¤Æ¤¤¤ë¥á¥½¥Ã¥É¤Ï GenerateBullet ¥á¥½¥Ã¥É¤Î¤ß¤Ç¤¹¡£
Ʊ̾¤Î¥á¥½¥Ã¥É¤ò£²¤Ä¡¢°ú¿ô¤Î¾ðÊó¤ò°Û¤Ê¤ë¾õÂ֤ˤ·¤ÆÄêµÁ¤·¤Æ¤¤¤Þ¤¹¡£
¡¡¥¤¥ó¥¿¡¼¥Õ¥§¡¼¥¹¤Î¥á¥½¥Ã¥É¤ÏÆÃÀ¾å¡¢¼«Æ°Åª¤Ë public °·¤¤¤Ë¤Ê¤ê¤Þ¤¹¡£
¡¡¶ñÂÎŪ¤Ë¤Ï¡¢IGeneratable ¥¤¥ó¥¿¡¼¥Õ¥§¡¼¥¹¤Ï°Ê²¼¤ÎÌò³ä¤ò²Ì¤¿¤·¤Þ¤¹¡§
¡¡IGeneratable ¥¤¥ó¥¿¡¼¥Õ¥§¡¼¥¹¤Ï¡¢GenerateBullet¥á¥½¥Ã¥É¤òÄêµÁ¤·¤Æ¤¤¤Þ¤¹¡£
¤³¤Î¥á¥½¥Ã¥É¤ÏÃƤòÀ¸À®¤¹¤ë¤¿¤á¤Î´ðËÜŪ¤Ê¼ê³¤¤òɽ¤·¤Æ¤ª¤ê¡¢À¸À®¤ËɬÍפÊȯ¼ÍÊý¸þ¤ò¥Ñ¥é¥á¡¼¥¿¤È¤·¤Æ¼õ¤±¼è¤ê¤Þ¤¹¡£
¡¡¤Þ¤¿°ú¿ô¤Î¥ª¡¼¥Ð¡¼¥í¡¼¥É¤Ë¤è¤ê¡¢Æ±Ì¾¤Î¥á¥½¥Ã¥É¤Ë¤ÏÄɲäΰú¿ô¤ò¼õ¤±¼è¤ëÊýË¡¤âÍÑ°Õ¤·¤Æ¤¤¤Þ¤¹¡£
¡¡IGeneratable¥¤¥ó¥¿¡¼¥Õ¥§¡¼¥¹¤ò¼ÂÁõ¤¹¤ë¤µ¤Þ¤¶¤Þ¤Ê¥¯¥é¥¹¤Ï¡¢°Û¤Ê¤ë¼ïÎà¤ÎÃƤòÀ¸À®¤¹¤ëµ¡Ç½¤òÄ󶡤¹¤ë¤³¤È¤¬¤Ç¤¤Þ¤¹¡£
¤³¤ì¤Ë¤è¤ê¡¢¥²¡¼¥àÆâ¤Î°Û¤Ê¤ëÍ×Áǡʥץ쥤¥ä¡¼¥¥ã¥é¥¯¥¿¡¼¡¢Å¨¥¥ã¥é¥¯¥¿¡¼¡¢Ë¤Âæ¤Ê¤É¡Ë¤¬¶¦Ä̤ÎÃÆÀ¸À®µ¡Ç½¤ò¼Â¹Ô¤Ç¤¤ë¤è¤¦¤Ë¤Ê¤ê¤Þ¤¹¡£
¡¡IGeneratable¥¤¥ó¥¿¡¼¥Õ¥§¡¼¥¹¤ò²ð¤·¤ÆÃÆÀ¸À®¤Îµ¡Ç½¤òÄêµÁ¤¹¤ë¤³¤È¤Ç¡¢¥¯¥é¥¹´Ö¤ÎÁ·ë¹çÀ¤¬¸þ¾å¤·¤Þ¤¹¡£
¥¯¥é¥¹¤¬¥¤¥ó¥¿¡¼¥Õ¥§¡¼¥¹¤ò¼ÂÁõ¤¹¤ë¤À¤±¤Ç¡¢Â¾¤Î¥¯¥é¥¹¤È¤ÎÏ¢·È¤¬Íưפˤʤê¤Þ¤¹¡£
¡¡¥²¡¼¥àÆâ¤Ë¿·¤·¤¤¼ïÎà¤ÎÃƤòÄɲ乤ëºÝ¤Ë¡¢IGeneratable¥¤¥ó¥¿¡¼¥Õ¥§¡¼¥¹¤ò¼ÂÁõ¤¹¤ë¤À¤±¤Ç¿·¤·¤¤ÃƤÎÀ¸À®µ¡Ç½¤òÄɲäǤ¤Þ¤¹¡£
¤³¤ì¤Ë¤è¤ê¡¢¿·¤·¤¤Í×ÁǤò´Êñ¤ËÅý¹ç¤·¡¢ÊݼéÀ¤Î¹â¤¤¥³¡¼¥É¤ò¼Â¸½¤Ç¤¤Þ¤¹¡£
¡¡Áí¹ç¤¹¤ë¤È¡¢IGeneratable¥¤¥ó¥¿¡¼¥Õ¥§¡¼¥¹¤Ï¡¢¥²¡¼¥àÆâ¤ÇÃƤòÀ¸À®¤¹¤ëµ¡Ç½¤ò¶¦Ä̲½¤·¡¢½ÀÆðÀ¤ÈÊݼéÀ¤ò¸þ¾å¤µ¤»¤ë¤¿¤á¤Î´ðÈפòÄ󶡤¹¤ëÌò³ä¤ò²Ì¤¿¤·¤Æ¤¤¤Þ¤¹¡£
¡¡Ãê¾Ý¥¯¥é¥¹¤È¤·¤Æ GeneratorBase ¥¯¥é¥¹¤òºîÀ®¤·¡¢IGeneratable ¥¤¥ó¥¿¡¼¥Õ¥§¡¼¥¹¤ò¼ÂÁõ¤·¤Þ¤¹¡£
¡¡¼ÂÁõ¤Ë¤¢¤¿¤ê¡¢GenerateBullet ¥á¥½¥Ã¥É¤òÃê¾Ý¥á¥½¥Ã¥É¤È¤·¤ÆÄêµÁ¤·¤Þ¤¹¡£
Ãê¾Ý¥á¥½¥Ã¥É¤â¡¢¤¢¤¯¤Þ¤Ç¤â¥á¥½¥Ã¥É¤òÄêµÁ¤¹¤ë¤Î¤ß¤Ç¡¢¿¶¤ëÉñ¤¤¤Ë¤Ä¤¤¤Æ¤Ï¥µ¥Ö¥¯¥é¥¹¤Ë°Ñ¤Í¤Æ¤¤¤Þ¤¹¡£
¡¡Ä̾ï¤Î¥á¥½¥Ã¥É¤Ç¥¤¥ó¥¿¡¼¥Õ¥§¡¼¥¹¤Î¥á¥½¥Ã¥É¤ò¼ÂÁõ¤·¤Æ¤·¤Þ¤¦¤È¡¢¤³¤Î¥¯¥é¥¹Æâ¤Ç¤ÎÄêµÁ¤È¤Ê¤ê¡¢¥µ¥Ö¥¯¥é¥¹¤Ç¤Î¾å½ñ¤¤¬Ç¤°Õ¤Ë¤Ê¤Ã¤Æ¤·¤Þ¤¤¤Þ¤¹¤¬¡¢
Ãê¾Ý¥á¥½¥Ã¥É¤È¤·¤ÆÄêµÁ¤·¤Æ¤ª¤¯¤³¤È¤Ç¡¢¤³¤Î¥¯¥é¥¹¤Ç¤ÏÆâÉô¤Î¼ÂÁõ¤ò¤»¤º¡¢¥µ¥Ö¥¯¥é¥¹¤Ç¤Î¼ÂÁõ¤ò¶¯À©¤¹¤ë¤³¤È¤¬¤Ç¤¤Þ¤¹¡£
GeneratorBase.cs
¡¡¥¤¥ó¥¿¡¼¥Õ¥§¡¼¥¹¤Î¥á¥½¥Ã¥É¤òÄêµÁ¤¹¤ë½çÈ֤˻ØÄê¤Ï¤¢¤ê¤Þ¤»¤ó¡£
Î㤨¤Ð¡¢GenerateBullet ¥á¥½¥Ã¥É¤ÎÄêµÁ¤ò¤·¤Æ¤«¤é SetUp ¥á¥½¥Ã¥É¤ÎÄêµÁ¤ò¹Ô¤¦¤³¤È¤â¤Ç¤¤Þ¤¹¡£
¡¡GeneratorBase ¥¯¥é¥¹¤Ï¡¢¥¢¥¯¥·¥ç¥ó¥²¡¼¥à¤Ë¤ª¤±¤ëÃƤÎÀ¸À®µ¡Ç½¤Î´ðÈפȤʤë¿Æ¥¯¥é¥¹¤Ç¤¹¡£
¡¡°Ê²¼¤Ï¤½¤ÎÀ߷פȼÂÁõ¤Ë¤Ä¤¤¤Æ¤ÎÀâÌÀ¤Ç¤¹¡£
¡¡GeneratorBase ¥¯¥é¥¹¤ÏÃê¾Ý¥¯¥é¥¹¤È¤·¤Æ¼ÂÁõ¤µ¤ì¤Þ¤¹¡£
Ãê¾Ý¥¯¥é¥¹¤Ï¡¢°ìÉô¤Î¥á¥½¥Ã¥É¤¬Ì¤¼ÂÁõ¡ÊÃê¾Ý¥á¥½¥Ã¥É¡Ë¤Ç¤¢¤ê¡¢¶ñÂÎŪ¤Ê¿¶¤ëÉñ¤¤¤Ï¥µ¥Ö¥¯¥é¥¹(»Ò¥¯¥é¥¹)¤ÇÄ󶡤µ¤ì¤ë¤³¤È¤ò°ÕÌ£¤·¤Þ¤¹¡£
¡¡ÃƤòÀ¸À®¤¹¤ë¡¢¤È¤¤¤¦¼Â¹Ô½èÍý¼«ÂΤ϶¦Ä̤·¤Æ¤¤¤Þ¤¹¤¬¡¢ÆâÉôŪ¤ÊÃƤÎÀ¸À®½èÍý¤Ë¤Ä¤¤¤Æ¤Ï¡¢¸Ä¡¹¤Î¥µ¥Ö¥¯¥é¥¹¤ËǤ¤»¤ë·Á¤Ç¤¹¡£
¡¡¤³¤ÎÀ߷פˤè¤ê¡¢¶¦Ä̤ﶤëÉñ¤¤¤òÃê¾Ý¥¯¥é¥¹¤ÇÄêµÁ¤·¡¢¸ÄÊ̤ﶤëÉñ¤¤¤ò¥µ¥Ö¥¯¥é¥¹¤Ç¥«¥¹¥¿¥Þ¥¤¥º¤¹¤ë¤³¤È¤¬¤Ç¤¤Þ¤¹¡£
¡¡IGeneratable¥¤¥ó¥¿¡¼¥Õ¥§¡¼¥¹¤ÏÃƤòÀ¸À®¤¹¤ëµ¡Ç½¤òµ¬Äꤹ¤ë¤â¤Î¤Ç¤¹¡£
GeneratorBase ¥¯¥é¥¹¤Ï¤³¤Î¥¤¥ó¥¿¡¼¥Õ¥§¡¼¥¹¤ò¼ÂÁõ¤·¤Þ¤¹¡£
¤³¤ì¤Ë¤è¤ê¡¢ÃƤòÀ¸À®¤¹¤ëµ¡Ç½¤ò¶¦Ä̤Υ¤¥ó¥¿¡¼¥Õ¥§¡¼¥¹¤ÇÄ󶡤·¡¢°Û¤Ê¤ë¼ïÎà¤ÎÃƤËÂФ·¤Æ¤âÅý°ìŪ¤ÊÁàºî¤¬²Äǽ¤È¤Ê¤ê¤Þ¤¹¡£
¡¡GeneratorBase ¥¯¥é¥¹¤Ë¤Ï¡¢IGeneratable¥¤¥ó¥¿¡¼¥Õ¥§¡¼¥¹¤Î°ìÉô¤È¤·¤ÆGenerateBullet¥á¥½¥Ã¥É¤¬¤¢¤ê¤Þ¤¹¡£
¤³¤Î¥á¥½¥Ã¥É¤ÏÃê¾Ý¥á¥½¥Ã¥É¤È¤·¤ÆÄêµÁ¤µ¤ì¤Þ¤¹¡£
Ãê¾Ý¥á¥½¥Ã¥É¤Ï¥á¥½¥Ã¥É¤Î¼ÂÁõ¤ò»ý¤¿¤º¡¢¥µ¥Ö¥¯¥é¥¹¤Ë¤ª¤¤¤Æɬ¤º¥ª¡¼¥Ð¡¼¥é¥¤¥É¤µ¤ì¤ë¤³¤È¤ò¶¯À©¤·¤Þ¤¹¡£
¡¡¤³¤ì¤Ë¤è¤ê¡¢¥µ¥Ö¥¯¥é¥¹¤Ç¤ÎÃƤÎÀ¸À®µ¡Ç½¤Î¥«¥¹¥¿¥Þ¥¤¥º¤òÊݾڤ·¡¢¼ÂÁõ˺¤ì¤òËɤ°¤³¤È¤¬½ÐÍè¤Þ¤¹¡£
¡¡¥¤¥ó¥¿¡¼¥Õ¥§¡¼¥¹¼«ÂΤϼºݤˤϥ·¥ê¥¢¥é¥¤¥º¤Ç¤¤Þ¤»¤ó¤¬¡¢¥¤¥ó¥¿¡¼¥Õ¥§¡¼¥¹¤ò¼ÂÁõ¤¹¤ë¥¯¥é¥¹¤Ï¥·¥ê¥¢¥é¥¤¥º²Äǽ¤Ç¤¹¡£
¤·¤¿¤¬¤Ã¤Æ¡¢¥·¥ê¥¢¥é¥¤¥º¤¬É¬Íפʾì¹ç¡¢¥¤¥ó¥¿¡¼¥Õ¥§¡¼¥¹¤ò¼ÂÁõ¤·¤¿¥¯¥é¥¹¤ò¥·¥ê¥¢¥é¥¤¥º¤¹¤ë¤³¤È¤Çɽ¸½¤Ç¤¤Þ¤¹¡£
¡¡Unity ¤Î¾ì¹ç¡¢MonoBehaviour ¥¯¥é¥¹¤ò·Ñ¾µ¤·¤Æ¤¤¤ë¥¯¥é¥¹¤ä¡¢System.Serializable °À¤òÉÕÍ¿¤·¤¿¥¯¥é¥¹¤Ï¥·¥ê¥¢¥é¥¤¥º¤¬²Äǽ¤È¤Ê¤ê¡¢
¤½¤ì¤é¤Î¥¯¥é¥¹¤Ï¥¤¥ó¥¹¥Ú¥¯¥¿¡¼¤Ëɽ¼¨¤¹¤ë²¸·Ã¤ò¼õ¤±¤ë¤³¤È¤¬½ÐÍè¤Þ¤¹¡£
¡¡¥¤¥ó¥¿¡¼¥Õ¥§¡¼¥¹Ã±ÆȤξì¹ç¤Ë¤Ï¡¢¤³¤Î¥·¥ê¥¢¥é¥¤¥º¤ËÂбþ¤¬¤Ç¤¤Ê¤¤¤¿¤á¡¢Î㤨¤Ð¡¢¥¤¥ó¥¹¥Ú¥¯¥¿¡¼¤Ç¤Î³Îǧ¤ä¡¢¥¢¥µ¥¤¥ó¤Ê¤É¤¬¹Ô¤¨¤Þ¤»¤ó¡£
¡¡º£²ó¡¢GeneratorBase ¥¯¥é¥¹¤Ë¥¤¥ó¥¿¡¼¥Õ¥§¡¼¥¹¤ò¼ÂÁõ¤¹¤ë¤³¤È¤Ë¤è¤ê¡¢¤³¤Î¥¯¥é¥¹¤ò¿Æ¥¯¥é¥¹¤È¤·¤¿»Ò¥¯¥é¥¹¤Î¾ðÊó¤Ï¥¤¥ó¥¹¥Ú¥¯¥¿¡¼¤Ëɽ¼¨¤µ¤ì¤ë¤è¤¦¤Ë¤Ê¤ê¤Þ¤¹¡£
¡¡»Ò¥¯¥é¥¹¤ËľÀÜ¥¤¥ó¥¿¡¼¥Õ¥§¡¼¥¹¤ò¼ÂÁõ¤»¤º¤Ë¡¢¿Æ¥¯¥é¥¹¤Ë¥¤¥ó¥¿¡¼¥Õ¥§¡¼¥¹¤ò¼ÂÁõ¤·¤Æ¤¤¤ë¤³¤È¤Ç¡¢¤³¤Î¥¤¥ó¥¿¡¼¥Õ¥§¡¼¥¹¤Î¥·¥ê¥¢¥é¥¤¥º¤Ë´Ø¤¹¤ëÌäÂê¤â²óÈò¤·¤Æ¤¤¤Þ¤¹¡£
¡¡
¡¡GeneratorBase ¤òÃê¾Ý¥¯¥é¥¹¤È¤·¤ÆÀ߷פ·¡¢IGeneratable¥¤¥ó¥¿¡¼¥Õ¥§¡¼¥¹¤ò¼ÂÁõ¤¹¤ë¤³¤È¤¬¤Ç¤¤Þ¤¹¡£
¤³¤ì¤Ë¤è¤ê¡¢GeneratorBase ¤Î¥µ¥Ö¥¯¥é¥¹¤ÏIGeneratable¥¤¥ó¥¿¡¼¥Õ¥§¡¼¥¹¤Î¼ÂÁõ¤ò¶¯À©¤µ¤ì¤ë¤À¤±¤Ç¤Ê¤¯¡¢¥·¥ê¥¢¥é¥¤¥º¤Ë´Ø¤¹¤ëÌäÂê¤â²óÈò¤Ç¤¤Þ¤¹¡£
³Æ¥µ¥Ö¥¯¥é¥¹¤ÏIGeneratable¤ò¼ÂÁõ¤¹¤ëɬÍפ¬¤¢¤ë¤¿¤á¡¢ºÆÍøÍÑÀ¤äÊݼéÀ¤¬¹â¤Þ¤ê¤Þ¤¹¡£
¡¡¤³¤ÎÀ߷פˤè¤ê¡¢GeneratorBase ¥¯¥é¥¹¤ò·Ñ¾µ¤¹¤ë¶ñÂÎŪ¤ÊÃƤΥ¯¥é¥¹¤Ï¡¢É¬¤ºGenerateBullet¥á¥½¥Ã¥É¤ò¼ÂÁõ¤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£
¤³¤ì¤Ë¤è¤Ã¤Æ¡¢ÃƤÎÀ¸À®¤Îή¤ì¤òÅý°ìŪ¤Ë´ÉÍý¤·¤Ä¤Ä¡¢¸ÄÊ̤ÎÃÆÀ¸À®¥¯¥é¥¹¤´¤È¤Ë°Û¤Ê¤ëÀ¸À®¤òÄ󶡤¹¤ë¤³¤È¤¬¤Ç¤¤Þ¤¹¡£
¡¡¶ñÂÎŪ¤Ê¥µ¥Ö¥¯¥é¥¹¤ÎºîÀ®¤ËÆþ¤ëÁ°¤Ë¡¢¥µ¥ó¥×¥ë¥¯¥é¥¹¤òºîÀ®¤·¤Æ¡¢¥¤¥ó¥¹¥Ú¥¯¥¿¡¼¤Ç¤Î¥·¥ê¥¢¥é¥¤¥º¤Ë¤Ä¤¤¤Æ³Îǧ¤·¤Æ¤ª¤¤Þ¤·¤ç¤¦¡£
¡¡¥¯¥é¥¹Æâ¤Ë IGeneratable ¥¤¥ó¥¿¡¼¥Õ¥§¡¼¥¹¤Î List ¤È GeneratorBase ¥¯¥é¥¹¤Î List ¤ò¤½¤ì¤¾¤ìºîÀ®¤·¡¢SerializeField°À¤òÉÕÍ¿¤·¤Þ¤¹¡£
¤³¤Î¥µ¥ó¥×¥ë¥¯¥é¥¹¤òǤ°Õ¤Î¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤Ë¥¢¥¿¥Ã¥Á¤·¤Æ¤ß¤Æ¤¯¤À¤µ¤¤¡£¤½¤ì¤¾¤ì¤ÎµóÆ°¤¬°Û¤Ê¤ë¤³¤È¤¬Ê¬¤«¤ê¤Þ¤¹¡£
TestInspector.cs
¡¡¤³¤Á¤é¤Ï¥¯¥é¥¹¤Ç¤¢¤ë¤¿¤á¡¢¥¤¥ó¥¹¥Ú¥¯¥¿¡¼¤Ëɽ¼¨¤µ¤ì¤Þ¤¹¡£
¡¡º£²ó¤Î¤è¤¦¤Ë MonoBehaviour ¥¯¥é¥¹¤ò·Ñ¾µ¤·¤Æ¤¤¤Ê¤¤¾ì¹ç¤Ë¤Ï¼«Æ°Åª¤Ë¥·¥ê¥¢¥é¥¤¥º¤µ¤ì¤Þ¤¹¤¬¡¢
MonoBehaviour ¥¯¥é¥¹¤ò·Ñ¾µ¤·¤Æ¤¤¤Ê¤¤¾ì¹ç¤Ë¤Ï¼«Æ°Åª¤Ë¤Ï¥·¥ê¥¢¥é¥¤¥º¤µ¤ì¤Ê¤¤¤¿¤á¡¢¥¤¥ó¥¿¡¼¥Õ¥§¡¼¥¹¤ÈƱ¤¸¤è¤¦¤Ë¥¤¥ó¥¹¥Ú¥¯¥¿¡¼¤Ëɽ¼¨¤µ¤ì¤Þ¤»¤ó¡£
¤½¤Î¾ì¹ç¡¢¥¯¥é¥¹¤Ë System.Serializable °À¤òÉÕÍ¿¤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£
¡¡°Ê¾å¤Ç´°À®¤Ç¤¹¡£
¡¡Ê£¿ô²ó¤Î¼ê½ç¤Ëʬ¤±¤Æ³Ø½¬¤ò¹Ô¤¤¤Þ¤¹¡£
¡¡Unity ¤ÎÍÑ°Õ¤·¤Æ¤¤¤ë¥¹¥¯¥ê¥×¥¿¥Ö¥ë¡¦¥ª¥Ö¥¸¥§¥¯¥È¤È¥ª¥Ö¥¸¥§¥¯¥È¥×¡¼¥ë¤Îµ¡Ç½¤òÍøÍѤ·¡¢
Ê£¿ô¼ïÎà¤Î¥¨¥Õ¥§¥¯¥È¤ò¥¹¥¯¥ê¥×¥¿¥Ö¥ë¡¦¥ª¥Ö¥¸¥§¥¯¥È¤È¥ª¥Ö¥¸¥§¥¯¥È¥×¡¼¥ë¤ò³èÍѤ·¤Æ¸úΨŪ¤Ë´ÉÍý¤¹¤ë¼êË¡¤ò¼ÂÁõ¤·¤Æ¤¤¤¤Þ¤¹¡£
¡¡¿·¤·¤¤³Ø½¬ÆâÍƤϡ¢°Ê²¼¤ÎÄ̤ê¤Ç¤¹¡£
¡¡¡¦Ãê¾Ý²½¡Ê¥¤¥ó¥¿¡¼¥Õ¥§¡¼¥¹¡¢Ãê¾Ý¥¯¥é¥¹¡¢¥¯¥é¥¹¤Î·Ñ¾µ¡Ë
¡¡¤Ê¤ª¡¢½èÍýÆâ¤Ç¤ÏÈóƱ´ü½èÍý¤È¤·¤Æ UniTask ¤òºÎÍѤ·¤Æ¤¤¤Þ¤¹¡£
¡¡¤Þ¤º¤Ï¥²¡¼¥àÆâ¤Î¤É¤Î¾ìÌ̤ǥ¨¥Õ¥§¥¯¥È¤òºÆÀ¸¤¹¤ë¤«¤òÁÛÄꤷ¡¢¤É¤Î°Ì¤Î¼ïÎà¤Î¥¨¥Õ¥§¥¯¥È¤¬É¬Íפˤʤ뤳¤È¤òÇÄ°®¤·¤Þ¤¹¡£
Î㤨¤Ð¡¢°Ê²¼¤Î¤è¤¦¤Ê¼ïÎà¤Ç¤¹¡£º¸Â¦¤¬ÁÛÄꤹ¤ë¥Õ¥¡¥¤¥ë̾¡¢±¦Â¦¤¬¥¨¥Õ¥§¥¯¥È¤òºÆÀ¸¤¹¤ë¾ìÌ̤Ǥ¹¡£
¡ã¥¨¥Õ¥§¥¯¥È¡¦¥ê¥¹¥È¡ä
¡¡£±¡¥Hit -- ¹¶·âÌ¿Ãæ»þ ¡¡£²¡¥Damage ¡¡-- Ũ¤«¤é¤Î¹¶·â¤ÎÈïÃÆ»þ ¡¡£³¡¥ItemGet¡¡ -- ¥¢¥¤¥Æ¥à¼èÆÀ»þ ¡¡£´¡¥LevelUp¡¡ --¡¡¥ì¥Ù¥ë¥¢¥Ã¥×»þ
¡¡¤³¤Î¤è¤¦¤Ë¥ê¥¹¥È²½¤·¤Æ½ñ¤½Ð¤·¤Æ¤ª¤¯¤È´ÉÍý¤·¤ä¤¹¤¯¤Ê¤ê¤Þ¤¹¡£
¡¡º£¸å¡¢¥¨¥Õ¥§¥¯¥È¤òÍøÍѤ¹¤ë¾ìÌ̤¬Áý¤¨¤¿¤ê¡¢Êѹ¹¤·¤¿¤¤¡¢¤È¤¤¤Ã¤¿¾ì¹ç¤Ë¤Ï¡¢¾åµ¤ËÄɲäò¤·¤Æ¸¡Æ¤¤·¤Æ¤¯¤À¤µ¤¤¡£
£²¡¥¥¢¥»¥Ã¥È¥¹¥È¥¢¤è¤ê¡¢¥¨¥Õ¥§¥¯¥È¤òºÆÀ¸¤¹¤ë¾ìÌ̤ò¥¤¥á¡¼¥¸¤·¤Æ¡¢Ç¤°Õ¤Î¥¢¥»¥Ã¥È¤òõ¤·¤Æ Unity ¤Ë¥¤¥ó¥Ý¡¼¥È¤¹¤ë
¡¡¥¨¥Õ¥§¥¯¥È¤Ë¤Ï¥Ñ¡¼¥Æ¥£¥¯¥ë¥·¥¹¥Æ¥à¡¢¤¢¤ë¤¤¤Ï Animator ¤òÍøÍѤ·¤ÆºîÀ®¤µ¤ì¤¿¥¢¥»¥Ã¥È¤òÍøÍѤ·¤Þ¤¹¡£
¥¢¥»¥Ã¥È¥¹¥È¥¢¤è¤êǤ°Õ¤Î¥¢¥»¥Ã¥È Unity ¥¤¥ó¥Ý¡¼¥È¤·¤Æ¡¢¥²¡¼¥àÆâ¤Ç¥¨¥Õ¥§¥¯¥È¤òºÆÀ¸¤¹¤ë¤¿¤á¤Î½àÈ÷¤ò¤·¤Þ¤¹¡£
¡¡Æ¬¤ÎÃæ¤Ç¾ìÌ̤ò»×¤¤É⤫¤Ù¤Ê¤¬¤é¡¢¤É¤ó¤Ê¥¨¥Õ¥§¥¯¥È¤¬¤è¤¤¤«¡¢³Îǧ¤·¤Ê¤¬¤é·è¤á¤Æ¤¤¤¤Þ¤·¤ç¤¦¡£
Àè¤Û¤ÉÄ󼨤·¤¿¾ìÌ̤˹ç¤ï¤»¤Æ¡¢¹ç·×¤Ç£³¼ïÎà¤Î¥¨¥Õ¥§¥¯¥ÈÍѤΥ²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤òÍÑ°Õ¤ò¤·¤Æ¤¯¤À¤µ¤¤¡£
¥Ñ¡¼¥Æ¥£¥¯¥ë¤Ç¤â Animator ¤Ç¤â¤É¤Á¤é¤Ç¤âÌäÂꤢ¤ê¤Þ¤»¤ó¡£
¡¡¤Þ¤¿Ê¬³ä²Äǽ¤Ê²èÁü¤òÍøÍѤ¹¤ì¤Ð¥Ñ¡¼¥Æ¥£¥¯¥ë¤Î Texture Sheet Animation ¤ä¡¢Animator ÍѤΠAnimationClip ¤òºîÀ®²Äǽ¤Ç¤¹¡£
Unity¸ø¼°¥Þ¥Ë¥å¥¢¥ë
¥Ñ¡¼¥Æ¥£¥¯¥ë¥·¥¹¥Æ¥à
https://docs.unity3d.com/ja/current/Manual/class-P...
Unity¸ø¼°¥Þ¥Ë¥å¥¢¥ë
Texture Sheet Animation ¥â¥¸¥å¡¼¥ë
https://docs.unity3d.com/ja/current/Manual/PartSys...
¡¡½ÐÍè¤ì¤ÐÊ£¿ô¤Î¥¢¥»¥Ã¥È¤ò¥¤¥ó¥Ý¡¼¥È¤·¤Æ¡¢Unity Æâ¤ÇºÆÀ¸¤·¤Æ¤ß¤ë¤È¤è¤¤¤Ç¤·¤ç¤¦¡£
¡¡¥¨¥Õ¥§¥¯¥È¤Î¥×¥ì¥Ï¥Ö¤Î´ÉÍý¤Ë¤Ï¡¢¥¹¥¯¥ê¥×¥¿¥Ö¥ë¡¦¥ª¥Ö¥¸¥§¥¯¥È¤Îµ¡Ç½¤È¡¢¥ª¥Ö¥¸¥§¥¯¥È¥×¡¼¥ë¤Îµ¡Ç½¤òÍøÍѤ·¤Þ¤¹¡£
¡¡Ê£¿ô¤Î¼ïÎà¤Î¥¨¥Õ¥§¥¯¥È¤Î¥×¥ì¥Ï¥Ö¤ò¥¹¥¯¥ê¥×¥¿¥Ö¥ë¡¦¥ª¥Ö¥¸¥§¥¯¥È¤òÍøÍѤ¹¤ë¤³¤È¤Ç¥Ç¡¼¥¿¥Ù¡¼¥¹¤È¤·¤Æ´ÉÍý¤·¡¢É¬ÍפʾðÊó¤Ë¥¢¥¯¥»¥¹¤Ç¤¤ë¤è¤¦¤Ë¤·¤Þ¤¹¡£
¡¡À¸À®¤µ¤ì¤¿¥¨¥Õ¥§¥¯¥È¤Î¥×¥ì¥Ï¥Ö¤Ï¥ª¥Ö¥¸¥§¥¯¥È¥×¡¼¥ë¤Îµ¡Ç½¤ò»ý¤¿¤»¡¢·«¤êÊÖ¤·ºÆÍøÍѤǤ¤ë¤è¤¦¤Ë¤·¤Þ¤¹¡£
¡¡¤½¤Î¤¿¤á¤Ë¡¢¤Þ¤º¤Ï¥ª¥Ö¥¸¥§¥¯¥È¥×¡¼¥ë¤Îµ¡Ç½¤ò¼ÂÁõ¤¹¤ë¤¿¤á¤Î¡¢¥¨¥Õ¥§¥¯¥È¤Î¥×¥ì¥Ï¥ÖÍѤΥ¯¥é¥¹¤òºîÀ®¤·¤Þ¤¹¡£
¡¡£±¡¥IPoolable ¥¤¥ó¥¿¡¼¥Õ¥§¡¼¥¹ ¡¡£²¡¥PoolBase Ãê¾Ý¥¯¥é¥¹ ¡¡£³¡¥EffectPlayerBase ¥¯¥é¥¹ ¡¡£´¡¥EffectPlayerBase ¥¯¥é¥¹¤ò·Ñ¾µ¤·¤¿¥µ¥Ö¥¯¥é¥¹
¡¡£±¤Ï¥¤¥ó¥¿¡¼¥Õ¥§¡¼¥¹¡¢£²¤ÏÃê¾Ý¥¯¥é¥¹¤Ç¤¹¤Î¤Ç¡¢¤³¤ì¤é¤Ï¥¨¥Õ¥§¥¯¥È¤Î¥×¥ì¥Ï¥Ö¤Ë¤Ï¥¢¥¿¥Ã¥Á¤Ç¤¤Þ¤»¤ó¡£
¤½¤Î¤¿¤á¡¢£³¤òºîÀ®¤·¡¢¤³¤ì¤ò¥¨¥Õ¥§¥¯¥È¤Î¥×¥ì¥Ï¥Ö¤Ë¥¢¥¿¥Ã¥Á¤·¤Þ¤¹¡£
¡¡
¡¡¤Þ¤¿³Æ¥¨¥Õ¥§¥¯¥È¤Î¥×¥ì¥Ï¥Ö¤´¤È¤Ë½èÍý¤Î¤Õ¤ë¤Þ¤¤¤òÊѤ¨¤¿¤¤¾ì¹ç¤Ë¤Ï¡¢£´¤ò¤½¤ì¤¾¤ì¤Î¥¨¥Õ¥§¥¯¥È¤Î¥×¥ì¥Ï¥Ö¤´¤È¤ËºîÀ®¤·¡¢
£³¤ÎÂå¤ï¤ê¤Ë£´¤Î¤ß¤ò¥¢¥¿¥Ã¥Á¤·¤ÆÍøÍѤ·¤Þ¤¹¡£
¡¡Ãê¾Ý¥¯¥é¥¹¤Ç¤¢¤ë PoolBase ¤ò·Ñ¾µ¤·¤Æ¡¢¥¨¥Õ¥§¥¯¥ÈÍѤΥ١¼¥¹¡Ê¿Æ¡Ë¥¯¥é¥¹¤òºîÀ®¤·¤Þ¤¹¡£
PlayEffect ¥á¥½¥Ã¥É¤ò²¾Áۥ᥽¥Ã¥É¤È¤·¤ÆÍÑ°Õ¤·¡¢¶ñÂÎŪ¤Ê½èÍý¤Î¤Õ¤ë¤Þ¤¤¤Ï³Æ¥¨¥Õ¥§¥¯¥È¤Ë°Í¸¤Ç¤¤ë¤è¤¦¤Ë¤·¤Æ¤¤¤Þ¤¹¡£
¤Þ¤¿ IPoolable ¥¤¥ó¥¿¡¼¥Õ¥§¡¼¥¹¤Ë¤è¤ë Release ¥á¥½¥Ã¥É¤âƱÍͤ˲¾Áۥ᥽¥Ã¥É¤È¤·¤Æ¼ÂÁõ¤·¤Æ¡¢
¥ª¥Ö¥¸¥§¥¯¥È¥×¡¼¥ë¤ØÌá¤ë½èÍý¤ò¶¦Ä̲½¤·¤¿¤¦¤¨¤Ç¡¢¤Õ¤ë¤Þ¤¤¤òÊѤ¨¤é¤ì¤ë¤è¤¦¤ËÍÑ°Õ¤·¤Æ¤¤¤Þ¤¹¡£
¡¡¥á¥ó¥ÐÊÑ¿ô¤Ë¤Ï Index ¤« enum ¤Ç¥¨¥Õ¥§¥¯¥È¤Î¥×¥ì¥Ï¥Ö¤òÆÃÄꤹ¤ë¤¿¤á¤Î¾ðÊó¤òÀßÄꤷ¤Þ¤¹¡£
¤³¤ì¤Ï¤É¤Á¤é¤òÍøÍѤ·¤Æ¤âÌäÂꤢ¤ê¤Þ¤»¤ó¤Î¤Ç¡¢¼«Ê¬¤Î¼ÂÁõ¤Ë¹ç¤ï¤»¤ÆºîÀ®¤·¤Æ¤¯¤À¤µ¤¤¡£
¡¡enum ¤òÍøÍѤ¹¤ë¾ì¹ç¤Ë¤Ï¡¢¼¡¤Î¼ê½ç¤Ç¼ÂÁõ¤·¤Þ¤¹¤Î¤Ç¡¢¼ÂÁõ¤Î¸å¤Ë¥á¥ó¥ÐÊÑ¿ô¤òÄɲ䷤Ƥ¯¤À¤µ¤¤¡£
EffectPlayerBase.cs
¡¡¥µ¥ó¥×¥ë¤È¤·¤Æ¡¢¥µ¥Ö¥¯¥é¥¹¤ò£±¤ÄÄ󼨤·¤Æ¤ª¤¤Þ¤¹¡£
PlayEffect ¥á¥½¥Ã¥É¤Î¤ß¾å½ñ¤¤·¤Æ¤Õ¤ë¤Þ¤¤¤òÊѤ¨¡¢Release ¥á¥½¥Ã¥É¤Ï¿Æ¥¯¥é¥¹¤Î¥á¥½¥Ã¥É¤ò¤½¤Î¤Þ¤ÞÍøÍѤ·¤Æ¤¤¤Þ¤¹¡£
¡¡¤³¤Î»þÅÀ¤Ç¤³¤Î¥µ¥Ö¥¯¥é¥¹¤Ï¡¢MonoBehaviour¡¢PoolBase¡¢¤½¤·¤Æ EffectPlayerBase ¤Îµ¡Ç½¤òͤ·¤Æ¤¤¤ë¤³¤È¤Ë¤Ê¤ê¤Þ¤¹¡£
LevelUpEffect.cs
¡¡¤¤¤Ã¤¿¤ó¡¢¤¹¤Ù¤Æ¤Î¥¨¥Õ¥§¥¯¥ÈÍѤΥץì¥Ï¥Ö¤Ë EffectPlayerBase ¥¯¥é¥¹¤ò¥¢¥¿¥Ã¥Á¤·¤Þ¤¹¡£
Index ¤Ë¤Ä¤¤¤Æ¤Ï¡¢°ì°Õ¤ÎÃͤòÀßÄꤷ¡¢¤Û¤«¤Î¥¨¥Õ¥§¥¯¥È¤Î¥×¥ì¥Ï¥Ö¤È¤ÏƱ¤¸¿ôÃͤˤʤé¤Ê¤¤¤è¤¦¤Ë¤·¤Æ¤ª¤¤Þ¤¹¡£
¡¡³Æ¥¨¥Õ¥§¥¯¥È¤´¤È¤Ë¤Õ¤ë¤Þ¤¤¤òÊѤ¨¤¿¤¤¾ì¹ç¤Ë¤Ï¡¢EffectPlayerBase ¥¯¥é¥¹¤ò¥ê¥à¡¼¥Ö¤·¡¢
EffectPlayerBase ¥¯¥é¥¹¤ò¿Æ¥¯¥é¥¹¤Ë¤·¤¿»Ò¥¯¥é¥¹¤òºîÀ®¤·¤Æ¡¢¤½¤ì¤òºÆÅÙ¥×¥ì¥Ï¥Ö¤Ë¥¢¥¿¥Ã¥Á¤·Ä¾¤·¤Þ¤¹¡£
¡¡°Ê¾å¤Ç¤³¤Î¼ê½ç¤Ï½ªÎ»¤Ç¤¹¡£
- ¥«¥Æ¥´¥ê¡§
- ¿Ê³Ø/¥¹¥¯¡¼¥ë
- ¥×¥í¥°¥é¥ß¥ó¥°
¥³¥á¥ó¥È¤ò¤«¤¯