ºÇ½ª¹¹¿·¡§
orika_ex_miyako 2023ǯ12·î12Æü(²Ð) 08:50:11ÍúÎò
¡¡Start ¥á¥½¥Ã¥É¤ä Awake ¥á¥½¥Ã¥É¤¬Ê£¿ô¤Î¥¯¥é¥¹¤Ë´Þ¤Þ¤ì¤Æ¤¤¤ë¾ì¹ç¡¢¤½¤ì¤é¤Ï Unity ¤ò¼Â¹Ô¤·¤¿ºÝ¤Ë½çÈ֤˽èÍý¤µ¤ì¤Æ¤¤¤¤Þ¤¹¤¬¡¢
¤É¤Î¥¯¥é¥¹¤òÍ¥À褷¤Æ½çÈ֤ǽèÍý¤·¤Æ¤¤¤¯¤«¤Ï Unity ¼¡Âè¤Ç¤¢¤ê¡¢¤³¤Á¤é¤Î°Õ¿Þ¤·¤Æ¤¤¤ë½èÍý¤Î½çÈ֤ˤϤʤê¤Þ¤»¤ó¡£
¤½¤Î¤¿¤á¡¢½èÍý¤·¤ÆÍߤ·¤¤½çÈÖ¤¬Á°¸å¤·¤Æ¤·¤Þ¤Ã¤¿ºÝ¤Ë¡¢ÉÔ¶ñ¹ç¤¬À¸¤¸¤ë¤³¤È¤¬¤¢¤ê¤Þ¤¹¡£
(A ¤Î¥¯¥é¥¹¤Î Start ¥á¥½¥Ã¥É¤Î½èÍý¤¬Àè¤Ë²ò·è¤µ¤ì¤ë¾ì¹ç¡¢B ¤Î¥¯¥é¥¹¤Î Start ¥á¥½¥Ã¥É¤Ë¤¢¤ë½èÍý¤¬Àµ¾ï¤Ëưºî¤·¤Ê¤¤¡¢¤È¤¤¤¦¥±¡¼¥¹¤¬È¯À¸¤·¤Þ¤¹¡£)
¡¡¤Þ¤¿¡¢½èÍý¤Î½çÈÖ¤¬½çÉÔÆ±¤Ç¤¢¤ë¤¿¤á¡¢Ê£¿ô¤Î¥¯¥é¥¹Æâ¤Ë Start ¥á¥½¥Ã¥É¤¬Â¸ºß¤¹¤ë¾ì¹ç¡¢¤É¤Î¥¯¥é¥¹¤Î Start ¤¬À®¸ù¤·¡¢¤É¤Î¥¯¥é¥¹¤Î Start ¤¬Æ°ºî¤·¤Æ¤¤¤Ê¤¤¤Î¤«¡¢
¤½¤ì¤ò³Î¤«¤á¤ëÊýË¡¤¬º¤Æñ¤Ç¤¹¡£¤½¤Î¤¿¤á¡¢¤¹¤Ù¤Æ¤Î Start ¥á¥½¥Ã¥ÉÆâ¤Ë Debug.Log ¥á¥½¥Ã¥É¤òÇÛÃÖ¤¹¤ë¤È¤¤¤Ã¤¿Âбþ¤¬É¬Íפˤâ¤Ê¤ê¤Þ¤¹¡£
¡¡¤³¤¦¤¤¤Ã¤¿¥±¡¼¥¹¤ò²óÈò¤·¡¢¤«¤Ä¡¢¥×¥í¥°¥é¥à¤òµ½Ò¤¹¤ë¥¨¥ó¥¸¥Ë¥¢¤Î°Õ¿Þ(½èÍý¤Î½çÈÖ)¤òÈ¿±Ç¤·¤¿½èÍý¤Îή¤ì¤òºî¤ê½Ð¤¹ÊýË¡¤Î£±¤Ä¤È¤·¤Æ¡¢
¥¨¥ó¥È¥ê¡¼¥Ý¥¤¥ó¥È¤È¤¤¤¦¹Í¤¨Êý¤È¡¢¤½¤ì¤òÍøÍѤ·¤¿Àß·×ÊýË¡¤¬¤¢¤ê¤Þ¤¹¡£
¡¡¥¨¥ó¥È¥ê¡¼¥Ý¥¤¥ó¥È¤Ç¤Ï¡¢Start ¥á¥½¥Ã¥É¤ä Awake ¥á¥½¥Ã¥É¤ò£±¤Ä¤Î¥¯¥é¥¹¤Î¤ß¤Ë¸ÂÄꤷ¡¢
¤½¤Î Start ¥á¥½¥Ã¥É¤ä Awake ¥á¥½¥Ã¥É¤«¤é½èÍý¤ò¹Ô¤¤¤¿¤¤½çÈ֤˳ƥ¯¥é¥¹¤Î¥á¥½¥Ã¥É¤ò¼Â¹Ô¤·¤Æ¤¤¤¯¤È¤¤¤¦¼êË¡¤¬¼ÂÁõ½ÐÍè¤Þ¤¹¡£
¡¡°Õ¿Þ¤·¤Æ¤¤¤ë½çÈÖÄ̤ê¤Ë½èÍý¤¬Æ°¤¯¤³¤È¤¬Êݾڤµ¤ì¤ë¤³¤È¤Ë¤è¤ê¡¢Ê£¿ô¤Î¥¯¥é¥¹¤¬Æ°¤½Ð¤¹½çÈÖ¤ò¥¨¥ó¥¸¥Ë¥¢Â¦¤ÇÀ©¸æ¤¹¤ë¤³¤È¤¬²Äǽ¤Ë¤Ê¤ê¤Þ¤¹¤Î¤Ç¡¢
ư¤¤¤Æ¤¤¤ë½èÍý¤Èư¤¤¤Æ¤¤¤Ê¤¤½èÍý¤¬ÌÀ³Î¤Ë¤Ê¤ê¤Þ¤¹¡£½èÍý¤òÄɤ¤¤«¤±¤ä¤¹¤¤¤È¤¤¤¦¤³¤È¤Ï¡¢¥¨¥é¡¼¤ÎÆÃÄê¤â¤·¤ä¤¹¤¤¡¢¤È¤¤¤¦¤³¤È¤Ë¤Ä¤Ê¤¬¤ê¤Þ¤¹¡£
¡¡¤³¤¦¤¤¤Ã¤¿¤È¤¤ËÌòΩ¤Ä¤Î¤¬¥¤¥ó¥¿¡¼¥Õ¥§¡¼¥¹¤Îµ¡Ç½¤Ç¤¹¡£
¡¡¥¤¥ó¥¿¡¼¥Õ¥§¡¼¥¹¤Ë¤Ä¤¤¤Æ¤Ï¡¢¿§¡¹¤Ê¥µ¥¤¥È¤Ë²òÀ⤬¤¢¤ê¤Þ¤¹¤Î¤Ç¡¢¤½¤Á¤é¤â»²¹Í¤Ë¤·¤Æ¤¯¤À¤µ¤¤¡£
¡¡¥×¥í¥°¥é¥àÆâ¤Ë¡Ö¶¦Ä̤Υ롼¥ë¤òºî¤ê¡¢Æ±¤¸Æ°ºî(¥á¥½¥Ã¥É)¤ò¼Â¹Ô¤·¡¢ÆâÉô¤Î¿¶¤ëÉñ¤¤¤òÊѤ¨¤ë¡×¤È¤¤¤¦¹Í¤¨¤Ç¤¹¡£
¤½¤Î¤¿¤á¡¢¥¤¥ó¥¿¡¼¥Õ¥§¡¼¥¹¤Ç¤Ï¥á¥½¥Ã¥É(¤ª¤è¤Ó¥×¥í¥Ñ¥Æ¥£)¤ÎÄêµÁ¤Î¤ß¤¬½ÐÍè¡¢¼ÂºÝ¤Î¥á¥½¥Ã¥É¤ÎÆâÍÆ¤Ï¼ÂÁõ¤·¤¿¥¯¥é¥¹¤ËǤ¤µ¤ì¤Þ¤¹¡£
¡¡¸½¼ÂÀ¤³¦¤Ë¤â¿¤¯¤ÎʬÌî¤Ç¥¤¥ó¥¿¡¼¥Õ¥§¡¼¥¹¤Î³µÇ°¤¬ÍøÍѤµ¤ì¤Æ¤¤¤Þ¤¹¡£
¥³¥ó¥»¥ó¥È¤Îº¹¤·¹þ¤ß¸ý¤ÈÅŲ½À½ÉʤΥ³¥ó¥»¥ó¥È¡¢Nintendo Switch ËÜÂΤȥ½¥Õ¥È¤Ê¤É¤Î´Ø·¸À¤â¥¤¥ó¥¿¡¼¥Õ¥§¡¼¥¹¤Î¹Í¤¨Êý¤Ç¤¹¡£
MicroSoft
interface (C# ¥ê¥Õ¥¡¥ì¥ó¥¹)
̤³ÎǧÈô¹Ô CÍÍ
¥¤¥ó¥¿¡¼¥Õ¥§¡¼¥¹
¥µ¥à¥é¥¤¥¨¥ó¥¸¥Ë¥¢¥Ö¥í¥°ÍÍ
¡ÚC#¡Û¥¤¥ó¥¿¡¼¥Õ¥§¡¼¥¹¤Ã¤Æ²¿¡©´ðÁ䫤餷¤Ã¤«¤ê²òÀ⤷¤Æ¤ß¤¿¡ª
¡¡IEnrtyRun ¤Ï¥¤¥ó¥¿¡¼¥Õ¥§¡¼¥¹¤Ç¤¹¤Î¤Ç¡¢Â¾¤Î¥¯¥é¥¹¤Ë¼ÂÁõ(°ì½ï¤ËÍøÍÑ)¤¹¤ë¤¿¤á¤Îµ¡Ç½¤Ç¤¹¡£
IEntryRun.cs
¡¡¥¤¥ó¥¿¡¼¥Õ¥§¡¼¥¹¤ÏÃê¾ÝŪ¤Ê³µÇ°¤Ç¤¢¤ë¤¿¤á¡¢¤½¤ìñÂΤǤÏÍøÍѤ¹¤ë¤³¤È¤Ï½ÐÍè¤Þ¤»¤ó¡£
ɬ¤ºÂ¾¤Î¥¯¥é¥¹¤Ë¼ÂÁõ¤¹¤ë·Á¤ÇÍøÍѤ·¤Þ¤¹¡£¤³¤ì¤ÏÃê¾Ý¥¯¥é¥¹¤ÈƱÍͤΥ롼¥ë¤Ç¤¹¡£
¡¡¤Þ¤¿ 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 ¤¬¼Â¹Ô¤µ¤ì¤Þ¤¹¡£
¥¤¥ó¥¹¥Ú¥¯¥¿¡¼²èÁü

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