ºÇ½ª¹¹¿·¡§
orika_ex_miyako 2022ǯ12·î01Æü(ÌÚ) 13:59:49ÍúÎò
¡¡Start ¥á¥½¥Ã¥É¤ä Awake ¥á¥½¥Ã¥É¤¬Ê£¿ô¤Î¥¯¥é¥¹¤Ë´Þ¤Þ¤ì¤Æ¤¤¤ë¾ì¹ç¡¢¤½¤ì¤é¤Ï Unity ¤ò¼Â¹Ô¤·¤¿ºÝ¤Ë½çÈ֤˽èÍý¤µ¤ì¤Æ¤¤¤¤Þ¤¹¤¬¡¢
¤É¤Î¥¯¥é¥¹¤òÍ¥À褷¤Æ½çÈ֤ǽèÍý¤·¤Æ¤¤¤¯¤«¤Ï Unity ¼¡Âè¤Ç¤¢¤ê¡¢¤³¤Á¤é¤Î°Õ¿Þ¤·¤Æ¤¤¤ë½èÍý¤Î½çÈ֤ˤϤʤê¤Þ¤»¤ó¡£
¤½¤Î¤¿¤á¡¢½èÍý¤·¤ÆÍߤ·¤¤½çÈÖ¤¬Á°¸å¤·¤Æ¤·¤Þ¤Ã¤¿ºÝ¤Ë¡¢ÉÔ¶ñ¹ç¤¬À¸¤¸¤ë¤³¤È¤¬¤¢¤ê¤Þ¤¹¡£
(A ¤Î¥¯¥é¥¹¤Î Start ¥á¥½¥Ã¥É¤Î½èÍý¤¬Àè¤Ë²ò·è¤µ¤ì¤ë¾ì¹ç¡¢B ¤Î¥¯¥é¥¹¤Î Start ¥á¥½¥Ã¥É¤Ë¤¢¤ë½èÍý¤¬Àµ¾ï¤Ëưºî¤·¤Ê¤¤¡¢¤È¤¤¤¦¥±¡¼¥¹¤¬È¯À¸¤·¤Þ¤¹¡£)
¡¡¤³¤¦¤¤¤Ã¤¿¥±¡¼¥¹¤ò²óÈò¤·¡¢¤«¤Ä¡¢¥×¥í¥°¥é¥à¤òµ½Ò¤¹¤ë¥¨¥ó¥¸¥Ë¥¢¤Î°Õ¿Þ(½èÍý¤Î½çÈÖ)¤òÈ¿±Ç¤·¤¿½èÍý¤Îή¤ì¤òºî¤ê½Ð¤¹ÊýË¡¤Î£±¤Ä¤È¤·¤Æ¡¢
¥¨¥ó¥È¥ê¡¼¥Ý¥¤¥ó¥È¤È¤¤¤¦¹Í¤¨Êý¤È¡¢¤½¤ì¤òÍøÍѤ·¤¿Àß·×ÊýË¡¤¬¤¢¤ê¤Þ¤¹¡£
¡¡¥¨¥ó¥È¥ê¡¼¥Ý¥¤¥ó¥È¤Ç¤Ï¡¢Start ¥á¥½¥Ã¥É¤ä Awake ¥á¥½¥Ã¥É¤ò£±¤Ä¤Î¥¯¥é¥¹¤Î¤ß¤Ë¸ÂÄꤷ¡¢
¤½¤Î Start ¥á¥½¥Ã¥É¤ä Awake ¥á¥½¥Ã¥É¤«¤é½èÍý¤ò¹Ô¤¤¤¿¤¤½çÈ֤˳ƥ¯¥é¥¹¤Î¥á¥½¥Ã¥É¤ò¼Â¹Ô¤·¤Æ¤¤¤¯¤È¤¤¤¦¼êË¡¤¬¼ÂÁõ½ÐÍè¤Þ¤¹¡£
¡¡¤³¤¦¤¤¤Ã¤¿¤È¤¤ËÌòΩ¤Ä¤Î¤¬¥¤¥ó¥¿¡¼¥Õ¥§¡¼¥¹¤Îµ¡Ç½¤Ç¤¹¡£
¡¡¥¤¥ó¥¿¡¼¥Õ¥§¡¼¥¹¤Ë¤Ä¤¤¤Æ¤Ï¡¢¿§¡¹¤Ê¥µ¥¤¥È¤Ë²òÀ⤬¤¢¤ê¤Þ¤¹¤Î¤Ç¡¢¤½¤Á¤é¤â»²¹Í¤Ë¤·¤Æ¤¯¤À¤µ¤¤¡£
MicroSoft
interface (C# ¥ê¥Õ¥¡¥ì¥ó¥¹)
̤³ÎǧÈô¹Ô CÍÍ
¥¤¥ó¥¿¡¼¥Õ¥§¡¼¥¹
¥µ¥à¥é¥¤¥¨¥ó¥¸¥Ë¥¢¥Ö¥í¥°ÍÍ
¡ÚC#¡Û¥¤¥ó¥¿¡¼¥Õ¥§¡¼¥¹¤Ã¤Æ²¿¡©´ðÁ䫤餷¤Ã¤«¤ê²òÀ⤷¤Æ¤ß¤¿¡ª
IEntryRun.cs
¡¡IEnrtyRun ¤Ï¥¤¥ó¥¿¡¼¥Õ¥§¡¼¥¹¤Ç¤¹¤Î¤Ç¡¢Â¾¤Î¥¯¥é¥¹¤Ë¼ÂÁõ(°ì½ï¤ËÍøÍÑ)¤¹¤ë¤¿¤á¤Îµ¡Ç½¤Ç¤¹¡£
¡¡¤Þ¤¿ MonoBehaviour ¤ò·Ñ¾µ¤·¤Æ¤¤¤Þ¤»¤ó¤Î¤Ç¡¢¤³¤Î¥¤¥ó¥¿¡¼¥Õ¥§¡¼¥¹Ã±ÂΤò¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤Ë¥¢¥¿¥Ã¥Á¤¹¤ë¤³¤È¤Ï½ÐÍè¤Þ¤»¤ó¡£
¥¤¥ó¥¿¡¼¥Õ¥§¡¼¥¹¤ò¼ÂÁõ¤·¤¿¥¯¥é¥¹¤¬ MonoBehaviour ¤ò·Ñ¾µ¤·¤Æ¤¤¤ë¾ì¹ç¤Ë¤Ï¡¢¤½¤Î¥¯¥é¥¹¤ò¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤Ë¥¢¥¿¥Ã¥Á¤¹¤ë¤³¤È¤¬½ÐÍè¤Þ¤¹¡£
¤½¤Î¾ì¹ç¡¢¥¤¥ó¥¹¥Ú¥¯¥¿¡¼¤«¤éľÀܳÎǧ¤Ï½ÐÍè¤Þ¤»¤ó¤¬¡¢¥¤¥ó¥¿¡¼¥Õ¥§¡¼¥¹¤Îµ¡Ç½¤â¹ç¤ï¤»¤Æ¼ÂÁõ¤µ¤ì¤Þ¤¹¡£
¡¡º£²ó¤Î¼ÂÁõÎã¤Ç¤Ï¡¢¥¤¥ó¥¿¡¼¥Õ¥§¡¼¥¹¤Î¼ÂÁõ¤·¤Æ¤¤¤ë¥¯¥é¥¹¤¬¥¢¥¿¥Ã¥Á¤µ¤ì¤Æ¤¤¤ë¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤ò¡¢¥¤¥ó¥¹¥Ú¥¯¥¿¡¼¤«¤é¥¢¥µ¥¤¥ó¤·¤ÆÍøÍѤ·¤Þ¤¹¡£
¥¤¥ó¥¿¡¼¥Õ¥§¡¼¥¹¤Ï Serialize ¤ò¹Ô¤Ã¤Æ¤â¥¤¥ó¥¹¥Ú¥¯¥¿¡¼¤Ë¤Ïɽ¼¨¤µ¤ì¤Þ¤»¤ó¡£¤³¤Á¤é¤Î̵ÎÁ¤Î¥¢¥»¥Ã¥È¤òƳÆþ¤·¤Æ¤¯¤À¤µ¤¤¡£Serialize ¤·¤¿¥¤¥ó¥¿¡¼¥Õ¥§¡¼¥¹¤¬¥¤¥ó¥¹¥Ú¥¯¥¿¡¼¤Ëɽ¼¨¤µ¤ì¤ë¤è¤¦¤Ë¤Ê¤ê¤Þ¤¹¡£
¡¡¤¢¤ë¤¤¤Ï¥¢¥»¥Ã¥È¥¹¥È¥¢¤Ë¤ÆÍÎÁ¤Î¥¢¥»¥Ã¥È¤Ç¤¢¤ë Odin Inspector and Serializer ¤ò¤´ÍøÍѤ¯¤À¤µ¤¤¡£
¡ãSerializableInterface¡ä
https://github.com/Thundernerd/Unity3D-Serializabl...
Odin Inspector and Serializer


¡¡¾åµ¤Î SerializableInterface ¤òÍøÍѤ·¤Æ¡¢EntryPoint ¥¯¥é¥¹¤òºîÀ®¤·¤Þ¤¹¡£
EntryPoint.cs
¡¡SerializableInterface ¤Ë¤è¤Ã¤ÆÄêµÁ¤µ¤ì¤¿¥¤¥ó¥¿¡¼¥Õ¥§¡¼¥¹¤Ï¡¢¥¤¥ó¥¿¡¼¥Õ¥§¡¼¥¹Ì¾.Value ¤Èµ½Ò¤¹¤ë¤³¤È¤ÇÍøÍѤǤ¤Þ¤¹¡£
²Ã¤¨¤Æº£²ó¤Ï¡¢Value ¤ÎÃͤ¬ null ¤Ç¤Ï¤Ê¤¤¤«¤òȽÄꤷ¡¢null ¤Ç¤Ï¤Ê¤¤¾ì¹ç¤Î¤ß EntryRun ¥á¥½¥Ã¥É¤ò¼Â¹Ô¤¹¤ë¤è¤¦¤Ë¤·¤Æ¤¤¤Þ¤¹¡£
entry.Value?.EntryRun();
¡¡¤¹¤Ç¤Ë¥¯¥é¥¹¤¬¤¢¤ë¾ì¹ç¤Ë¤Ï¡¢¤½¤Á¤é¤Ë IEnrtyRun ¥¤¥ó¥¿¡¼¥Õ¥§¡¼¥¹¤ò¼ÂÁõ¤·¤Æ¤¯¤À¤µ¤¤¡£
¡¡º£²ó¤ÏÎã¤È¤·¤Æ£²¤Ä¤Î¥¯¥é¥¹¤òÍѰդ·¤Æ¤¤¤Þ¤¹¤Î¤Ç¡¢¤³¤Á¤é¤â³èÍѤ¯¤À¤µ¤¤¡£
»ØÄꤷ¤¿½çÈÖÄ̤ê¤Ë½èÍý¤¬Æ°¤¤¤Æ¤¤¤ë¤«¤É¤¦¤«¤ò³Îǧ¤¹¤ë¤¿¤á¡¢Ê£¿ô¤Î¥¯¥é¥¹¤Ë IEnrtyRun ¥¤¥ó¥¿¡¼¥Õ¥§¡¼¥¹¤ò¼ÂÁõ¤·¤Æ¥Ç¥Ð¥Ã¥°¤¹¤ëɬÍפ¬¤¢¤ë¤¿¤á¤Ç¤¹¡£
SoundManager.cs
UserData.cs
EntryPoint ¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤Î EntryPoint ¥¯¥é¥¹¤Ë¤¢¤ë EntryList ¤Ë¡¢IEntryRun ¥¤¥ó¥¿¡¼¥Õ¥§¡¼¥¹¤ò¼ÂÁõ¤·¤Æ¤¤¤ë¥¯¥é¥¹¤¬¥¢¥¿¥Ã¥Á¤µ¤ì¤Æ¤¤¤ë¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤ò¥¢¥µ¥¤¥ó¤¹¤ë 
¡¡EntryPoint ¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤Î EntryPoint ¥¯¥é¥¹¤Ë¤¢¤ë EntryList ¤Î Size ¤ò 0 ¤«¤é 2 ¤ËÊѹ¹¤·¤Þ¤¹¡£
¤³¤Î¿ô¤Ï IEntryRun ¥¤¥ó¥¿¡¼¥Õ¥§¡¼¥¹¤ò¼ÂÁõ¤·¤Æ¤¤¤ë¥¯¥é¥¹¤Î¿ô¤Ë±þ¤¸¤ÆÊѲ½¤µ¤»¤Æ¤¯¤À¤µ¤¤¡£(º£²ó¤Ï SoundManager ¤È UserData ¤Î£²¤Ä¤À¤±¤Ê¤Î¤Ç 2 ¤Ç¤¹¡£)
¤½¤Á¤é¤ËºîÀ®¤·¤Æ¤ª¤¤¤¿ IEntryRun ¥¤¥ó¥¿¡¼¥Õ¥§¡¼¥¹¤ò¼ÂÁõ¤·¤Æ¤¤¤ë¥¯¥é¥¹¤¬¥¢¥¿¥Ã¥Á¤µ¤ì¤Æ¤¤¤ë¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤ò¥¢¥µ¥¤¥ó¤·¤Þ¤¹¡£
¡¡¤³¤Î¤È¤¡¢¥¢¥µ¥¤¥ó¤·¤¿½çÈÖ¤Ë IEntryRun ¤¬¼Â¹Ô¤µ¤ì¤Þ¤¹¡£
¥¤¥ó¥¹¥Ú¥¯¥¿¡¼²èÁü

- ¥«¥Æ¥´¥ê¡§
- ¿Ê³Ø/¥¹¥¯¡¼¥ë
- ¥×¥í¥°¥é¥ß¥ó¥°
¥³¥á¥ó¥È¤ò¤«¤¯