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

¡¡£²²ó¤Î¼ê½ç¤Ëʬ¤±¤Æ¡¢¥¨¥Õ¥§¥¯¥Èµ¡Ç½¤Î¼ÂÁõ¤ò¿Ê¤á¤Æ¤¤¤­¤Þ¤¹¡£
¤³¤Î¼ê½ç¤Ç¤Ï¡¢¥¨¥Õ¥§¥¯¥Èµ¡Ç½¤ò¼ÂÁõ¤¹¤ë¤¿¤á¤Î½àÈ÷¤ò¹Ô¤¤¤Þ¤¹¡£

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

ȯŸ£±£°¡¡¡¼¥¨¥Õ¥§¥¯¥Èµ¡Ç½¤Î½àÈ÷¡¼
£±£µ¡¥¥¨¥Õ¥§¥¯¥È¤ò´ÉÍý¤¹¤ë¥Þ¥Í¡¼¥¸¥ã¡¼¥¯¥é¥¹¤òºîÀ®¤·¡¢¥¨¥Õ¥§¥¯¥Èµ¡Ç½¤Î±¿ÍѤνàÈ÷¤ò¤¹¤ë



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

¡¡¡¦switch ʸ¤Î¼°·Á¼°¤Ë¤è¤ëµ­½ÒÊýË¡



£±£µ¡¥¥¨¥Õ¥§¥¯¥È¤ò´ÉÍý¤¹¤ë¥Þ¥Í¡¼¥¸¥ã¡¼¥¯¥é¥¹¤òºîÀ®¤·¡¢¥¨¥Õ¥§¥¯¥Èµ¡Ç½¤Î±¿ÍѤνàÈ÷¤ò¤¹¤ë

£±¡¥Àß·×


¡¡¥²¡¼¥à¤Ë¤Ï¸ú²ÌŪ¤Ê²èÌ̤αé½Ð¤òÀ¹¤ê¹þ¤à¤³¤È¤Ç²èÌ̤¬¹ë²Ú¤Ë¤Ê¤ê¤Þ¤¹¡£¤³¤ì¤é¤ÏÁí¤¸¤Æ¥¨¥Õ¥§¥¯¥È¤È¸Æ¤Ð¤ì¤Æ¤¤¤Þ¤¹¡£

¡¡Î㤨¤Ð¡¢¥¨¥Í¥ß¡¼¤¬Ç˲õ¤µ¤ì¤¿¤È¤­¤Ë¡¢¥¨¥Í¥ß¡¼¤òÇ˲õ¤¹¤ë¤À¤±¤Ç¤Ï¤Ê¤¯¤Æ¡¢¤½¤Î¼þ°Ï¤Ë¥¨¥Õ¥§¥¯¥È¤òÀ¸À®¤¹¤ë¤³¤È¤ÇÇ˲õ¤·¤¿¤³¤È¤ò»ë³ÐŪ¤Ë±é½Ð¤·¤Þ¤¹¡£
¤³¤¦¤¤¤Ã¤¿±é½Ð¤¬¤¢¤ë¤³¤È¤Ç¡¢¥¨¥Í¥ß¡¼¤¬Ç˲õ¤µ¤ì¤¿¤³¤È¤òÅÁ¤¨¤Ä¤Ä¡¢¥æ¡¼¥¶¡¼¤Ë¡¢¥¨¥Í¥ß¡¼¤òÅݤ·¤¿¤È¤¤¤¦´¶³Ð¤ò¥²¡¼¥à²èÌ̤«¤éÂ賤·¤Æ¤â¤é¤¦¤³¤È¤¬½ÐÍè¤Þ¤¹¡£



¡¡¥¨¥Õ¥§¥¯¥È¤ò¼ÂÁõ¤¹¤ëÊýË¡¤Ï²¿¼ïÎà¤â¤¢¤ê¤Þ¤¹¡£
ºÇ¤â´Êñ¤Ç¤ï¤«¤ê¤ä¤¹¤¤¤â¤Î¤Ï¡¢¥¨¥Õ¥§¥¯¥È¤òÀ¸À®¤µ¤»¤¿¤¤¥²¡¼¥à¤Ë¥¹¥¯¥ê¥×¥È¤ò¥¢¥¿¥Ã¥Á¤·¤Æ¤ª¤¤¤Æ¡¢
¤½¤Î¥¹¥¯¥ê¥×¥ÈÆâ¤Ë¥¨¥Õ¥§¥¯¥È¤Î¥×¥ì¥Õ¥¡¥Ö¤òÊÑ¿ôÆâ¤ËÅÐÏ¿¤·¤Æ¡¢Ç¤°Õ¤Î¥¿¥¤¥ß¥ó¥°¤ÇÀ¸À®¤¹¤ëÊýË¡¤Ç¤¹¡£

¡¡Àè¤Û¤É¤Î¥¨¥Í¥ß¡¼¤ÎÇ˲õ»þ¤Î¥¨¥Õ¥§¥¯¥È¤Ç¤¢¤ì¤Ð¡¢¥¨¥Í¥ß¡¼¤Î¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤Ë¥¢¥¿¥Ã¥Á¤µ¤ì¤Æ¤¤¤ë EnemyController ¥¹¥¯¥ê¥×¥ÈÆâ¤Ë¥¨¥Õ¥§¥¯¥ÈÍѤÎÊÑ¿ô¤òÍÑ°Õ¤·¡¢
¤½¤³¤Ë¥¤¥ó¥¹¥Ú¥¯¥¿¡¼¤«¤é¥¨¥Õ¥§¥¯¥ÈÍѤΥץì¥Õ¥¡¥Ö¤ò¥¢¥µ¥¤¥ó¤·¤Æ¤ª¤¤¤Æ¡¢¥¨¥Í¥ß¡¼¤ÎÇ˲õ»þ¤Ë¥¨¥Õ¥§¥¯¥È¤Î¥¯¥í¡¼¥ó¤ò¥×¥ì¥Õ¥¡¥Ö¤«¤éÀ¸À®¤¹¤ë¡¢¤È¤¤¤¦½èÍý¤Îή¤ì¤Ë¤Ê¤ê¤Þ¤¹¡£

¡¡¤³¤Î¼êË¡¤Ï¾¤Î¥µ¥¤¥È¤Ç¤â¿¤¯¾Ò²ð¤µ¤ì¤Æ¤¤¤ë¤¿¤á¡¢º£²ó¤ÏÊ̤ÎÊýË¡¤ÇÀ߷פ·¡¢¼ÂÁõ¤ò¹Ô¤¦¤è¤¦¤Ë¤·¤Þ¤¹¡£



¡¡Àß·×ÆâÍƤȤ·¤Æ¤Ï¡¢¤¤¤Þ¤Þ¤Ç¤âÍøÍѤ·¤Æ¤­¤¿¡¢¥·¥ó¥°¥ë¥È¥ó¤È¤¤¤¦¥Ç¥¶¥¤¥ó¥Ñ¥¿¡¼¥ó¤òÍøÍѤ·¡¢BattleEffectManager ¤È¤¤¤¦Ì¾Á°¤Ç¡¢¥¨¥Õ¥§¥¯¥È¤ò´ÉÍý¤¹¤ë¤¿¤á¤Î¥¹¥¯¥ê¥×¥È¤ò£±¤ÄºîÀ®¤·¤Þ¤¹¡£
¤½¤·¤Æ¡¢¤³¤ÎÃæ¤Ë¥¨¥Õ¥§¥¯¥ÈÍѤΥץì¥Õ¥¡¥Ö¤òÅÐÏ¿¤¹¤ë¤¿¤á¤ÎÊÑ¿ô¤ò½¸Ì󤵤»¤Þ¤¹¡£

¡¡¤è¤Ã¤Æ¡¢¥¨¥Í¥ß¡¼ÍѤΥ¨¥Õ¥§¥¯¥È¤À¤«¤é¡¢¥¨¥Í¥ß¡¼¤Î¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤ËÍÑ°Õ¤¹¤ë¡¢¤È¤¤¤¦¼êË¡¤Ç¤Ï¤Ê¤¯¤Æ¡¢
¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤Ë´Ø·¸¤Ê¤¯¡¢»È¤¦¥¨¥Õ¥§¥¯¥È¤Ï¤¹¤Ù¤Æ¤³¤Î BattleEffectManager Æâ¤Ëµ­½Ò¤·¤ÆÅÐÏ¿¤¹¤ë¡¢¤È¤¤¤¦À߷פˤʤê¤Þ¤¹¡£

¡¡¥¨¥Õ¥§¥¯¥È¤ò£±¤Ä¤Î¥¹¥¯¥ê¥×¥ÈÆâ¤Ë½¸Ì󤹤ë¤È¤·¤¿¾ì¹ç¡¢½ÅÍפʤΤϡ¢¤É¤Î¤è¤¦¤Ë¤½¤ì¤é¤Î¥¨¥Õ¥§¥¯¥È¤Î¾ðÊó¤òɬÍפʥ²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤ËÄ󶡤¹¤ë¤«¡¢¤Ç¤¹¡£
¤³¤³¤Ç¥·¥ó¥°¥ë¥È¥ó¤Îµ¡Ç½¤¬Ìò¤ËΩ¤Á¤Þ¤¹

¡¡¥·¥ó¥°¥ë¥È¥ó¤ÇºîÀ®¤·¤Æ¤¤¤ë¥¯¥é¥¹¤Ï¡¢ÊÑ¿ô¤Ø¤ÎÂåÆþ¤¬ÉÔÍפǡ¢¤¤¤º¤ì¤Î¥¯¥é¥¹¤«¤é¤Ç¤â»²¾È¤¬²Äǽ¤Ê¾õÂ֤ˤʤäƤ¤¤Þ¤¹¡£
¤Ä¤Þ¤ê¡¢BattleEffectManager ¥¯¥é¥¹¤Ï¡¢¤¤¤º¤ì¤Î¥¯¥é¥¹¤«¤é¤Ç¤â¼«Í³¤Ë»²¾È¤Ç¤­¤ë¾õÂ֤ˤʤäƤ¤¤ë¤Î¤Ç¡¢
¤¢¤È¤Ï¡¢Å¬µ¹¤Ê¥¿¥¤¥ß¥ó¥°¤Ç¡¢É¬ÍפȤʤ륨¥Õ¥§¥¯¥È¤Î¾ðÊó¤òÍøÍѤ·¤Æ¤â¤é¤¤¡¢¥¨¥Õ¥§¥¯¥È¤òÀ¸À®¤¹¤ë¤è¤¦¤Ë¤·¤Þ¤¹¡£

¡¡¥¨¥Í¥ß¡¼¤ÎÇ˲õ»þ¤Î¥¨¥Õ¥§¥¯¥È¤Ç¤¢¤ì¤Ð¡¢BattleEffectManager ¥¯¥é¥¹¤Ë¥¨¥Õ¥§¥¯¥ÈÍѤÎÊÑ¿ô¤òºîÀ®¤·¡¢ÅÐÏ¿¤·¤Æ¤ª¤­¤Þ¤¹¡£
¤½¤·¤Æ¡¢EnemyController ¥¯¥é¥¹¤Ë¤ª¤¤¤Æ¡¢¥¨¥Í¥ß¡¼¤ÎÇ˲õ½èÍý¤ò¤¹¤ëÁ°¤Ë¡¢BattleEffectManager ¥¯¥é¥¹¤«¤é¥¨¥Õ¥§¥¯¥È¤Î¾ðÊó¤ò¼èÆÀ¤·¤Æ¡¢
¤½¤ì¤ò Instantiate ¥á¥½¥Ã¥É¤ò»È¤Ã¤Æ¥¨¥Õ¥§¥¯¥È¤È¤·¤ÆÀ¸À®¤¹¤ë¤È¤¤¤¦Î®¤ì¤Ë¤Ê¤ê¤Þ¤¹¡£



¡¡¤µ¤Æ¡¢¤½¤ì¤Ç¤Ï¡¢¤É¤Î¤è¤¦¤Ë¥¨¥Õ¥§¥¯¥È¤Î¾ðÊó¤ò³Æ¥¯¥é¥¹¤ËÄ󶡤¹¤ë¤«¡¢¤½¤ÎÊýË¡¤Ç¤¹¤¬¡¢¤³¤ì¤âÀß·×ÊýË¡¤Ï¤¤¤¯¤Ä¤â¤¢¤ê¤Þ¤¹¡£
¡¡
¡¡¤â¤Ã¤È¤â´Êñ¤Ê¤Î¤Ï¡¢³Æ¥¨¥Õ¥§¥¯¥È¤´¤È¤Ë¥á¥½¥Ã¥É¤ò½àÈ÷¤·¡¢¤½¤ì¤òɬÍפʥ¯¥é¥¹¤«¤é¼Â¹Ô¤·¤Æ¤â¤é¤¦¤è¤¦¤Ë¤¹¤ë¤â¤Î¤Ç¤¹¡£
¥¨¥Í¥ß¡¼¤ÎÇ˲õ¤ËɬÍפʥ¨¥Õ¥§¥¯¥È¤Ç¤¢¤ì¤Ð¡¢¤½¤Î¾ðÊó¤òµ­½Ò¤·¤¿¥á¥½¥Ã¥É¤ò½àÈ÷¤¹¤ë¤È¤¤¤¦·Á¼°¤Ç¤¹¡£
¡¡
¡¡¤¿¤À¤·¡¢¤³¤ÎÊýË¡¤Ç¤Î¼ÂÁõ¤Ë¤ÏÌäÂêÅÀ¤â¤¢¤ê¤Þ¤¹¡£
¥¨¥Õ¥§¥¯¥È¤Î¿ô¤À¤±¥á¥½¥Ã¥É¤ò½àÈ÷¤¹¤ëɬÍפ¬¤¢¤ë¤Î¤Ç¡¢Æ±¤¸¤è¤¦¤ÊÆâÍƤ¬½ñ¤¤¤Æ¤¢¤ë¥á¥½¥Ã¥É¤¬Ê£¿ôɬÍפˤʤê¤Þ¤¹¡£
¤Þ¤¿¡¢¿·¤·¤¤¥¨¥Õ¥§¥¯¥È¤òºî¤ë¤¿¤Ó¤Ë¡¢¥á¥½¥Ã¥É¤â¿·¤·¤¯½àÈ÷¤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£Èó¾ï¤Ë¸úΨ¤¬°­¤¤¤Ç¤¹¡£

¡¡¤³¤¦¤¤¤Ã¤¿¥±¡¼¥¹¤Ë¤Ï¡¢°ú¿ô¤òÍøÍѤ¹¤ë¤³¤È¤Ç¡¢½èÍý¤ò´ÊÊز½¤¹¤ë¤³¤È¤¬½ÐÍè¤Þ¤¹¡£

¡¡Ê£¿ô¤¢¤ë¥¨¥Õ¥§¥¯¥È¤Î¾ðÊó¤Ë¹ç¤ï¤»¤ÆÊ£¿ô¤Î¥á¥½¥Ã¥É¤ò½àÈ÷¤¹¤ë¤Î¤Ç¤Ï¤Ê¤¯¡¢¥á¥½¥Ã¥É¤Ï£±¤Ä¤À¤±¤Ë¤·¤Æ°ú¿ô¤Ë±þ¤¸¤Æ¡¢¥¨¥Õ¥§¥¯¥È¤ÎÆâÍƤòÊѲ½¤µ¤»¤ë¡¢¤È¤¤¤¦¹Í¤¨Êý¤Ç¤¹¡£

¡¡º£²ó¤Ï¡¢enum ¤È¤·¤Æ EffectType ¤òºîÀ®¤·¤Æ¤¤¤Þ¤¹¤Î¤Ç¡¢¤³¤Î¾ðÊó¤òÍøÍѤ·¤Æ¡¢BattleEffectManager ¥¯¥é¥¹Æâ¤Ë¥¨¥Õ¥§¥¯¥È¤Î¾ðÊó¤ò¼èÆÀ¤¹¤ë¤¿¤á¤Î GetEffect ¥á¥½¥Ã¥É¤ò½àÈ÷¤·¤Æ¤¤¤Þ¤¹¡£
GetEffect ¥á¥½¥Ã¥É¤Ë¤Ï°ú¿ô¤È¤·¤Æ EffectType ¤¬ÀßÄꤷ¤Æ¤¢¤ë¤Î¤Ç¡¢¥¨¥Õ¥§¥¯¥È¤Î¾ðÊó¤òÍߤ·¤¤¥¯¥é¥¹¤Ï¡¢¤É¤Î EffectType ¤Î¥¨¥Õ¥§¥¯¥È¤¬Íߤ·¤¤¤Î¤«¤ò»ØÄꤷ¤Æ GetEffect ¥á¥½¥Ã¥É¤ò¼Â¹Ô¤·¤Þ¤¹¡£
¤½¤¦¤¹¤ë¤È¡¢GetEffect ¥á¥½¥Ã¥ÉÆâ¤Ë¤ª¤¤¤Æ°ú¿ô¤ÇÆϤ¤¤¿ EffectType ¤Ë¤è¤ë switch ʸ¤Î¼«Æ°Ê¬´ô¤¬¹Ô¤ï¤ì¤Æ¡¢É¬Íפʥ¨¥Õ¥§¥¯¥È¤Î¥×¥ì¥Õ¥¡¥Ö¤Î¾ðÊ󤬼èÆÀ¤Ç¤­¤ë¤è¤¦¤ÊÀ߷פˤʤäƤ¤¤Þ¤¹¡£

¡¡¤³¤ÎÀ߷פÎÊØÍø¤ÊÉôʬ¤Ï¡¢¥¨¥Õ¥§¥¯¥È¤Î¼ïÎबÁý¤¨¤Æ¤â¡¢Enum ¤ÎÎóµó»Ò¤È switchʸ¤Î½èÍý¤ò¤½¤ì¤¾¤ì£±¤Ä¤º¤ÄÁý¤ä¤»¤Ð¤¹¤à¤Î¤Ç¡¢´ÉÍý¤È½¤Àµ¤¬¤·¤ä¤¹¤¤¤³¤È¤¬¤¢¤²¤é¤ì¤Þ¤¹¡£
¡¡

£²¡¥EffectType ¥¹¥¯¥ê¥×¥È¤òºîÀ®¤¹¤ë


¡¡¿·¤·¤¯ EffectType ¤ò enum ¤È¤·¤ÆºîÀ®¤·¡¢¥²¡¼¥àÆâ¤ËÍøÍѤ¹¤ë¥¨¥Õ¥§¥¯¥È¤Î¼ïÎà¤ò»öÁ°¤ËÎóµó»Ò¤È¤·¤ÆÅÐÏ¿¤·¤Æ¤ª¤­¤Þ¤·¤ç¤¦¡£


EffectType.cs

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


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


£³¡¥BattleEffectManager ¥¹¥¯¥ê¥×¥È¤òºîÀ®¤¹¤ë


¡¡¥·¥ó¥°¥ë¥È¥ó¤Î¥Ç¥¶¥¤¥ó¥Ñ¥¿¡¼¥ó¤òÍøÍѤ·¡¢BattleEffectManager ¥¯¥é¥¹¤òºîÀ®¤·¤Þ¤¹¡£

¡¡¥¨¥Õ¥§¥¯¥È¤Î¼ïÎऴ¤È¤Ë£±¤Ä¤º¤ÄÊÑ¿ô¤òÍÑ°Õ¤·¡¢¤ï¤«¤ê¤ä¤¹¤¤ÊÑ¿ô̾¤òÉÕ¤±¤Æ¤ª¤­¤Þ¤·¤ç¤¦¡£

¡¡¤³¤Î¥¯¥é¥¹¤ÎÌò³ä¤Ï¡¢¥¨¥Õ¥§¥¯¥È¤ò°ì¸µ´ÉÍý¤¹¤ë¤³¤È¤È¡¢´ÉÍý¤·¤Æ¤¤¤ë¥¨¥Õ¥§¥¯¥È¤Î¥×¥ì¥Õ¥¡¥Ö¤Î¾ðÊó¤òÊ̤Υ¯¥é¥¹¤ËÄ󶡤¹¤ë¤³¤È¤Î£²¤Ä¤¬¤¢¤ê¤Þ¤¹¡£

¡¡£²¤ÄÌܤÎÌò³ä¤Ë¤Ä¤¤¤Æ¤Ï¡¢À߷פǤâÀâÌÀ¤·¤¿¤è¤¦¤Ë¡¢¤¿¤¯¤µ¤ó¤Î¥¨¥Õ¥§¥¯¥È¤Î¿ô¤À¤±¥á¥½¥Ã¥É¤òºîÀ®¤¹¤ë¤Î¤Ç¤Ï¤Ê¤¯¤Æ¡¢£±¤Ä¤Î¥á¥½¥Ã¥É¤òÍÑ°Õ¤·¡¢°ú¿ô¤ò³èÍѤ·¤Þ¤¹¡£
º£²ó¤Ï GetEffect ¥á¥½¥Ã¥É¤òºîÀ®¤·¤Æ¡¢ EffectType ·¿¤Î°ú¿ô¤òÀßÄꤷ¤Æ½àÈ÷¤·¤Æ¤ª¤­¤Þ¤¹¡£

¡¡GetEffect ¥á¥½¥Ã¥ÉÆâ¤Ï°ú¿ô¤ÎÃͤ˹ç¤ï¤»¤Æ switch ʸ¤Ë¤è¤ê¼«Æ°Ê¬´ô¤·¡¢ÂоݤΥ¨¥Õ¥§¥¯¥È¤Î¾ðÊó¤ò GameObject ·¿¤ÎÌá¤êÃͤÇÌ᤹¤è¤¦¤Ë¤Ê¤Ã¤Æ¤¤¤Þ¤¹¡£
¥¨¥Õ¥§¥¯¥È¤Î¾ðÊó¤¬É¬Íפˤʤä¿¥¯¥é¥¹¤Ï¡¢¤³¤Î GetEffect ¥á¥½¥Ã¥É¤ò¼Â¹Ô¤·¤Þ¤¹¡£¼Â¹Ô¤¹¤ëºÝ¤Ë¤Ï¡¢¤É¤Î¥¨¥Õ¥§¥¯¥È¤Î¾ðÊó¤¬Íߤ·¤¤¤Î¤«¡¢EffectType ¤Ç»ØÄꤷ¤ÆÍøÍѤ·¤Þ¤¹¡£

¡¡°ú¿ô¤ò³èÍѤ·¤¿½èÍý¤Î¥¤¥á¡¼¥¸¤ò¤Ä¤«¤ó¤Ç¤¤¤­¤Þ¤·¤ç¤¦¡£¥í¥¸¥«¥ë¤Ê¥á¥½¥Ã¥É¤òÁȤßΩ¤Æ¤ë¤³¤È¤¬¤Ç¤­¤ë¤è¤¦¤Ë¤Ê¤ê¤Þ¤¹¡£


BattleEffectManager.cs

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


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


£´¡¥BattleEffectManager ¥¹¥¯¥ê¥×¥ÈÆâ¤Ë EffectType ¤â°ì½ï¤Ëµ­½Ò¤¹¤ë¾ì¹ç


¡¡enum ¤Ï¥¯¥é¥¹¤ÈƱ¤¸¤è¤¦¤Ë¡¢£±¤Ä¤Î¥¹¥¯¥ê¥×¥ÈÆâ¤Ë¤Þ¤È¤á¤Æ½ñ¤¤¤Æ¤ª¤¯¤³¤È¤â¤Ç¤­¤Þ¤¹¡£
¤½¤Î¾ì¹ç¤Îµ­½ÒÊýË¡¤ò·ÇºÜ¤·¤Æ¤ª¤­¤Þ¤¹¡£¤³¤ì¤ÏÊ̤˽ñ¤­´¹¤¨¤ëɬÍפϤ¢¤ê¤Þ¤»¤ó¡£¤³¤¦¤¤¤Ã¤¿µ­½Ò¤â¤Ç¤­¤ë¡¢¤È¤¤¤¦°ìÎã¤Ç¤¹¡£


BattleEffectManager.cs

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


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


£µ¡¥BattleEffectManager ¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤òºîÀ®¤·¡¢BattleEffectManager ¥¹¥¯¥ê¥×¥È¤ò¥¢¥¿¥Ã¥Á¤·¤ÆÀßÄê¤ò¹Ô¤¦


¡¡¥Ò¥¨¥é¥ë¥­¡¼¤Î¶õ¤¤¤Æ¤¤¤ë¾ì½ê¤Ç±¦¥¯¥ê¥Ã¥¯¤ò¤·¤Æ¥á¥Ë¥å¡¼¤ò³«¤­¡¢Create Empty ¤òÁªÂò¤·¤Æ¡¢¿·¤·¤¤¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤òºîÀ®¤·¤Þ¤¹¡£
̾Á°¤ò BattleEffectManager ¤ËÊѹ¹¤·¡¢Àè¤Û¤ÉºîÀ®¤·¤¿ BattleEffectManager ¥¹¥¯¥ê¥×¥È¤ò¥É¥é¥Ã¥°¥¢¥ó¥É¥É¥í¥Ã¥×¤·¤Æ¥¢¥¿¥Ã¥Á¤·¤Æ¤¯¤À¤µ¤¤¡£

¡¡¥¤¥ó¥¹¥Ú¥¯¥¿¡¼¤ò³Îǧ¤¹¤ë¤È¡¢³Æ¥¨¥Õ¥§¥¯¥È¤Î¥×¥ì¥Õ¥¡¥Ö¤ò¥¢¥µ¥¤¥ó¤¹¤ë¤¿¤á¤ÎÊÑ¿ô¤¬É½¼¨¤µ¤ì¤Þ¤¹¤Î¤Ç¡¢
¤³¤Á¤é¤ËǤ°Õ¤Î¥¨¥Õ¥§¥¯¥È¤Î¥×¥ì¥Õ¥¡¥Ö¤ò¥¢¥µ¥¤¥ó¤·¤ÆÅÐÏ¿¤·¤Æ¤¯¤À¤µ¤¤¡£

¡¡¤Ê¤ª¥¨¥Õ¥§¥¯¥È¤Î¿¤¯¤Ï¥Ñ¡¼¥Æ¥£¥¯¥ë¤Ë¤è¤Ã¤ÆºîÀ®¤µ¤ì¤Æ¤¤¤Þ¤¹¤¬¡¢²èÌ̾å¤ÎÍ¥Àè½ç°Ì¤Î´Ø·¸¾å¡¢¥²¡¼¥à²èÌ̤˸«¤¨¤Ê¤«¤Ã¤¿¤ê¡¢
¥­¥ã¥é¤è¤ê¤âÍ¥Àè½ç°Ì¤¬Ä㤯¤Æ°ìÉô¤¬±£¤ì¤Æ¤·¤Þ¤Ã¤¿¤ê¤¹¤ë¾ì¹ç¤¬¤¢¤ê¤Þ¤¹¡£

¡¡¤½¤Î¾ì¹ç¤Ë¤Ï¡¢ParticleSystem ¥³¥ó¥Ý¡¼¥Í¥ó¥È¤ÎÃæ¤ÎÀßÄê¹àÌܤΤ¦¤Á¡¢°ìÈÖ²¼¤Ë¤¢¤ë Renderer ¥â¥¸¥å¡¼¥ëÆâ¤Î Sorting Layer ¤È Order in Layer ¤Î¹àÌܤò¸«Ä¾¤·¤Æ¡¢Å¬µ¹½¤Àµ¤·¤Æ¤¯¤À¤µ¤¤¡£
£²£Ä¥²¡¼¥à¤Î¾ì¹ç¤Ë¤Ï²èÁü¤Î½Å¤Ê¤ê¤¬ÉÕ¤­Êª¤Ç¤¹¤Î¤Ç¡¢¤É¤Î²èÁü¤ÎÍ¥Àè½ç°Ì¤ò¹â¤¯¤¹¤ë¤«¤¬½ÅÍפˤʤê¤Þ¤¹¡£
¤³¤ì¤Ï¥Ñ¡¼¥Æ¥£¥¯¥ë¤Ë¤âÅö¤Æ¤Ï¤Þ¤ê¤Þ¤¹¤Î¤Ç¡¢¥­¥ã¥é¤Ê¤É¤Î²èÁü¤ÎÍ¥Àè½ç°Ì¤è¤ê¤â¥Ñ¡¼¥Æ¥£¥¯¥ë¤ÎÍ¥Àè½ç°Ì¤ò¹â¤¯¤¹¤ë¤³¤È¤Ç¡¢²èÌ̤κÇÁ°Ì̤˥¨¥Õ¥§¥¯¥È¤òɽ¼¨¤¹¤ë¤³¤È¤¬½ÐÍè¤ë¤è¤¦¤Ë¤Ê¤ê¤Þ¤¹¡£


»²¹Í¥µ¥¤¥È
Unity ¸ø¼°¥Þ¥Ë¥å¥¢¥ë
Renderer ¥â¥¸¥å¡¼¥ë
https://docs.unity3d.com/ja/current/Manual/PartSys...
¤Ï¤ó¤Ê¤ê¤È¡¢¤æ¤ë¤ä¤«¤Ë ÍÍ
Unity¤ÎLayer¤ÈSortingLayer¤ÈOrder in Layer¤Ë¤Ä¤¤¤ÆÄ´¤Ù¤¿
https://iucstscui.hatenablog.com/entry/2020/08/15/...
¥Æ¥é¥·¥å¡¼¥ë¥Ö¥í¥° ÍÍ
Unity¤ÎSprite¤È¥Ñ¡¼¥Æ¥£¥¯¥ë¤È¤«¥â¥Ç¥ë¤ÎÉÁ²è½çÈ֤ˤĤ¤¤Æ
https://tsubakit1.hateblo.jp/entry/2015/01/05/2330...


¥¤¥ó¥¹¥Ú¥¯¥¿¡¼²èÁü


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


£¶¡¥¡ãswitch ʸ¤Î¼°·Á¼°¤Ë¤è¤ëµ­½ÒÊýË¡¡ä


¡¡¸½ºß¤Î Unity ¤Ï C# 8.0 °Ê¹ß¤ËÂбþ¤·¤Æ¤¤¤Þ¤¹¤Î¤Ç¡¢switch ʸ¤ò¼°·Á¼°¤Îµ­½Ò¤Ç½ñ¤¯¤³¤È¤¬½ÐÍè¤Þ¤¹¡£
¤¿¤À¤·¡¢¤¹¤Ù¤Æ¤Î switch ʸ¤ËÂФ·¤Æ¤³¤Îµ­½Ò¤¬¤Ç¤­¤ëÌõ¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó¡£

¡¡switch ʸ¤Î¼°·Á¼°¤Ë¤è¤ëµ­½Ò¤Ç¤Ï¡¢Ìá¤êÃͤ¬¤¢¤ë¤³¤È¤¬¾ò·ï¤Ç¤¹¤Î¤Ç¡¢Ìá¤êÃͤΤʤ¤ switch ʸ¤Ë¤Ï¤³¤Î½ñ¼°¤òÍøÍѤǤ­¤Þ¤»¤ó¡£

¡¡¤Ê¤ª¡¢¤³¤ÎÀâÌÀ¤¬Æñ¤·¤¤¤È´¶¤¸¤ë¾ì¹ç¤Ë¤Ï¡¢Ìá¤êÃͤˤĤ¤¤ÆÉü½¬¤ò¤·¤Æ¤ª¤¤¤Æ¤¯¤À¤µ¤¤¡£


¡ã­¡Ä̾ï¤Î switch ʸ¡ä
    public GameObject GetEffect(EffectType effectType) {

        GameObject effectPrefab = null;

        switch(effectType) {

            case EffectType.Destroy_Chara :
                effectPrefab = destroyCharaEffectPrefab;
                break;

            case EffectType.Destroy_Enemy:
                effectPrefab = destroyEnemyEffectPrefab;
                break;

            case EffectType.Hit_Enemy:
                effectPrefab = hitEnemyEffectPrefab;
                break;

            case EffectType.Hit_DefenseBase:
                effectPrefab = hitDefenseBaseEffectPrefab;
                break;

            default:
                effectPrefab = destroyCharaEffectPrefab;
                break;
        };

        return effectPrefab;
    }

¡¡¡¡¡¡¢­

¡ã­¢¼°·Á¼°¤Îµ­½Ò¤Ë¤è¤ë switch ʸ¡ä
    public GameObject GetEffect(EffectType effectType) {

        return effectType switch {

            EffectType.Destroy_Chara => destroyCharaEffectPrefab,

            EffectType.Destroy_Enemy => destroyEnemyEffectPrefab,

            EffectType.Hit_Enemy => hitEnemyEffectPrefab,

            EffectType.Hit_DefenseBase => hitDefenseBaseEffectPrefab,

            _ => destroyCharaEffectPrefab,
        };
    }

¡¡µ­½Ò¤ÎÊýË¡¤Ï°ã¤¤¤Þ¤¹¤¬¡¢¤³¤ì¤é¤Ï¤Þ¤Ã¤¿¤¯Æ±¤¸µóÆ°¤Ë¤Ê¤ê¤Þ¤¹¡£
Ìá¤êÃͤΤ¢¤ë switch ʸ¤Ç¤¢¤ì¤Ð¡¢case / break ¤ò¾Êά¤Ç¤­¤ë¡¢­¢¼°·Á¼°¤Ë¤è¤ëµ­½Ò¤ËÄ©À路¤Æ¤ß¤ë¤È¤¤¤¤¤Ç¤·¤ç¤¦¡£

¡¡¼°·Á¼°¤Ë¤è¤ëµ­½Ò¤Î¾ì¹ç¡¢ _ (¥¢¥ó¥À¡¼¥Ð¡¼)¤ÎÉôʬ¤¬ default ¤ËÅö¤¿¤ê¤Þ¤¹¡£
¤Þ¤¿¡¢Ä̾ï¤Î switch ʸ¤Ï default Éôʬ¤¬¤Ê¤¯¤Æ¤â¥¨¥é¡¼¤Ï½Ð¤Þ¤»¤ó¤¬¡¢¼°·Á¼°¤Ë¤è¤ëµ­½Ò¤Î¾ì¹ç¤Ë¤Ï _ ¤òµ­½Ò¤·¤Ê¤¤¤È¥¨¥é¡¼¤¬½Ð¤Þ¤¹¡£


»²¹Í¥µ¥¤¥È
++C++; ̤³ÎǧÈô¹Ô C ÍÍ
C# ¤Î¼°¤Èʸ¤Î°ìÍ÷
https://ufcpp.net/study/csharp/list_expression.htm...
++C++; ̤³ÎǧÈô¹Ô C ÍÍ
is¡¢switch ¤Î³ÈÄ¥(·¿¥¹¥¤¥Ã¥Á)
https://ufcpp.net/study/csharp/datatype/typeswitch...



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

¡¡¼¡¤Ï¡¡È¯Å¸£±£±¡¡¡¼¥¨¥Õ¥§¥¯¥Èµ¡Ç½¤Î¼ÂÁõ¡Ý¡¡¤Ç¤¹¡£

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


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

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

Menu



´ðÁÃ

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

private



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

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