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

¡¡¿ô²ó¤Ëʬ¤±¤Æ¡¢Â°À­¤Î¾ðÊó¤ÈÀßÄêÄɲäȡ¢¤½¤ì¤ò¥²¡¼¥àÆâ¤ÇÍøÍѤ¹¤ë½èÍý¤Î¼ÂÁõ¤ò¹Ô¤¤¤Þ¤¹¡£
º£²ó¤Ï°Ê²¼¤ÎÆâÍƤǽçÈ֤˼ÂÁõ¤ò¿Ê¤á¤Æ¤¤¤­¤Þ¤¹¡£

ȯŸ£³£³¡¡¡Ý°À­¤ÎÄɲáÝ
£¶£µ¡¥ElementType ¥¹¥¯¥ê¥×¥È¤È ElementDataSO ¥¹¥¯¥ê¥×¥È¤òºîÀ®¤¹¤ë¡£ElementDataSO ¥¹¥¯¥ê¥×¥¿¥Ö¥ë¡¦¥ª¥Ö¥¸¥§¥¯¥È¤òºîÀ®¤·¡¢ÀßÄê¤ò¹Ô¤¦
£¶£¶¡¥³Æ¥¹¥¯¥ê¥×¥¿¥Ö¥ë¡¦¥ª¥Ö¥¸¥§¥¯¥ÈÍѤΥ¹¥¯¥ê¥×¥È¤ò½¤Àµ¤·¡¢ElementType ·¿¤Î°À­¾ðÊó¤òÄɲ乤롣¤½¤Î¸å¡¢¥¹¥¯¥ê¥×¥¿¥Ö¥ë¡¦¥ª¥Ö¥¸¥§¥¯¥È¤ÎÀßÄê¤ò¹Ô¤¦
£¶£·¡¥ElementCompatibilityHelper ¥¹¥¯¥ê¥×¥È¤òºîÀ®¤·¡¢Â°À­¤Ë¤è¤ëÁêÀ­¤ÎȽÄê¤ò¹Ô¤¦µ¡Ç½¤òÄɲ乤ë



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

¡¡¡¦º£¤Þ¤Ç¤Î½èÍý¤òÉü½¬¤·¡¢¼«Ê¬¤ÎÀ߷פǥ¹¥¯¥ê¥×¥¿¥Ö¥ë¡¦¥ª¥Ö¥¸¥§¥¯¥È¤ä static ¥¯¥é¥¹¤ò¿·¤·¤¯ºîÀ®¤¹¤ë



£¶£µ¡¥ElementType ¥¹¥¯¥ê¥×¥È¤È ElementDataSO ¥¹¥¯¥ê¥×¥È¤òºîÀ®¤¹¤ë¡£ElementDataSO ¥¹¥¯¥ê¥×¥¿¥Ö¥ë¡¦¥ª¥Ö¥¸¥§¥¯¥È¤òºîÀ®¤·¡¢ÀßÄê¤ò¹Ô¤¦

£±¡¥Àß·×


¡¡Â°À­¤Î¾ðÊó¤Ë¤Ä¤¤¤Æ¡¢ÅÐÏ¿¤ÎÊýË¡¤ÈÍøÍѤ¹¤ëÊýË¡¤òÀ߷פ·¤Þ¤¹¡£

¡¡¤Þ¤º¤Ï¤³¤Î°À­¤Î¾ðÊó¤ò¤É¤Î¤è¤¦¤Ê¾ìÌ̤ÇÍøÍѤ·¤¿¤¤¤Î¤«¤ò¹Í¤¨¤Æ¤¤¤­¤Þ¤¹¡£

¡ã¥¢¥¤¥Ç¥£¥¢Îã¡ä
¡¡£±¡¥¥¨¥Í¥ß¡¼¤Î¾ðÊó¤Ë°À­¤Î¾ðÊó¤òÄɲ䷤ơ¢¥Ð¥ì¥Ã¥È¤È¤ÎÁêÀ­¤ò³Îǧ¤¹¤ë¤Î¤ËÍøÍѤ¹¤ë
¡¡£²¡¥¥Ð¥ì¥Ã¥È¤Î¾ðÊó¤Ë°À­¤Î¾ðÊó¤òÄɲ䷤ơ¢¥¨¥Í¥ß¡¼¤È¤ÎÁêÀ­¡¢¥¨¥Í¥ß¡¼¤È¼«Ê¬¤ÎµòÅÀ¤È¤ÎÁêÀ­¤ò³Îǧ¤¹¤ë¤Î¤ËÍøÍѤ¹¤ë

¡¡¥¨¥Í¥ß¡¼¤Î¾ðÊó¤Ï EnemyData ¥¯¥é¥¹¡¢¥Ð¥ì¥Ã¥È¤Î¾ðÊó¤Ï BulletData ¥¯¥é¥¹¤Î¤³¤È¤ò»Ø¤·¤Þ¤¹¡£

¡¡¡Ú£±¡Û¤Ë¤Ä¤¤¤Æ¤Ï¡¢¥¨¥Í¥ß¡¼¤Î°À­¾ðÊó¤È¥Ð¥ì¥Ã¥È¤Î°À­¾ðÊó¤È¤ò³Îǧ¤·¤Æ¡¢ÁêÀ­¤ÎÎɤ·¤¢¤·¤òȽÃǤ¹¤ë¤è¤¦¤Ë¤¹¤ë¤â¤Î¤Ç¤¹¡£
¥Ð¥ì¥Ã¥È¦¤«¤é¤ß¤Æ¡¢¤¤¤ï¤æ¤ë¼åÅÀ¤Ç¤¢¤ë¤«¡¢¤É¤¦¤«¡¢¤È¤¤¤¦È½Äê¤ò¹Ô¤¤¡¢¥¨¥Í¥ß¡¼¤Î¼åÅÀ¤Ç¤¢¤ë°À­¤Î¥Ð¥ì¥Ã¥È¤Î¾ì¹ç¤Ë¤Ï¡¢ÆÃÊ̤ʽèÍý¤ò¹Ô¤¦¤è¤¦¤ËÀ߷פ·¤Þ¤¹¡£
¾¤Ë¤âȽÄê¤Î¼ïÎà(Í­Íø/ÉÔÍø)¤ÎÊýË¡¤Ï¤¢¤ê¤Þ¤¹¤Î¤Ç¡¢¤½¤Á¤é¤Ï¼«Ê¬¤Ç½èÍý¤ÎÀ߷פò¹Í¤¨¤Æ¤ß¤Æ¤¯¤À¤µ¤¤¡£

¡¡¡Ú£²¡Û¤Ë¤Ä¤¤¤Æ¤Ï¡¢¡Ú£±¡Û¤ÇÍøÍѤ¹¤ë¾¤Ë¡¢ÁªÂò¤·¤Æ¤¤¤ë¥Ð¥ì¥Ã¥È¤Î°À­¤ò¡¢¤½¤Î¤Þ¤Þ¼«Ê¬¤ÎµòÅÀ¤Î°À­¾ðÊó¤È¤·¤Þ¤¹¡£
Î㤨¤Ð¡¢¥Ð¥ì¥Ã¥È¤Î°À­¤¬ A ¤È¤¤¤¦¾ðÊó¤Ê¤é¡¢¼«Ê¬¤ÎµòÅÀ¤Î°À­¤â A ¤È¤·¤Æ°·¤¦¤è¤¦¤Ë¤·¤Þ¤¹¡£
¤³¤Î¾ðÊó¤È¥¨¥Í¥ß¡¼¤Î°À­¾ðÊó¤È¤ò³Îǧ¤·¤Æ¡¢ÁêÀ­¤ÎÎɤ·¤¢¤·¤òȽÃǤ¹¤ë¤è¤¦¤Ë¤·¤Þ¤¹¡£
¥¨¥Í¥ß¡¼Â¦¤«¤é¤ß¤Æ¡¢µòÅÀ¤Î¾õÂÖ¤¬¼åÅÀ¤Ç¤¢¤ë¤«¤É¤¦¤«¤òȽÄꤷ¡¢µòÅÀ¤Î¼åÅÀ¤Ç¤¢¤ë°À­¤Î¥¨¥Í¥ß¡¼¤ä¡¢¥¨¥Í¥ß¡¼¤Î¥Ð¥ì¥Ã¥È¤Î¾ì¹ç¤Ë¤Ï¡¢
¥×¥ì¥¤¥ä¡¼¤¬¼õ¤±¤ë¥À¥á¡¼¥¸¤òÁý¤ä¤¹Åù¤Î¡¢ÆÃÊ̤ʽèÍý¤ò¹Ô¤¦¤è¤¦¤Ë¤·¤Þ¤¹¡£

¡¡Â°À­¤Î¼ïÎà¤ÏÁý¤¨¤Æ¤¤¤¯²ÄǽÀ­¤¬¤¢¤ê¤Þ¤¹¤Î¤Ç¡¢ÀìÍѤΠenum ¤òºîÀ®¤·¡¢¤½¤Á¤é¤Ç¼ïÎà¤Î´ÉÍý¤ò¹Ô¤¦¤è¤¦¤Ë¤·¤Þ¤¹¡£
³Æ¥¹¥¯¥ê¥×¥¿¥Ö¥ë¡¦¥ª¥Ö¥¸¥§¥¯¥È¤Ë¤Ï¤³¤Î°À­¤Î¼ïÎà¤ò£±¼ïÎà¤À¤±ÅÐÏ¿¤Ç¤­¤ë¤è¤¦¤Ë¤·¤Þ¤¹¡£
¤³¤Î¾ðÊó¤ò»²¾È¤¹¤ë¤³¤È¤Ç¡¢¥¨¥Í¥ß¡¼¤ä¥Ð¥ì¥Ã¥È¤ËÍ¿¤¨¤é¤ì¤¿Â°À­¤Î¾ðÊó¤ò¥²¡¼¥àÆâ¤ËÈ¿±Ç¤·¤Æ½èÍý¤Ç¤­¤ë¤è¤¦¤Ë¤·¤Þ¤¹¡£

¡¡¤½¤Î¸å¡¢¤³¤Î ElementType ¤ò´ÉÍý¤¹¤ë¤¿¤á¤Î¥Ç¡¼¥¿¥Ù¡¼¥¹¤È¤·¤Æ¡¢ElementDataSO ¥¹¥¯¥ê¥×¥¿¥Ö¥ë¡¦¥ª¥Ö¥¸¥§¥¯¥È¤òºîÀ®¤·¤Þ¤¹¡£


£²¡¥ElementType ¥¹¥¯¥ê¥×¥È¤òºîÀ®¤·¡¢Â°À­¤Î¼ïÎà¤ò ElementType ·¿¤Î enum ¤È¤·¤ÆÍøÍѤǤ­¤ë¤è¤¦¤Ë¤¹¤ë


¡¡EnemyType ·¿¤òºîÀ®¤·¤¿ºÝ¤ÈƱ¤¸¤è¤¦¤Ë¡¢enum (¥¤¡¼¥Ê¥à) ¤òÍøÍѤ·¤Æ¡¢¥¨¥Í¥ß¡¼¤Î°ÜÆ°ÊýË¡¤Î¼ïÎà¤ò»öÁ°¤ËÅÐÏ¿¤·¡¢
¤³¤Î¾ðÊó¤ò¥²¡¼¥àÁ´ÂΤÇÍøÍѤ¹¤ë°À­¤Î¾ðÊó¤È¤·¤Æ EnemyData ¥¯¥é¥¹¤ä BullteData ¥¯¥é¥¹Æâ¤ËÀßÄê¤Ç¤­¤ë¤è¤¦¤Ë¤·¤Þ¤¹¡£

¡¡¤Ê¤ª¡¢Â°À­¤Î¼ïÎà(Îóµó»Ò)¤Ë¤Ä¤¤¤Æ¤ÏǤ°Õ¤Ç¤¹¡£º£²ó¤Ï ElementType ·¿¤Ç¡¢¿§¤ÇÍÑ°Õ¤·¤Æ¤¤¤Þ¤¹¤¬¡¢Fire¡¢Ice ¤Ê¤É¤Î¼ïÎà¤Ç¤â¹½¤¤¤Þ¤»¤ó¡£
¼«Ê¬¤Î¹Í¤¨¤Æ¤¤¤ëÀ¤³¦´Ñ¤Ë¤¢¤Ã¤¿¤â¤Î¤òÎóµó»Ò¤È¤·¤ÆÅÐÏ¿¤·¤Æ¤¯¤À¤µ¤¤¡£

¡¡Â°À­¤ÎȽÄêÊýË¡¤Ç¤¹¤¬¡¢Â¿¤¯¤Î¥²¡¼¥à¤ËºÎÍѤµ¤ì¤Æ¤¤¤ë¡Ö»°¤¹¤¯¤ß¡Ê¤¸¤ã¤ó¤±¤ó¡Ë¡×¤Îˡ§¤È¡¢
¡Öɽ΢¡ÊA ¢Î B¡Ë = ¤ª¸ß¤¤¤¬¼åÅÀƱ»Î¡×¤Îˡ§¤òÍøÍѤ¹¤ëͽÄê¤Ç¤¹¡£

¡¡²¼¤Î¥±¡¼¥¹¤Ç¤Ï¡¢¡ÖWhite ¢Î Black¡×¤¬É½Î¢¤Îˡ§¡¢¡ÖBlue ¢ª Red ¢ª Green ¢ª Blue¡×¤¬»°¤¹¤¯¤ß¤Îˡ§¤È¤·¤ÆÍøÍÑͽÄê¤Ç¤¹¡£

¡¡Â¾¤Îˡ§(£µ¹Ô¤ÎÁê¹î¡¢¼åÅÀ¤¬£²¤Ä¤¢¤ë¡¢¤Ê¤É)¤Ç¤ÎÍøÍÑÊýË¡¤â¤â¤Á¤í¤ó²Äǽ¤Ç¤¹¤Î¤Ç¡¢¤½¤Î¾ì¹ç¤Ë¤Ï¡¢¤½¤ì¤ò¥¤¥á¡¼¥¸¤·¤ÆÎóµó»Ò¤òÅÐÏ¿¤·¤Æ¤¯¤À¤µ¤¤¡£
¤½¤Î¾ì¹ç¤ÏÀ߷ס¦¥í¥¸¥Ã¥¯¤Ï¤·¤Ã¤«¤ê¤È¼«Ê¬¤Ç¹Í¤¨¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£


ElementType.cs

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


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


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


¡¡ElementType ·¿¤Ï´°À®¤·¤Þ¤·¤¿¡£¤³¤ì¤Ï°À­¤Î¼ïÎà¤Î¾ðÊó¤Ç¤¹¤Î¤Ç¡¢¤³¤Á¤é¤ò³èÍѤ¹¤ë¤¿¤á¤ÎÊýË¡¤ò¹Í¤¨¤Þ¤¹¡£

¡¡Â°À­¾ðÊó¤ò°·¤¦¥Ç¡¼¥¿¥Ù¡¼¥¹¤¬¤¢¤ë¤ÈÊØÍø¤Ç¤¹¤Î¤Ç¡¢ElementType ¤ò£±¤Ä¤º¤Ä´ÉÍý¤·¤Æ¤¤¤ë¥Ç¡¼¥¿¤òÍÑ°Õ¤·¡¢
¤½¤Î°À­¤Ë´ØÏ¢¤¹¤ë¾ðÊó(°À­¤Î²èÁü¤Ê¤É)¤ò£±¤Ä¤º¤Ä¤Þ¤È¤á¤ÆÃÖ¤¯¤è¤¦¤·¤Þ¤¹¡£



¡¡¥¹¥¯¥ê¥×¥¿¥Ö¥ë¡¦¥ª¥Ö¥¸¥§¥¯¥È¤òºîÀ®¤¹¤ë¤¿¤á¤ËɬÍ×¤Ê ElementDataSO ¥¹¥¯¥ê¥×¥È¤òºîÀ®¤·¤Þ¤¹¡£
¥¹¥¯¥ê¥×¥¿¥Ö¥ë¡¦¥ª¥Ö¥¸¥§¥¯¥ÈÀìÍѤΠScriptableObject ¥¯¥é¥¹¤ò·Ñ¾µ¤·¡¢[CreateAssetMenu] °À­¤òµ­½Ò¤¹¤ë¤³¤È¤ÇºîÀ®²Äǽ¤Ë¤Ê¤ê¤Þ¤¹¡£
¡¡
¡¡¥¹¥¯¥ê¥×¥¿¥Ö¥ë¡¦¥ª¥Ö¥¸¥§¥¯¥È¤Ç¤Ï¡¢»ØÄꤷ¤¿¥Ç¡¼¥¿¤òÊ£¿ô¤Î¥Ç¡¼¥¿¤È¤·¤Æ¤Þ¤È¤á¤Æ´ÉÍý¤¹¤ë¤³¤È¤¬½ÐÍè¤Þ¤¹¡£
¤½¤Î¤¿¤á¡¢¥Ç¡¼¥¿¥Ù¡¼¥¹¤È¤·¤Æ¤ÎÌò³ä¤ò²Ì¤¿¤¹¤³¤È¤¬²Äǽ¤Ë¤Ê¤Ã¤Æ¤¤¤Þ¤¹¡£

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

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


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



ElementDataSO.cs

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


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


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


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

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

¡¡ElementDataSO ¥¹¥¯¥ê¥×¥¿¥Ö¥ë¡¦¥ª¥Ö¥¸¥§¥¯¥È¤ò Datas ¥Õ¥©¥ë¥À¤Ø°ÜÆ°¤·¤Æ¤¯¤À¤µ¤¤¡£


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



¡¡¤½¤ì¤Ç¤Ï¥¹¥¯¥ê¥×¥¿¥Ö¥ë¡¦¥ª¥Ö¥¸¥§¥¯¥È¤Ë°À­¤Î¥Ç¡¼¥¿¤òÅÐÏ¿¤·¤Þ¤¹¡£


£µ¡¥ElementDataSO ¥¹¥¯¥ê¥×¥¿¥Ö¥ë¡¦¥ª¥Ö¥¸¥§¥¯¥È¤ÎÀßÄê¤ò¹Ô¤¦


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

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


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



¡¡Â°À­¤Ë¤Ï¸½ºß£µ¼ïÎढ¤ê¤Þ¤¹¤Î¤Ç¡¢¥Ç¡¼¥¿¤â£µ¤ÄʬÅÐÏ¿¤·¤Æ¤ª¤­¤¿¤¤¤È»×¤¤¤Þ¤¹¡£
EnemyDataList ÊÑ¿ô¤Î Size ¤ò 5 ¤ËÊѹ¹¤·¤Æ¤¯¤À¤µ¤¤¡£Element 0 ¡Á 4 ¤¬²¼¤ËºîÀ®¤µ¤ì¤Þ¤¹¡£

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

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


¡¡
¡¡¤Þ¤º¤ÏºÇ½é¤Ë¡¢ElementType ¤ò¤¹¤Ù¤ÆÊ̤Τâ¤Î¤ÇÅÐÏ¿¤·¤Æ¤¯¤À¤µ¤¤¡£
¡¡²èÁü¤ÏǤ°Õ¤Ç¤¹¡£Â°À­¤Î¾ðÊó¤Ë¸«¹ç¤Ã¤¿²èÁü¥Õ¥¡¥¤¥ë¤ò¥¤¥ó¥Ý¡¼¥È¤·¤ÆÍøÍѤ·¤Þ¤·¤ç¤¦¡£
£±¤Ä¤Î²èÁü¥Õ¥¡¥¤¥ë¤ËÊ£¿ô¤Î²èÁü¤¬ÅÐÏ¿¤µ¤ì¤Æ¤¤¤ë¾ì¹ç¤Ë¤Ï¡¢Sprite Editor µ¡Ç½¤òÍøÍѤ·¤Æʬ³ä¤·¤Æ¤¯¤À¤µ¤¤¡£
²èÁü¥Õ¥¡¥¤¥ë¤Î̾Á°¤Ï¤ï¤«¤ê¤ä¤¹¤¤¤â¤Î¤ËÊѹ¹¤·¤Æ¤ª¤¯¤È´ÉÍý¤¬³Ú¤Ë¤Ê¤ê¤Þ¤¹¡£

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


¥¤¥ó¥¹¥Ú¥¯¥¿¡¼²èÁü¡¡»²¹ÍÎã



¥Õ¥ê¡¼²èÁüÎã






£¶£¶¡¥³Æ¥¹¥¯¥ê¥×¥¿¥Ö¥ë¡¦¥ª¥Ö¥¸¥§¥¯¥ÈÍѤΥ¹¥¯¥ê¥×¥È¤ò½¤Àµ¤·¡¢ElementType ·¿¤Î°À­¾ðÊó¤òÄɲ乤ë

£±¡¥Àß·×


¡¡ºîÀ®¤·¤¿Â°À­¤Î¾ðÊó¤òÍøÍѤǤ­¤ë¾õÂ֤ˤ·¤Þ¤¹¡£

¡¡Â°À­¤Î¾ðÊó¤ò»ý¤¿¤»¤¿¤¤¥¯¥é¥¹¤Î¥¹¥¯¥ê¥×¥È¤ò½¤Àµ¤·¤Þ¤·¤ç¤¦¡£

¡¡¥Ð¥ì¥Ã¥È¤Î¾ðÊó¤Ë°À­¤Î¾ðÊó¤òÄɲ乤ë¤Ë¤Ï¡¢BulletDataSO ¥¹¥¯¥ê¥×¥ÈÆâ¤Î BulletData ¥¯¥é¥¹¤ËÄɲä·¤Þ¤¹¡£
¡¡¥¨¥Í¥ß¡¼¤Î¾ðÊó¤Ë°À­¤Î¾ðÊó¤òÄɲ乤ë¤Ë¤Ï¡¢EnemyDataSO ¥¹¥¯¥ê¥×¥ÈÆâ¤Î EnemyData ¥¯¥é¥¹¤ËÄɲä·¤Þ¤¹¡£


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


¡¡BulletData ¥¯¥é¥¹Æâ¤Ë ElementType ·¿¤ÎÊÑ¿ô¤òÄɲä·¤Þ¤¹¡£


BulletDataSO.cs

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


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


£³¡¥EnemyDataSO ¥¹¥¯¥ê¥×¥È¤ò½¤Àµ¤¹¤ë


¡¡EnemyData ¥¯¥é¥¹Æâ¤Ë ElementType ·¿¤ÎÊÑ¿ô¤òÄɲä·¤Þ¤¹¡£
¤Þ¤¿¥¨¥Í¥ß¡¼¤Îȯ¼Í¤¹¤ë¥Ð¥ì¥Ã¥È¤Î¾ðÊó¤Ë¤â BulletData ¤òÍøÍѤǤ­¤ë¤è¤¦¤Ë¤¹¤ë¤¿¤á
BulletType ·¿¤ÎÊÑ¿ô¤â°ì½ï¤ËÄɲ䷤Ƥ¯¤À¤µ¤¤¡£


EnemyDataSO.cs

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


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


£´¡¥³Æ¥¹¥¯¥ê¥×¥¿¥Ö¥ë¡¦¥ª¥Ö¥¸¥§¥¯¥È¤ÎÀßÄê¤ò¹Ô¤¦


¡¡¥¹¥¯¥ê¥×¥¿¥Ö¥ë¡¦¥ª¥Ö¥¸¥§¥¯¥ÈÍѤΥ¹¥¯¥ê¥×¥È¤ò½¤Àµ¤·¤Þ¤·¤¿¤Î¤Ç¡¢
³Æ¥¹¥¯¥ê¥×¥¿¥Ö¥ë¡¦¥ª¥Ö¥¸¥§¥¯¥È¤Ë¤Ï¡¢Â°À­¤Î¾ðÊó¤¬Äɲ䵤ì¤Æ¤¤¤Þ¤¹¡£
Ǥ°Õ¤Î¾ðÊó¤òÀßÄꤷ¤Æ¤¯¤À¤µ¤¤¡£

¡¡»²¹Í²èÁü¤òÄ󼨤·¤Æ¤ª¤­¤Þ¤¹¡£¡¡
¤Ê¤ª¡¢EnemyData ¤Ë¤Ï BulletType ¤Î¹àÌܤâÄɲ䷤Ƥ¢¤ê¤Þ¤¹¤Î¤Ç¡¢
¥Ü¥¹¤Ï A ¤ò¡¢¤â¤¦£±ÂΤΥ¨¥Í¥ß¡¼¤Ë¤Ï B ¤òÀßÄꤷ¤Æ¤¯¤À¤µ¤¤¡£»Ä¤ë£±ÂÎ¤Ï None ¤ËÀßÄꤷ¤Æ¤¯¤À¤µ¤¤¡£

¡¡¤³¤ì¤Ç¥¨¥Í¥ß¡¼¤ÎÂǤäƤ¯¤ë¥Ð¥ì¥Ã¥È¤Ë¤â BulletType ¤ò¸µ¤Ë»²¾È¤·¤Æ BulletData ¤Î¾ðÊó¤òÍøÍѽÐÍè¤ë¤è¤¦¤Ë¤Ê¤ê¤Þ¤¹¡£


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



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




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




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



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



£¶£·¡¥ElementCompatibilityHelper ¥¹¥¯¥ê¥×¥È¤òºîÀ®¤·¡¢Â°À­¤Ë¤è¤ëÁêÀ­¤ÎȽÄê¤ò¹Ô¤¦µ¡Ç½¤òÄɲ乤ë

£±¡¥Àß·×


¡¡³Æ¥Ç¡¼¥¿¤Ë°À­¤Î¼ïÎà¤òÅÐÏ¿¤·¤Þ¤·¤¿¡£¤³¤Î¾ðÊó¤ò¸µ¤Ë¤·¤Æ¡¢ElementDataSO ¥¹¥¯¥ê¥×¥¿¥Ö¥ë¡¦¥ª¥Ö¥¸¥§¥¯¥È¤«¤é
ɬÍפÊ°À­¤Î¾ðÊó¤ò»²¾È¤·¤Æ¸¡º÷¤¹¤ëÊýË¡¤Ç¡¢Â°À­¤Î¾ðÊó¤òÆÃÄꤷ¤Þ¤¹¡£
¤³¤Î£±¤Ä¤Î¾ðÊó¤ò¸µ¤Ë¥Ç¡¼¥¿¥Ù¡¼¥¹Æâ¤ò¸¡º÷¤·¥Ç¡¼¥¿¤òÆÃÄꤹ¤ë¼êË¡¤Ï¥¨¥Í¥ß¡¼¤ä¥Ð¥ì¥Ã¥È¤ÎºÝ¤ÈƱ¤¸¤â¤Î¤Ç¤¹¡£

¡¡º£²óºîÀ®¤·¤¿Â°À­¤Î¾ðÊó¤Ï¡¢¥¨¥Í¥ß¡¼Â¦¡¢¤½¤·¤Æ¥×¥ì¥¤¥ä¡¼Â¦¤ÎξÊý¤Ç³èÍѤ·¤¿¤¤¾ðÊó¤Ë¤Ê¤ê¤Þ¤¹¡£
Î㤨¤Ð¡¢¥×¥ì¥¤¥ä¡¼Â¦¤¬È¯¼Í¤·¤¿¥Ð¥ì¥Ã¥È¤Î°À­¤È¡¢¤½¤ì¤¬¤Ö¤Ä¤«¤Ã¤¿¥¨¥Í¥ß¡¼¤Î°À­¤Î¾ðÊó¤ÎξÊý¤ò³Îǧ¤·¤Æ¡¢
¤½¤ÎÁêÀ­¤È¤Ê¤ëɾ²Á¤ò¹Ô¤¦¤è¤¦¤ÊÀ߷פ¬¹¥¤Þ¤·¤¤¤È¹Í¤¨¤é¤ì¤Þ¤¹¡£¤½¤·¤Æ¡¢¤½¤ÎµÕ¤Î½èÍý¤â¹Ô¤¤¤¿¤¤¤Ç¤¹¡£

¡¡¤½¤¦¤Ê¤Ã¤¿¾ì¹ç¡¢Â°À­´Ö¤ÎÁêÀ­¤Îɾ²Á¡¦È½Äê¤ò¹Ô¤¦½èÍý¤ò¤É¤Î¥¹¥¯¥ê¥×¥È¤Ë½àÈ÷¤¹¤ë¤«¤ò¤·¤Ã¤«¤ê¤È¹Í¤¨¤ÆÀ߷פò¤·¤Æ¤¤¤¯É¬Íפ¬¤¢¤ê¤Þ¤¹¡£
¥×¥ì¥¤¥ä¡¼Â¦¤È¥¨¥Í¥ß¡¼Â¦¤¬¶¦Í­¤·¤ÆÍøÍѤǤ­¤ë¥¹¥¯¥ê¥×¥È¤¬¤¢¤Ã¤Æ¡¢¤½¤Î¥¹¥¯¥ê¥×¥È¤Ï¤É¤Á¤é¤Î¥¹¥¯¥ê¥×¥È¤«¤é¤Ç¤â¼«Í³¤Ë»²¾È¤Ç¤­¤ë¤è¤¦¤Ë¤¹¤ë¥¤¥á¡¼¥¸¤Ç¤¹¡£
¤³¤Î¥í¥¸¥Ã¥¯¤ò¹Í¤¨¤Æ¼ÂÁõ¤ò¹Ô¤¤¤Þ¤·¤ç¤¦¡£

¡¡¤¤¤¯¤Ä¤«¤ÎÊýË¡¤¬¹Í¤¨¤é¤ì¤Þ¤¹¡£

¡ã¼ÂÁõ°Æ¡ä
¡¡£±¡¥GameData ¥¯¥é¥¹¤Î¤è¤¦¤Ê¡¢¥·¥ó¥°¥ë¥È¥ó¥Ñ¥¿¡¼¥ó¤Î¥¯¥é¥¹¤ò¿·¤·¤¯ºîÀ®¤·¡¢¤½¤Á¤é¤Ë°À­´Ö¤ÎÁêÀ­¤òȽÄꤹ¤ë½èÍý¤ò¼ÂÁõ¤¹¤ë
¡¡£²¡¥GameData ¥¯¥é¥¹Æâ¤Ë¡¢Â°À­´Ö¤ÎÁêÀ­¤òȽÄꤹ¤ë½èÍý¤ò¼ÂÁõ¤¹¤ë
¡¡£³¡¥TransformHelper ¥¯¥é¥¹¤Î¤è¤¦¤Ê static ¤Ê¥¯¥é¥¹¤òºîÀ®¤·¡¢Â°À­´Ö¤ÎÁêÀ­¤òȽÄꤹ¤ë½èÍý¤ò¼ÂÁõ¤¹¤ë

¡¡¶µºà¤È¤·¤Æ¤Ï¥¯¥é¥¹¤ÎÌò³äʬô¤Î´ÑÅÀ¤è¤ê¡¢¡Ú£³¡Û¤Î¼ê½ç¤Ç¤Î¼ÂÁõ¤ò¹Í¤¨¤Þ¤¹¡£¼ÂºÝ¤Ë¤Ï¤É¤ÎÊýË¡¤Ç¼ÂÁõ¤·¤Æ¤¤¤¿¤À¤¤¤Æ¤â¹½¤¤¤Þ¤»¤ó¡£
¼«Ê¬¤¬»î¤·¤¿¤¤¤â¤Î¤ò¼ÂÁõ¤·¤Æ¤ß¤Æ¤¯¤À¤µ¤¤¡£¤Þ¤¿¡¢Ê£¿ô¤Î¼ÂÁõÊýË¡¤ò»î¤·¤Æ¤¤¤¿¤À¤­¡¢¤½¤ì¤¾¤ì¤Î½èÍý¤¬Àµ¾ï¤ËÆ°ºî¤¹¤ë¤«³Îǧ¤¹¤ë¤³¤È¤â
Èó¾ï¤Ë¤è¤¤³Ø½¬¤Ë¤Ê¤ê¤Þ¤¹¡£¶µºà¤Ë¤Ê¤¤¤³¤È¤Ï»î¤µ¤Ê¤¤¡¢¤Î¤Ç¤Ê¤¯¡¢¤¢¤¯¤Þ¤Ç¤â¼«Ê¬¤Ç¶½Ì£¤ò»ý¤Ã¤Æ¤½¤³¤Ë¼è¤êÁȤࡢ¤È¤¤¤¦¼çÂÎÀ­¤ò»ý¤Ã¤ÆÀ½ºî¤ò¤·¤Æ¤¯¤À¤µ¤¤¡£


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


¡¡¤¤¤º¤ì¤Î¥¹¥¯¥ê¥×¥È¤«¤é¤Ç¤â»²¾È²Äǽ¤Ë¤Ê¤ë static ¤Ê¥¯¥é¥¹¤òºîÀ®¤·¡¢½èÍý¤ò¹Ô¤¦ static ¤Ê¥á¥½¥Ã¥É¤òÍÑ°Õ¤·¤Þ¤¹¡£

¡¡TransformHelper ¥¹¥¯¥ê¥×¥È¤òºîÀ®¤·¤¿¤È¤­¤Î¼ê½ç¤ò¿¶¤êÊÖ¤ê¤Ê¤¬¤é½èÍý¤Î¼ÂÁõ¤ò¹Ô¤Ã¤Æ¤¯¤À¤µ¤¤¡£
ÍøÍÑÊýË¡¤âƱ¤¸¤Ë¤Ê¤ê¤Þ¤¹¡£¤Ä¤Þ¤ê¡¢ÊÑ¿ô¤ËÂåÆþ¤¹¤ë½èÍý¤ÏÉÔÍפȤʤꡢ¡Östatic ¥¯¥é¥¹Ì¾.static ¥á¥½¥Ã¥É̾¡×¤Ç½èÍý¤ò¼Â¹Ô¤Ç¤­¤Þ¤¹¡£


ElementCompatibilityHelper.cs

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


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

¡¡½èÍý¤ÎÆâÍƤò¤·¤Ã¤«¤ê¤ÈÆɤ߲ò¤¤¤Æ¤«¤é¼¡¤Ë¿Ê¤ß¤Þ¤·¤ç¤¦¡£



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

¡¡¼¡¤Ï¡¡È¯Å¸£³£´¡¡¡Ý°À­¤ÎÍ×ÁǤα¿ÍÑ¡Ý¡¡¤Ç¤¹¡£

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


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

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

Menu



´ðÁÃ

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

private



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

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