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

¡¡°ú¤­Â³¤­¡¢¼ÂÁõ¤ò¹Ô¤Ã¤¿¥¤¥Ù¥ó¥ÈÍѤΥǡ¼¥¿¥Ù¡¼¥¹¤Ç¤¢¤ë EventDataSO ¥¹¥¯¥ê¥×¥¿¥Ö¥ë¡¦¥ª¥Ö¥¸¥§¥¯¥È¤ò¥²¡¼¥àÆâ¤Ç³èÍѤ¹¤ë½èÍý¤Ë¤Ä¤¤¤Æ¼ÂÁõ¤ò¹Ô¤¤¤Þ¤¹¡£


¡ã¼ÂÁõÆ°²è¡ä
Æ°²è¥Õ¥¡¥¤¥ë¤Ø¤Î¥ê¥ó¥¯


¼ê½ç£±£´¡¡¡Ý¥¤¥Ù¥ó¥ÈÍѤΥǡ¼¥¿¥Ù¡¼¥¹¤ÎÍøÍÑ¡Ý
£²£´¡¥DialogController ¥¹¥¯¥ê¥×¥È¤È NonPlayerCharacter ¥¹¥¯¥ê¥×¥È¤ò½¤Àµ¤·¤Æ¡¢EventData ¤Î¾ðÊó¤ò»²¾È¤¹¤ë½èÍý¤ËÊѹ¹¤¹¤ë


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

¡¡¡¦¥¹¥¯¥ê¥×¥¿¥Ö¥ë¡¦¥ª¥Ö¥¸¥§¥¯¥È¤òÍøÍѤ¹¤ëÊýË¡
¡¡¡¦°ú¿ô¤ÈÌá¤êÃͤò»È¤Ã¤¿½èÍý¤Î¼ÂÁõÎã



£²£´¡¥DialogController ¥¹¥¯¥ê¥×¥È¤È NonPlayerCharacter ¥¹¥¯¥ê¥×¥È¤ò½¤Àµ¤·¤Æ¡¢EventData ¤Î¾ðÊó¤ò»²¾È¤¹¤ë½èÍý¤ËÊѹ¹¤¹¤ë

£±¡¥Àß·×


¡¡EventDataSO ¥¹¥¯¥ê¥×¥¿¥Ö¥ë¡¦¥ª¥Ö¥¸¥§¥¯¥È¤ò¥²¡¼¥àÆâ¤ÇÍøÍѤǤ­¤ë¾õÂ֤ˤ·¤Þ¤·¤¿¤Î¤Ç¡¢
¤³¤Î¼ê½ç¤Ç¤Ï¼ÂºÝ¤Ë¤½¤Î¾ðÊó¤ò³èÍѤ·¤Æ¤¤¤¯½èÍý¤ÎÀ߷פò¹Ô¤Ã¤Æ¼ÂÁõ¤ò¹Ô¤¤¤Þ¤¹¡£

¡¡¸½ºß¡¢NPC ÍѤβñÏÃ¥¤¥Ù¥ó¥È¤Î¥Ç¡¼¥¿¤È¤·¤Æ¥²¡¼¥àÆâ¤ÇÍøÍѤµ¤ì¤Æ¤¤¤ë¾ðÊó¤Ï¡¢DialogController ¥¹¥¯¥ê¥×¥È¤Ë¤¢¤ë¡¢°Ê²¼¤Î£²¤Ä¤Î¾ðÊó¤Ç¤¹¡£

¡¡¡¡[SerializeField]
    private string titleName = "dog";

    [SerializeField]
    private string dialog = "¥ï¥ó¥ï¥ó!";

¡¡¤¤¤Þ¤Þ¤Ç¤Ï¤³¤Á¤é¤ÎÊÑ¿ô¤ËÂФ·¤Æ¥¤¥ó¥¹¥Ú¥¯¥¿¡¼¤è¤êÀßÄê¤ò¹Ô¤Ã¤Æ¿ôÃͤò·è¤á¤Æ¤¤¤Þ¤·¤¿¡£
¤½¤Î¤¿¤á¡¢£²¤Ä°Ê¾å¤Î NCP ÍÑ¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤òºîÀ®¤·¤¿¾ì¹ç¡¢¤½¤ÎÅÔÅÙ¡¢¤³¤ÎÉôʬ¤ËľÀܥǡ¼¥¿¤òÂǤÁ¹þ¤ó¤ÇÅÐÏ¿¤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£
¿ôÂΤʤé¤Ð´ÉÍý¤Ç¤­¤Þ¤¹¤¬¡¢¤³¤ì¤¬¥²¡¼¥àÁ´ÂΤ˿ô½½ÂÎÅо줵¤»¤ë¤È¤Ê¤ë¤È¡¢ÅÐÏ¿°Ê¾å¤Ë´ÉÍý¤¬Æñ¤·¤¤¾õÂ֤ˤʤê¤Þ¤¹¡£
¡¡


¡¡¤³¤ÎÀßÄê¤ÎÉôʬ¤Ë¡¢º£²óºîÀ®¤·¤¿ EventDataSO ¥¹¥¯¥ê¥×¥¿¥Ö¥ë¡¦¥ª¥Ö¥¸¥§¥¯¥È¤Î²ñÏÃ¥¤¥Ù¥ó¥È¤Î¥Ç¡¼¥¿¤òÍøÍѤ¹¤ë¤è¤¦¤Ë½èÍý¤ÎÊѹ¹¤ò¹Ô¤¤¤Þ¤¹¡£
NPC ¤Î²ñÏÃ¥¤¥Ù¥ó¥È¤ÎÆâÍÆ¡¦¾ðÊó¤ËÂФ·¤Æ¡¢²ñÏÃ¥¤¥Ù¥ó¥È¤Î¥Ç¡¼¥¿¤òÈ¿±Ç¤¹¤ë¤³¤È¤Ë¤è¤Ã¤Æ²ñÏÃ¥¤¥Ù¥ó¥È¤Î¿¶¤ëÉñ¤¤¤òÊѹ¹¤·¤Þ¤¹¡£

¡¡¤³¤Î½èÍý¤ò¼«Æ°²½¤·¤Æ¡¢NPC ¤È²ñÏÃ¥¤¥Ù¥ó¥È¤Î¥Ç¡¼¥¿¤Î¾ðÊó¤Ë¹ç¤ï¤»¤Æ¡¢¥×¥ì¥¤¥ä¡¼¥­¥ã¥é¤¬Ïä·¤«¤±¤¿ºÝ¤Ë²ñÏÃ¥¤¥Ù¥ó¥È¤ÎÆâÍÆ(¿¶¤ëÉñ¤¤)¤¬¼«Æ°Åª¤ËÊѤï¤ë¤è¤¦¤Ë¤·¤Þ¤¹¡£

¡¡¤³¤Î¤è¤¦¤ÊÀ߷פˤ¹¤ë¤È¡¢£±¤Ä¤Î¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤ËÂФ·¤Æ¥Ç¡¼¥¿¥Ù¡¼¥¹¤ËÅÐÏ¿¤µ¤ì¤Æ¤¤¤ë¤¹¤Ù¤Æ¤Î²ñÏÃ¥¤¥Ù¥ó¥È¤òºî¤ê½Ð¤¹¤³¤È¤¬²Äǽ¤Ë¤Ê¤ê¤Þ¤¹¡£
¤³¤Î¼êË¡¤Ï¾¤Î¥Ç¡¼¥¿¥Ù¡¼¥¹¤Ç¤âƱ¤¸¤è¤¦¤ËÍøÍѤǤ­¤Þ¤¹¡£Î㤨¤Ð¡¢¥­¥ã¥éÍѤΥץì¥Õ¥¡¥Ö¤¬£±¤Ä¤¢¤ê¡¢¥­¥ã¥é¤Î¾ðÊó¤¬ÅÐÏ¿¤µ¤ì¤Æ¤¤¤ë¥¹¥¯¥ê¥×¥¿¥Ö¥ë¡¦¥ª¥Ö¥¸¥§¥¯¥È¤¬¤¢¤ì¤Ð
£±¤Ä¤Î¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤«¤é¡¢¥­¥ã¥éÍѤΥǡ¼¥¿¥Ù¡¼¥¹¤ËÅÐÏ¿¤µ¤ì¤Æ¤¤¤ë¤¹¤Ù¤Æ¤Î¥­¥ã¥é¤òºî¤ê½Ð¤·¡¢¤½¤Î¤è¤¦¤Ë¿¶¤ëÉñ¤ï¤»¤ë¤³¤È¤¬½ÐÍè¤Þ¤¹¡£

¡¡DialogController ¥¹¥¯¥ê¥×¥È¤Î½¤ÀµÆâÍƤȤ·¤Æ¤Ï¾åµ­¤ÎÆâÍƤˤʤê¤Þ¤¹¡£
¤³¤Á¤é¤Ç¤Ï¥²¡¼¥à²èÌ̤˾ðÊó¤òɽ¼¨¤¹¤ë½èÍý¤ò¹Ô¤¦Éôʬ¤ÏÊѤï¤ê¤Þ¤»¤ó¤¬¡¢¼õ¤±¼è¤Ã¤¿ EventData ¤Ë±þ¤¸¤Æ¡¢¿¶¤ëÉñ¤¤¤¬ÊѤï¤ë¤è¤¦¤Ë¤Ê¤ê¤Þ¤¹¡£

¡¡²ñÏÃ¥¤¥Ù¥ó¥È£±È֤ΠEventData ¤ò¾ðÊó¤È¤·¤Æ¼õ¤±¼è¤Ã¤Æ¤¤¤ë¾ì¹ç¤Ë¤Ï¡¢¤½¤Î EventData ¤ÎÆâÍƤòɽ¼¨¤¹¤ë¤è¤¦¤Ë¡¢
ɽ¼¨¤¹¤ëÆâÍƤÎÀ©¸æÊýË¡¤ò EventData ¤Î¾ðÊó¤Ë´ð¤Å¤¤¤¿Àß·×¥í¥¸¥Ã¥¯¤Ë½¤Àµ¤·¤Þ¤¹¡£



¡¡´Î¿´¤Î EventData ¤Ç¤¹¤¬¡¢DialogController ¥¹¥¯¥ê¥×¥È¦¤Ç¤Ï¡¢¤³¤Î¾ðÊó¤ò¼õ¤±¼è¤Ã¤ÆÍøÍѤò¤¹¤ëÀ߷פˤʤê¤Þ¤¹¡£
¤½¤Î¤¿¤á¡¢¤¤¤Þ¤Þ¤Ç¤Î¤è¤¦¤Ë¡¢DialogController ¥¹¥¯¥ê¥×¥È¼«ÂΤ˥ǡ¼¥¿¾ðÊó¤òÅÐÏ¿¤¹¤ëÊýË¡¤Ç¤Ï¤Ê¤¯¤Ê¤ê¤Þ¤¹¡£
¡¡
¡¡¤½¤¦¤Ê¤ë¤È¤¤¤º¤ì¤«¤Î¥¹¥¯¥ê¥×¥È¤Ç EventData ¤ò¼èÆÀ¤·¤Æ¡¢¤½¤Î¾ðÊó¤ò DialogController ¥¹¥¯¥ê¥×¥È¤Ø¤ÈÁ÷¤ë½èÍý¤¬É¬Íפˤʤê¤Þ¤¹¡£
¸½ºß¡¢DialogController ¥¹¥¯¥ê¥×¥È¤Î¾ðÊó¤Ï NonPlayerCharacter ¥¹¥¯¥ê¥×¥È¤Ë¤ª¤¤¤Æ´ÉÍý¤·¤Æ¤¤¤Þ¤¹¤Î¤Ç¡¢
¤³¤Á¤é¤Ë¤Æ EventData ¤ò¼èÆÀ¤·¤ÆÅÐÏ¿¤ò¹Ô¤¦¤è¤¦¤Ë¤·¡¢¤½¤Î¾ðÊó¤ò¥á¥½¥Ã¥É¤òÄ̤¸¤Æ¡¢DialogController ¥¹¥¯¥ê¥×¥È¤Ø¤ÈÁ÷¤Ã¤Æ¤â¤é¤¦À߷פò¹Í¤¨¤Þ¤¹¡£

¡¡°Ê¾å¤ÎÀ߷פ«¤é¡¢º£²ó¥¹¥¯¥ê¥×¥¿¥Ö¥ë¡¦¥ª¥Ö¥¸¥§¥¯¥È¤òÍøÍѤ·¤Æ½èÍý¤ò¼ÂÁõ¤·¤Æ¤¤¤¯¤¿¤á¤Ë¤Ï¡¢DialogController ¥¹¥¯¥ê¥×¥È¤À¤±¤Ç¤Ï¤Ê¤¯¡¢
NonPlayerCharacter ¥¹¥¯¥ê¥×¥È¤Ë¤â½èÍý¤Î½¤Àµ¤¬É¬Íפˤʤê¤Þ¤¹¡£



¡¡NonPlayerCharacter ¥¹¥¯¥ê¥×¥È¤Ç¤Ï¡¢¥¹¥¯¥ê¥×¥¿¥Ö¥ë¡¦¥ª¥Ö¥¸¥§¥¯¥È¤è¤ê EventData ¤ò¼èÆÀ¤·¤ÆÅÐÏ¿¤·¤Æ¤ª¤¯½èÍý¤ò¼ÂÁõ¤·¤Þ¤¹¡£
¤Þ¤¿¡¢DialogController ¥¹¥¯¥ê¥×¥È¤Î OpneDialog ¥á¥½¥Ã¥É¤ò¼Â¹Ô¤¹¤ëºÝ¤Ë¡¢°ú¿ô¤òÄ̤¸¤Æ EventData ¤òÁ÷¿®¤Ç¤­¤ë¤è¤¦¤Ë¤â½¤Àµ¤ò¹Ô¤¤¤Þ¤¹¡£

¡¡¤½¤Î¤¿¤á¤Ë¤Ï»öÁ°½àÈ÷¤È¤·¤Æ¿¤¯¤Î½èÍý¤Î¼ÂÁõ¤¬É¬Íפˤʤê¤Þ¤¹¡£

¡ã¥í¥¸¥Ã¥¯¤Îή¤ì¡ä
¡þ£±¡¥NonPlayerCharacter ¥¹¥¯¥ê¥×¥È¤È DialogController ¥¹¥¯¥ê¥×¥ÈÆâ¤Ë¡¢EventData ·¿¤Î¾ðÊóÂåÆþ¤¹¤ë¤¿¤á¤ÎÊÑ¿ô¤òÍÑ°Õ¤·¤Æ¤ª¤¯
¡þ£²¡¥NonPlayerCharacter ¥¹¥¯¥ê¥×¥È¤«¤é DataBaseManager ¤Î GetEventDataFromNPCEvent ¥á¥½¥Ã¥É¤ò¼Â¹Ô¤·¡¢
¡¡¡¡¡¡¡¡¡¡EventDataSO ¥¹¥¯¥ê¥×¥¿¥Ö¥ë¡¦¥ª¥Ö¥¸¥§¥¯¥È¤«¤éɬÍפȤʤë EventData ¤òõ¤·¤ÆÍÑ°Õ¤·¤Æ¤ª¤¤¤¿ EventData ·¿¤ÎÊÑ¿ô¤Ë¼èÆÀ¤·¤ÆÂåÆþ¤¹¤ë
¢¤£³¡¥¥×¥ì¥¤¥ä¡¼¥­¥ã¥é¤¬²ñÏÃ¥¤¥Ù¥ó¥È¤ò¼Â¹Ô¤·¤¿ºÝ¤Ë¡¢NonPlayerCharacter ¥¹¥¯¥ê¥×¥È¤«¤é DialogController ¥¹¥¯¥ê¥×¥È¤Î DisplayDialog ¥á¥½¥Ã¥É¤ò¼Â¹Ô¤¹¤ëºÝ¤Ë¡¢EventData ¤Î¾ðÊó¤ò°ú¿ô¤òÄ̤¸¤ÆÅϤ¹
¢¤£´¡¥DialogController ¥¹¥¯¥ê¥×¥È¤Î DisplayDialog ¥á¥½¥Ã¥É¤Ë¤ª¤¤¤Æ¡¢°ú¿ô¤Ç¼èÆÀ¤·¤¿²ñÏÃ¥¤¥Ù¥ó¥ÈÍѤΠEventData ¤òÍøÍѤ·¤Æ¡¢¥²¡¼¥à²èÌ̤ˡ¢NPC ¤Î̾Á°¤ä¥á¥Ã¥»¡¼¥¸¤òɽ¼¨¤¹¤ë

¡¡¡þ¤ÎÉôʬ¤Ï¿·¤·¤¯¼ÂÁõ¤¹¤ëÊÑ¿ô¤ä½èÍý¡¢¢¤¤Ï½¤Àµ¤ò¹Ô¤¦½èÍý¤Ë¤Ê¤ê¤Þ¤¹¡£

¡¡¤Þ¤ººÇ½é¤Ë¡þ£±¤Î¤¿¤á¤Ë¡¢EventData ·¿¤ÎÊÑ¿ô¤ò¡¢¤½¤ì¤¾¤ì¤Î¥¹¥¯¥ê¥×¥ÈÆâ¤ËÀë¸À¤·¤ÆÍÑ°Õ¤·¤Æ¤ª¤­¤Þ¤¹¡£

¡¡EventDataSO ¥¹¥¯¥ê¥×¥¿¥Ö¥ë¡¦¥ª¥Ö¥¸¥§¥¯¥È¤Ë¤Ï¤¹¤Ù¤Æ¤Î²ñÏÃ¥¤¥Ù¥ó¥È¤Î¥Ç¡¼¥¿¤¬ÅÐÏ¿¤µ¤ì¤Æ¤¤¤Þ¤¹¤¬¡¢
¼ÂºÝ¤ËÍøÍѤ¹¤ëºÝ¤Ë¤Ï¡¢ÍøÍѼÂÂ֤˹ç¤ï¤»¤ÆɬÍפʾðÊó¤òºîÀ®¤·¤Æ±¿ÍѤ·¤Æ¤¤¤¯¤³¤È¤¬É¬Íפˤʤê¤Þ¤¹¡£
¤Ä¤Þ¤ê¡¢¥¹¥¯¥ê¥×¥¿¥Ö¥ë¡¦¥ª¥Ö¥¸¥§¥¯¥È¼«ÂΤϥ²¡¼¥à¤Î¥Þ¥¹¥¿¡¼¥Ç¡¼¥¿¤È¤·¤ÆÍøÍѤ·¡¢¥²¡¼¥àÆâ¤Ç¤Ï¤½¤ì¤ò¾å¼ê¤¯³èÍѤ·¤Æ±¿ÍѤ·¤Æ¤¤¤¯¤È¤¤¤¦·Á¼°¤Ë¤Ê¤ê¤Þ¤¹¡£

¡¡º£²ó¤Î¾ì¹ç¡¢¤¹¤Ù¤Æ¤Î²ñÏÃ¥¤¥Ù¥ó¥È¤Î¥Ç¡¼¥¿¤ÎÃ椫¤éÆÃÄê¤Î²ñÏÃ¥¤¥Ù¥ó¥È¤Î¥Ç¡¼¥¿¤òõ¤¹¡¢¤È¤¤¤¦½èÍý¤ò¼Â¹Ô¤·¤Æ¡¢¤½¤ì¤ò EventData ¤È¤·¤Æ
NonPlayerCharacter ¥¹¥¯¥ê¥×¥È¤ËÅÐÏ¿¤·¤Æ¤ª¤­¤Þ¤¹¡£¤½¤·¤Æ¡¢¤½¤Î¾ðÊó¤ò¡¢DialogController ¥¹¥¯¥ê¥×¥È¤ËÅϤ¹½èÍý¤Îή¤ì¤Ë¤Ê¤ê¤Þ¤¹¡£



¡¡¡þ£²¤Ç¤Ï¡¢DataBaseManager ¥¹¥¯¥ê¥×¥È¤ËÍÑ°Õ¤·¤Æ¤¢¤ë¥²¥Ã¥¿¡¼¥á¥½¥Ã¥É¤òÍøÍѤ·¤Æ¡¢É¬ÍפȤʤë EventData ¤ò¥¹¥¯¥ê¥×¥¿¥Ö¥ë¡¦¥ª¥Ö¥¸¥§¥¯¥È¤Î¥Ç¡¼¥¿¤«¤éõ¤·¤Æ¼èÆÀ¤·¤Þ¤¹¡£
¤³¤Î½èÍý¤ò NonPlayerCharacter ¥¹¥¯¥ê¥×¥ÈÆâ¤ËÄɲ乤뤳¤È¤Ç¡¢¶õ¤Î EventData ¤Ë²ñÏÃ¥¤¥Ù¥ó¥È¤ÇÍøÍѤ¹¤ë EventData ¤ò¼èÆÀ¤·¤Þ¤¹¡£
¥á¥½¥Ã¥É¤Ï¤¹¤Ç¤ËºîÀ®ºÑ¤Ç¤¹¤Î¤Ç¡¢Å¬µ¹¤Ê¥¿¥¤¥ß¥ó¥°¤Ç¤³¤Î¥á¥½¥Ã¥É¤ò¼Â¹Ô¤¹¤ì¤Ð¡¢EventData ¤ò¼èÆÀ½ÐÍè¤Þ¤¹¡£

¡¡¥¹¥¯¥ê¥×¥¿¥Ö¥ë¡¦¥ª¥Ö¥¸¥§¥¯¥È¤Ë¤ÏÊ£¿ô¤Î²ñÏÃ¥¤¥Ù¥ó¥È¤Î¥Ç¡¼¥¿¤¬¤¢¤ê¤Þ¤¹¤Î¤Ç¡¢NonPlayerCharacter ¥¹¥¯¥ê¥×¥ÈÆâ¤ËÅÐÏ¿¤¹¤ë²ñÏÃ¥¤¥Ù¥ó¥È¤ÎÈÖ¹æ¤ò»È¤Ã¤Æ¸¡º÷¤·¤Æ¼èÆÀ¤ò¹Ô¤¦¤è¤¦¤Ë¤·¤Þ¤¹¡£
¤½¤Î¤¿¤á¡¢GetEventDataFromNPCEvent ¥á¥½¥Ã¥É¤Ë¤â°ú¿ô¤È¤·¤Æ int ·¿¤Î¾ðÊó¤ò¼èÆÀ¤·¤Æ³èÍѤǤ­¤ëÀ߷פˤʤäƤ¤¤Þ¤¹¡£¸«Ä¾¤·¤Æ¤ß¤Æ¤¯¤À¤µ¤¤¡£



¡¡¢¤£³¤Ç¤Ï¡¢NonPlayerCharacter ¥¹¥¯¥ê¥×¥ÈÆâ¤Ç DialogController ¥¹¥¯¥ê¥×¥È¤Î DisplayDialog ¥á¥½¥Ã¥É¤ò¼Â¹Ô¤·¤Æ¤¤¤ë¾ì½ê¤¬¤¢¤ê¡¢¤³¤Î½èÍý¤ò¹Ô¤¦¤³¤È¤Ë¤è¤Ã¤Æ
¥²¡¼¥à²èÌ̤˲ñÏÃ¥¤¥Ù¥ó¥È¤¬É½¼¨¤µ¤ì¤ë¤³¤È¤Ë¤Ê¤ê¤Þ¤¹¡£¤³¤Î¥á¥½¥Ã¥É¤Ë°ú¿ô¤òÄɲ䷤Ƥª¤¯¤³¤È¤Ç¡¢NonPlayerCharacter ¥¹¥¯¥ê¥×¥ÈÆâ¤Ë¤¢¤ë EventData ¤Î¾ðÊó¤ò
DialogController ¥¹¥¯¥ê¥×¥È¦¤Ø¤È°ú¿ô¤òÄ̤¸¤ÆÁ÷¿®¤¹¤ë¤³¤È¤¬½ÐÍè¤Þ¤¹¡£

¡¡ºÇ¸å¤Î¢¤£´¤Ç¤Ï¡¢DialogController ¥¹¥¯¥ê¥×¥È¤Î DisplayDialog ¥á¥½¥Ã¥É¤ò¼Â¹Ô¤¹¤ëºÝ¤Ë¡¢¤¤¤Þ¤Þ¤Ç¤Ï¸ÇÄêÃͤȤ·¤Æɽ¼¨¤·¤Æ¤¤¤¿¾ðÊó¤ò
°ú¿ô¤òÄ̤¸¤ÆÆϤ¤¤Æ¤¤¤ë EventData ¤Î¾ðÊó¤ò»²¾È¤¹¤ë¤³¤È¤è¤Ã¤Æ¡¢²ñÏÃ¥¤¥Ù¥ó¥È¤Îɽ¼¨ÆâÍƤò EventData ¤ÎÆâÍƤËÊѹ¹¤¹¤ë¤è¤¦¤Ë¡¢½èÍý¤ò½¤Àµ¤·¤Þ¤¹¡£



¡¡°Ê¾å¤¬¥í¥¸¥Ã¥¯¤Îή¤ì¤Ë¤Ê¤ê¤Þ¤¹¡£
¡¡¥¹¥¯¥ê¥×¥¿¥Ö¥ë¡¦¥ª¥Ö¥¸¥§¥¯¥È¤Î¥Ç¡¼¥¿¤òÃê½Ð¤·¤ÆɬÍ×¤Ê EventData ¤ò¼èÆÀ¤·¤¿¤ê¡¢¤½¤ÎºÝ¤Ë¥á¥½¥Ã¥É¤Î°ú¿ô¤ÈÌá¤êÃͤò³èÍѤ¹¤ë¤Ê¤É¡¢
º£¤Þ¤Ç°Ê¾å¤Ë¥×¥í¥°¥é¥à¤Î½èÍý¤ÎÍý²ò¤ò¿¼¤á¤Æ¤¤¤¯¤³¤È¤¬½ÅÍפˤʤê¤Þ¤¹¡£



£²¡¥DialogController ¥¹¥¯¥ê¥×¥È¤ò½¤Àµ¤·¡¢EventDataSO ¥¹¥¯¥ê¥×¥¿¥Ö¥ë¡¦¥ª¥Ö¥¸¥§¥¯¥È¤Î¥Ç¡¼¥¿¤ò»²¾È¤·¤ÆÈ¿±Ç¤¹¤ë½èÍý¤òÄɲ乤ë


¡¡À߷פ˴ð¤Å¤¤¤Æ¡¢¥¤¥ó¥¹¥Ú¥¯¥¿¡¼¤ÇÀßÄꤷ¤Æ¤¤¤¿¾ðÊó¤ò EventDataSO ¥¹¥¯¥ê¥×¥¿¥Ö¥ë¡¦¥ª¥Ö¥¸¥§¥¯¥È¤Î EventData ¥¯¥é¥¹¤Î¾ðÊó¤ò»²¾È¤¹¤ë¤è¤¦¤ËÊѹ¹¤·¤Þ¤¹¡£

¡¡¤Þ¤º¤Ï EventData ¥¯¥é¥¹¤Î¾ðÊó¤ò°·¤¨¤ë¤è¤¦¤Ë¡¢EventData ·¿¤ÎÊÑ¿ô¤òÍÑ°Õ¤·¤Þ¤¹¡£¤³¤ÎÊÑ¿ô¤Ë¡¢²ñÏÃ¥¤¥Ù¥ó¥È¤È¤·¤ÆɬÍפʤ¹¤Ù¤Æ¤Î¥Ç¡¼¥¿¤¬Æþ¤ë¤³¤È¤Ë¤Ê¤ê¤Þ¤¹¡£
¥¤¥Ù¥ó¥È¤Î¼ïÎà¡¢NPC ¤Î̾Á°¡¢¥á¥Ã¥»¡¼¥¸¤Ê¤É¤Î¾ðÊó¤¬ÊÑ¿ô¤È¤·¤ÆÆþ¤Ã¤Æ¤¤¤Þ¤¹¤Î¤Ç¡¢¤³¤Î¥Ç¡¼¥¿¤òÍøÍѤ¹¤ë¤³¤È¤Ç¡Ö¤É¤Î¤è¤¦¤Ê²ñÏÃ¥¤¥Ù¥ó¥È¤È¤·¤Æ¿¶¤ëÉñ¤¦¤«¡×·è¤Þ¤ê¤Þ¤¹¡£
¤³¤ÎÊÑ¿ô¤òÍøÍѤ¹¤ë¤³¤È¤Ë¤è¤Ã¤Æ¡¢EventData ¥¯¥é¥¹¤Î¾ðÊó¤ò»²¾È¤·¤ÆÍøÍѽÐÍè¤ë¤è¤¦¤Ë¤Ê¤ê¤Þ¤¹¡£

¡¡¤³¤Î EventData ¥¯¥é¥¹¤Î¾ðÊó¤Ï¡¢³°Éô¤Î¥¹¥¯¥ê¥×¥È¤«¤é°ú¿ô¤Ç¼õ¤±¼è¤ë¤è¤¦¤ËÀ߷פ·¤Þ¤¹¡£
¤¤¤Þ¤Þ¤Ç SetUpEnemy ¥á¥½¥Ã¥É¤Ç bool ·¿¤Î¥Ü¥¹¤Î̵ͭ¤Î¾ðÊó¤ò¼õ¤±¼è¤Ã¤Æ¤¤¤Þ¤·¤¿¤¬¡¢¤³¤ì¤òºï½ü¤·¤Æ¡¢Âå¤ï¤ê¤Ë EventData ·¿¤òÀë¸À¤·¤Æ¡¢¤³¤³¤Ç¥¨¥Í¥ß¡¼¤Î¥Ç¡¼¥¿¤ò¼õ¤±¼è¤ì¤ë¤è¤¦¤Ë¤·¤Þ¤¹¡£


¡¡¤³¤³¤ÇÂçÀڤʥݥ¤¥ó¥È¤¬¤¢¤ê¤Þ¤¹¡£

¡¡EventData ¥¯¥é¥¹¤Î¾ðÊó¤ò·èÄꤹ¤ë¤Î¤Ï¡¢DialogController ¥¹¥¯¥ê¥×¥È¦¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó¡£
DialogController ¥¹¥¯¥ê¥×¥È¤Ç¤Ï¤¢¤¯¤Þ¤Ç¤â°ú¿ô¤È¤·¤ÆÆϤ¤¤¿ EventData ¥¯¥é¥¹¤Î¾ðÊó¤òÍøÍѤ·¤ÆÀßÄê¤ò¹Ô¤¦¤³¤È¤Ç¤¢¤Ã¤Æ¡¢
²ñÏÃ¥¤¥Ù¥ó¥È¤Î¥Ç¡¼¥¿¤òÈ¿±Ç¤·¤Æ²ñÏÃ¥¤¥Ù¥ó¥È¤Ë¤½¤Î¥Ç¡¼¥¿¤Ë¨¤·¤¿Ìò³ä¤òÍ¿¤¨¤ë¤³¤È¤¬»Å»ö¤Ç¤¹¡£

¡¡²ñÏÃ¥¤¥Ù¥ó¥È¤Î¥Ç¡¼¥¿¤ò·èÄꤷ¡¢¡Ö¤³¤Î¾ðÊó¤ò»È¤Ã¤Æ²ñÏÃ¥¤¥Ù¥ó¥È¤ËÌò³ä¤òÍ¿¤¨¤Æ¿¶¤ëÉñ¤¤¤òÊѤ¨¤Æ¤¯¤À¤µ¤¤¡×¤ÈÌ¿Îá¤ò½Ð¤¹¤Î¤Ï NonPlayerCharacter ¥¹¥¯¥ê¥×¥È¦¤Ë¤Ê¤ê¤Þ¤¹¡£

¡¡¤³¤ÎÌò³äʬô¤Î¹Í¤¨Êý¤Ë¤Ä¤¤¤Æ¤â¤·¤Ã¤«¤ê¤È³Ø½¬¤·¤ÆÍý²ò¤ò¿¼¤á¤Æ¤¯¤À¤µ¤¤¡£

¡¡°Ê¾å¤Î¤³¤È¤«¤é¡¢ºÇ½é¤Ë¤â½ñ¤¤¤¿¤è¤¦¤Ë¡¢¤³¤Î EventData ¥¯¥é¥¹¤Ë´Þ¤Þ¤ì¤Æ¤¤¤ë¾ðÊó¤Ë¤Ä¤¤¤Æ¤Ï¡¢¤³¤Î DialogController ¥¹¥¯¥ê¥×¥ÈÆâ¤Ç¸ÄÊ̤ËÀßÄê¤ò¹Ô¤¦É¬Íפ¬¤Ê¤¯¤Ê¤ê¤Þ¤¹¡£
ÂоݤȤʤëÊÑ¿ô¤Ï titleName ÊÑ¿ô¤È dialog ÊÑ¿ô¤Ç¤¹¡£
¤Ê¤ªÊÑ¿ô¤ò½¤Àµ¤·¤¿¤ê¡¢ºï½ü¤¹¤ë¾ì¹ç¤Ë¤Ï¡¢ÊÑ¿ô¤ò´ÉÍý¤·¤Æ¤ë¥¹¥¯¥ê¥×¥ÈÆâ¤À¤±¤Ç¤Ï¤Ê¤¯¡¢¤³¤ÎÊÑ¿ô¤¬³°Éô¤Î¥¹¥¯¥ê¥×¥È¤Ë¤ª¤¤¤Æ¤âÍøÍѤµ¤ì¤Æ¤¤¤Ê¤¤¤«¤ò³Îǧ¤·¤Æ¤«¤é½¤Àµ¤·¤Æ¤¯¤À¤µ¤¤¡£



¡¡EventData ¥¯¥é¥¹Æâ¤ÎÊÑ¿ô¤Ï¤¹¤Ù¤Æ public ½¤¾þ»Ò¤Ë¤è¤Ã¤ÆÀë¸À¤µ¤ì¤Æ¤¤¤Þ¤¹¡£
¤½¤Î¤¿¤á¡¢EventData ¥¯¥é¥¹¤Î¾ðÊó¤ò¼èÆÀ¤·¤Æ¤¤¤ëÊÑ¿ô¤«¤é¤Ï¡¢¤³¤ì¤é¤Î public ½¤¾þ»Ò¤ÎÊÑ¿ô¤Î¾ðÊó¤ò¤¹¤Ù¤ÆÍøÍѤǤ­¤Þ¤¹¡£
Î㤨¤Ð¡¢EventType ¤ò»²¾È¤·¤¿¤¤¾ì¹ç¤Ë¤Ï°Ê²¼¤Î¤è¤¦¤Ë¤Ê¤ê¤Þ¤¹¡£

  // eventData ÊÑ¿ôÆâ¤ËÂåÆþ¤µ¤ì¤Æ¤¤¤ë EventData Æâ¤Î EventType ¤Î¾ðÊó¤¬ EventType ¤ËÅÐÏ¿¤µ¤ì¤Æ¤¤¤ëÎóµó»Ò¤ÎÆâ¡¢Talk ¤ÎÎóµó»Ò¤Ç¤¢¤ë¾ì¹ç
  if(evetData.eventType == EventData.EventType.Talk) {  }


¡¡°ÊÁ°¤Ë³Ø½¬¤·¤¿¤è¤¦¤Ë¡¢ÊÑ¿ô¤ËÂåÆþ¤µ¤ì¤Æ¤¤¤ë¾ðÊ󤫤é¤Ï¡¢public ½¤¾þ»Ò¤Î¾ðÊó¤ò¤µ¤é¤Ë¼èÆÀ¤·¤ÆÍøÍѤǤ­¤Þ¤¹¡£
¥Ô¥ê¥ª¥É¤ò»È¤Ã¤¿½èÍý¤Ë¤Ä¤¤¤Æ¡¢¤³¤Îµ¡²ñ¤Ë¤·¤Ã¤«¤ê¤È³Ð¤¨¤Æ¤¤¤­¤Þ¤·¤ç¤¦¡£


DialogController.cs

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


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



¡¡¥Ò¥¨¥é¥ë¥­¡¼¤Ë¤¢¤ë NPC ÍÑ¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥ÈÆâ¤Î DialogCanvas ¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤òÁªÂò¤·¡¢DialogController ¥¹¥¯¥ê¥×¥È¤Î¥¤¥ó¥¹¥Ú¥¯¥¿¡¼¤ò³Îǧ¤·¤Þ¤¹¡£
¿·¤·¤¯ SerializeField °À­¤ÇÀë¸À¤·¤¿ÊÑ¿ô¤¬Äɲ䵤졢ÉÔÍפÊÊÑ¿ô¤¬ºï½ü¤µ¤ì¤Æ¤¤¤Þ¤¹¡£


DialogCanvas ¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¡¡¥¤¥ó¥¹¥Ú¥¯¥¿¡¼²èÁü



¡¡¾åµ­¤Î EventData ÊÑ¿ôÉôʬ¤Ë¡¢¼ÂºÝ¤Ë¥²¡¼¥à¤Ë¤ª¤¤¤Æɽ¼¨¤¹¤ë¤¿¤á¤Î¾ðÊ󤬼«Æ°Åª¤ËÅÐÏ¿¤µ¤ì¤ë¤è¤¦¤Ë¤·¤Þ¤¹¡£
¸½ºß¤Ï¶õ¤Î¤Þ¤Þ¤ÇÌäÂꤢ¤ê¤Þ¤»¤ó¡£


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


¡¡À߷פ˴ð¤Å¤¤¤Æ½èÍý¤Î¥í¥¸¥Ã¥¯¤òÁȤó¤Ç¤¤¤­¤Þ¤¹¡£
À߷פÇÄ󼨤·¤¿¥í¥¸¥Ã¥¯¤Îή¤ì¤È¼ÂÁõ¤·¤Æ¤¤¤¯ÆâÍƤò£±¤Ä¤º¤Ä³Îǧ¤·¤Ê¤¬¤é¡¢½èÍý¤ÎÆâÍƤòÍý²ò¤·¤Æ¤¤¤­¤Þ¤·¤ç¤¦¡£

¡¡¤¤¤Þ¤Þ¤Ç¤È·èÄêŪ¤Ë°Û¤Ê¤ëÉôʬ¤Ï¡¢DialogController ¥¹¥¯¥ê¥×¥ÈÆâ¤ÇÅÐÏ¿¤ò¹Ô¤Ã¤Æ¤¤¤¿
TitleName(NCP ¤Î̾Á°)¤ÈDialog¡Ê¥á¥Ã¥»¡¼¥¸¡Ë¤¬¤Ê¤¯¤Ê¤ê¡¢¤½¤Î¤¿¤á¤Î¾ðÊó¤ò EventData ¤È¤·¤Æ¼èÆÀ¤·¤ÆÍøÍѤ¹¤ë¤È¤¤¤¦ÅÀ¤Ç¤¹¡£
¤½¤·¤Æ¤½¤Î¾ðÊó¤Ï¡¢¤³¤Î NonPlayerCharacter ¥¹¥¯¥ê¥×¥È¤Ë¤è¤Ã¤Æ¼èÆÀ¤µ¤ì¡¢¤½¤Î¾ðÊó¤ò DialogController ¥¹¥¯¥ê¥×¥È¤Ø¤ÈÅϤ¹¤È¤¤¤¦½èÍý¤Îή¤ì¤ËÊѹ¹¤Ë¤Ê¤Ã¤Æ¤¤¤ë¡¢¤È¤¤¤¦Éôʬ¤Ç¤¹¡£

¡¡¥·¥ó¥°¥ë¥È¥ó¥¯¥é¥¹¤Ç¤¢¤ë DataBaseManager ¥¹¥¯¥ê¥×¥È¤Ë¤¢¤ë¥á¥½¥Ã¥É¤ò¼Â¹Ô¤¹¤ë¤¿¤á¤Ë¤Ï¡¢»öÁ°¤ÎÊÑ¿ô¤Ø¤ÎÂåÆþ¤ä¼èÆÀ½èÍý¤ÏÉÔÍפǤ¹¡£
¼Â¹Ô¤¹¤ëºÝ¤Ë¤Ï¡¢¡Ú¥¯¥é¥¹Ì¾.¥¯¥é¥¹¤Î¾ðÊó¤¬ÂåÆþ¤µ¤ì¤Æ¤¤¤ë static ÊÑ¿ô.¼Â¹Ô¤·¤¿¥á¥½¥Ã¥É̾¡Û¤Îµ­½Ò¤Ç½èÍý¤¬¼Â¹Ô¤Ç¤­¤Þ¤¹¡£
º£²ó¤Ç¤¢¤ì¤Ð¡¢¡ÚDataBaseManager.instance.GetEventDataFromNPCEvent(°ú¿ô¤Î»ØÄê)¡Û¤Èµ­½Ò¤¹¤ì¤Ð¡¢¥á¥½¥Ã¥É¤ò¼Â¹Ô¤Ç¤­¤ë¤³¤È¤Ë¤Ê¤ê¤Þ¤¹¡£
¥Ô¥ê¥ª¥É¤ò»È¤Ã¤¿½èÍý¤Ë¤Ê¤ê¤Þ¤¹¤Î¤Ç¡¢¤·¤Ã¤«¤ê¤ÈÆɤ߲ò¤±¤ë¤è¤¦¤Ë¤·¤Æ¤ª¤­¤Þ¤·¤ç¤¦¡£

¡¡²ñÏÃ¥¤¥Ù¥ó¥ÈÍѤΠEventData ¤Ç¤¹¤¬¡¢¥¹¥¯¥ê¥×¥¿¥Ö¥ë¡¦¥ª¥Ö¥¸¥§¥¯¥ÈÆâ¤Î¥Ç¡¼¥¿¥Ù¡¼¥¹¤ÎÈÖ¹æ(EventData.no)¤ÈƱ´ü¤¹¤ëÈÖ¹æ¤ÎÀßÄê¤Î¤ß¤ò¹Ô¤¦¤è¤¦¤Ë¤·¤Þ¤¹¡£
¤³¤ÎÈÖ¹æ¤òÍøÍѤ·¤Æ NCP ÍѤβñÏÃ¥¤¥Ù¥ó¥È¤ò¼èÆÀ¤·¤Æ¤¤¤¯À߷פˤʤäƤ¤¤Þ¤¹¡£

¡¡¤½¤Î¤¿¤á¡¢³Æ NPC ¤Î¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤ËÅÐÏ¿¤¹¤ëÈֹ椬½ÅÍפˤʤäƤ­¤Þ¤¹¡£
¤³¤ÎÈÖ¹æ¤Î¾ðÊó¤ò»È¤Ã¤Æ¡¢É¬Í×¤Ê EventData ¤Î¾ðÊó¤ò¼õ¤±¼è¤ëή¤ì¤Ë¤Ê¤ë¤¿¤á¤Ç¤¹¡£


NonPlayerCharacter.cs

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


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



¡¡NPC ÍѤΥ²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤Î¥¤¥ó¥¹¥Ú¥¯¥¿¡¼¤ò³Îǧ¤·¤Þ¤¹¡£
¿·¤·¤¯ SerializeField °À­¤ÇÀë¸À¤·¤¿ÊÑ¿ô¤¬Äɲ䵤ì¤Æ¤¤¤Þ¤¹¡£


NPC ÍѤΥ²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¡¡¥¤¥ó¥¹¥Ú¥¯¥¿¡¼²èÁü



£´¡¥½èÍý¤ò£±¤Ä¤º¤ÄÆɤ߲ò¤¤¤Æ¤¤¤¯


¡¡º£²óÄɲ䵤줿½èÍý¤Ï¿·¤·¤¤½èÍý¤¬¤¿¤¯¤µ¤ó¤¢¤ê¤Þ¤¹¡£
½çÈ֤ˣ±¤Ä¤º¤Ä½èÍý¤ò¸«Ä¾¤·¤Æ¡¢¤É¤Î¤è¤¦¤ÊÆâÍƤˤʤäƤ¤¤ë¤«¤òÆɤ߲ò¤¤¤Æ¤ß¤Æ¤¯¤À¤µ¤¤¡£

¡¡Î㤨¤Ð¡¢Ìá¤êÃͤνèÍý¤Ï¤É¤Î¤è¤¦¤ËÆ°¤¤¤Æ¤¤¤ë¤Î¤«¡¢¥á¥½¥Ã¥É¤òÄɤ¤¤«¤±¤ÆÆɤó¤Ç¤¯¤À¤µ¤¤¡£

¡ãNonPlayerCharacter.cs / Start ¥á¥½¥Ã¥É¡ä
¡¡// DataBaseManager ¤ËÅÐÏ¿¤·¤Æ¤¢¤ë¥¹¥¯¥ê¥×¥¿¥Ö¥ë¡¦¥ª¥Ö¥¸¥§¥¯¥È¤ò¸¡º÷¤·¡¢»ØÄꤷ¤¿Ä̤·ÈÖ¹æ¤Î EventData ¤ò NPC ÍѤΠEventData ¤È¤·¤Æ¼èÆÀ¤·¤ÆÂåÆþ
¡¡eventData = DataBaseManager.instance.GetEventDataFromNPCEvent(npcTalkEventNo);
¡¡¡¡¡¡¢­¡¡¾åµ­½èÍý¤Îº¸ÊÕ¤ÎÊÑ¿ô¤Ë¤Ï¡¢¤³¤Á¤é¤Î¥á¥½¥Ã¥É½èÍý·ë²Ì¤¬ÂåÆþ¤µ¤ì¤ë¡£²¿¸Î¤Ê¤é¤Ð¡¢¤³¤Î¥á¥½¥Ã¥É¤Ï EventData ·¿¤ÎÌá¤êÃͤò»ý¤Ä¥á¥½¥Ã¥É¤Ç¤¢¤ë¤¿¤á
¡ãDataBaseManager.cs / GetEventDataFromNPCEvent ¥á¥½¥Ã¥É¡ä
    /// <summary>
    /// NPC ÍѤΥǡ¼¥¿¤«¤é EventData ¤ò¼èÆÀ
    /// </summary>
    /// <param name="npcEvent"></param>
    /// <returns></returns>
    public EventData GetEventDataFromNPCEvent(int npcEventNo) {

¡¡¡¡¡¡¡¡// EventDataSO ¥¹¥¯¥ê¥×¥¿¥Ö¥ë¡¦¥ª¥Ö¥¸¥§¥¯¥È¤Î eventDatasList ¤ÎÃæ¿È(EventData)¤ò£±¤Ä¤º¤Ä½çÈ֤˼è¤ê½Ð¤·¤Æ¡¢eventData ÊÑ¿ô¤ËÂåÆþ
        foreach (EventData eventData in eventDataSO.eventDatasList) {

¡¡¡¡¡¡¡¡¡¡¡¡// eventData ¤Î¾ðÊó¤òȽÄꤷ¡¢EventType ¤¬ Talk ¤«¤Ä¡¢°ú¿ô¤Ç¼èÆÀ¤·¤Æ¤¤¤ë npcEventNo ¤ÈƱ¤¸¾ì¹ç
            if (eventData.eventType == EventData.EventType.Talk && eventData.no == npcEventNo) {

¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡// ³ºÅö¤¹¤ë EvenData ¤Ç¤¢¤ë¤ÈȽÄꤷ¡¢¤½¤Î¾ðÊó¤òÌ᤹
                return eventData;
            }
        }

¡¡¡¡¡¡¡¡// ¾åµ­¤Î½èÍý¤Î·ë²Ì¡¢³ºÅö¤¹¤ë EvenData ¤Î¾ðÊ󤬥¹¥¯¥ê¥×¥¿¥Ö¥ë¡¦¥ª¥Ö¥¸¥§¥¯¥ÈÆâ¤Ë¤Ê¤¤¾ì¹ç¤Ë¤Ï¡¢null ¤òÌ᤹
        return null;
    }
¡¡¡¡¡¡¡¡¢­¡¡°Ê¾å¤Î¤³¤È¤«¤é¡¢¤³¤Î£±¹Ô¤Î½èÍý¤Ï¡¢¼¡¤Î¤è¤¦¤Ê½èÍý¤Ë¤Ê¤Ã¤Æ¤¤¤ë
¡¡// º¸Êդȱ¦Êդη¿¤¬Æ±¤¸ EnemyData ·¿¤Ê¤Î¤Ç¡¢ÂåÆþ½èÍý¤¬À®Î©¤¹¤ë
¡¡eventData = DataBaseManager.instance.GetEventDataFromNPCEvent(npcTalkEventNo); => ¤³¤Î¥á¥½¥Ã¥É¤Î½èÍý·ë²Ì¤Î EnemyData ¤¬Ìá¤Ã¤Æ¤¯¤ë¤Î¤Ç¡¢·¿¤Î¾ðÊó¤Ï EventData ·¿

¡¡ÊÑ¿ô¤ò·¿¤Ç¸«¤¿¾ì¹ç¡¢EventData ·¿ = EventData ·¿¤Ë¤Ê¤Ã¤Æ¤¤¤ë¤³¤È¤¬¤ï¤«¤ê¤Þ¤¹¡£

¡¡¤³¤Î¤è¤¦¤Ë¡¢£±¤Ä¤º¤Ä¤Î½èÍý¤ò½çÈ֤ˤ·¤Ã¤«¤ê¤ÈÆɤ߲ò¤¤¤Æ¤¤¤¯¤³¤È¤¬ÂçÀڤǤ¹¡£
¡¡

£µ¡¥NPC ÍѤΥ²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤ÎÀßÄê¤ò¹Ô¤¦


¡¡¥¤¥ó¥¹¥Ú¥¯¥¿¡¼¤è¤ê¡¢npcEventNo ÊÑ¿ô¤Ë¿ô»ú¤òÅÐÏ¿¤·¤Þ¤¹¡£
¤³¤Î¿ô»ú¤¬¥¹¥¯¥ê¥×¥¿¥Ö¥ë¡¦¥ª¥Ö¥¸¥§¥¯¥ÈÆâ¤Ç List ¤Ç´ÉÍý¤µ¤ì¤Æ¤¤¤ë³Æ EventData ¤Î no ÊÑ¿ô¤È°ìÃפ·¤¿¤â¤Î¤ò
²ñÏÃ¥¤¥Ù¥ó¥ÈÍѤΠEventData ¤È¤·¤Æ¼èÆÀ¤¹¤ëÀ߷פˤʤäƤ¤¤Þ¤¹¡£

¡¡¸½ºß¡¢EventData ¤Ï£³¤ÄºîÀ®¤·¤Æ¤¢¤ë¤È»×¤¤¤Þ¤¹¤Î¤Ç¡¢0 - 2 ¤Î¤¤¤º¤ì¤«¤Î¿ô»ú¤òÅÐÏ¿¤·¤Æ¤ª¤¤¤Æ¤¯¤À¤µ¤¤¡£
¤Þ¤¿¡¢¥¹¥¯¥ê¥×¥¿¥Ö¥ë¡¦¥ª¥Ö¥¸¥§¥¯¥È¤Î no ¤ÎÃͤ¬½ÅÊ£¤·¤Æ¤¤¤Ê¤¤¤«¡¢³Îǧ¤·¤Æ¤¯¤À¤µ¤¤¡£½ÅÊ£¤·¤Æ¤¤¤ë¤ÈÀµ¾ï¤Ê¼èÆÀ¤¬¹Ô¤¨¤Þ¤»¤ó¡£


NPC ÍѤΥ²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¡¡¥¤¥ó¥¹¥Ú¥¯¥¿¡¼²èÁü



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


£¶¡¥¥²¡¼¥à¤ò¼Â¹Ô¤·¤ÆÆ°ºî¤ò³Îǧ¤¹¤ë


¡¡¤¹¤Ù¤Æ¤Î¼ÂÁõ¤¬´°Î»¤·¤Þ¤·¤¿¤Î¤Ç¡¢¥²¡¼¥à¤ò¼Â¹Ô¤·¤Æ½çÈ֤˽èÍý¤ÎÆâÍƤò³Îǧ¤·¤Æ¤¤¤­¤Þ¤¹¡£

¡¡¥²¡¼¥à¼Â¹Ô¤·¤¿¤é ¥Ò¥¨¥é¥ë¥­¡¼¤Ë¤¢¤ë NPC ÍѤΥ²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤òÁªÂò¤·¤Æ¥¤¥ó¥¹¥Ú¥¯¥¿¡¼¤ò³Îǧ¤·¤Þ¤¹¡£
NonPlayerCharacter ¥¹¥¯¥ê¥×¥È¤Î Start ¥á¥½¥Ã¥É¤Ë¤ª¤¤¤Æ¡¢¥¹¥¯¥ê¥×¥¿¥Ö¥ë¡¦¥ª¥Ö¥¸¥§¥¯¥È¤«¤é£±¤Ä¤Î EventData ¤ò¼èÆÀ¤·¤Æ¡¢
¶õ¤Ç¤¢¤Ã¤¿ EventData ·¿¤ÎÊÑ¿ô¤ØÂåÆþ½èÍý¤¬¹Ô¤ï¤ì¤Æ¤¤¤ë¤Ï¤º¤Ç¤¹¡£³ÆÊÑ¿ô¤ËÃͤ¬ÂåÆþ¤µ¤ì¤Æ¤¤¤ë¤«¤ò³Îǧ¤·¤Æ¤¯¤À¤µ¤¤¡£


¡ãNonPlayerCharacter ¥¹¥¯¥ê¥×¥È¤Î EventData ¤ÎÃͤ¬¤½¤ì¤¾¤ì°Û¤Ê¤ê¡¢¤³¤Î¾ðÊó¤òÀßÄꤷ¤Æ°Û¤Ê¤ë²ñÏÃ¥¤¥Ù¥ó¥È¤È¤·¤Æ¿¶¤ëÉñ¤Ã¤Æ¤¤¤ë¡ä





¡ã¥¹¥¯¥ê¥×¥¿¥Ö¥ë¡¦¥ª¥Ö¥¸¥§¥¯¥È¤Î no ¤È NonPlayerCharacter ¤Î npcEventNo ¤¬¥ê¥ó¥¯¤·¤Æ¤¤¤ë¤³¤È¤¬¤ï¤«¤ë¡ä




¡¡¥Ç¡¼¥¿¤¬È¿±Ç¤µ¤ì¤Æ¤¤¤¿¤é¡¢²ñÏÃ¥¤¥Ù¥ó¥È¤òȯÀ¸¤µ¤»¤Æ¤ß¤Æ¤¯¤À¤µ¤¤¡£
NonPlayerCharacter ¥¹¥¯¥ê¥×¥È¤Ë¤¢¤ë EventData ¤Î¾ðÊ󤬥᥽¥Ã¥É¤òÄ̤¸¤Æ DialogController ¥¹¥¯¥ê¥×¥È¤Ë¤âÁ÷¤é¤ì¤Æ¡¢¤½¤Î¥Ç¡¼¥¿¤òÍøÍѤ·¤Æ¥²¡¼¥à²èÌ̤Ëɽ¼¨¤µ¤ì¤Þ¤¹¡£


¡ã¼ÂÁõ²èÁü­¡¡¡Æ±¤¸¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤À¤¬¡¢EventData ¤ò»²¾È¤¹¤ë¤³¤È¤Ç¡¢°Û¤Ê¤ë²ñÏÃ¥¤¥Ù¥ó¥È¤¬È¯À¸¤¹¤ë¡ä



¡ã¼ÂÁõ²èÁü­¢¡¡Æ±¤¸¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤À¤¬¡¢EventData ¤ò»²¾È¤¹¤ë¤³¤È¤Ç¡¢°Û¤Ê¤ë²ñÏÃ¥¤¥Ù¥ó¥È¤¬È¯À¸¤¹¤ë¡ä



¡ã¼ÂÁõ²èÁü­£¡¡Æ±¤¸¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤À¤¬¡¢EventData ¤ò»²¾È¤¹¤ë¤³¤È¤Ç¡¢°Û¤Ê¤ë²ñÏÃ¥¤¥Ù¥ó¥È¤¬È¯À¸¤¹¤ë¡ä



¡¡¥¹¥¯¥ê¥×¥¿¥Ö¥ë¡¦¥ª¥Ö¥¸¥§¥¯¥È¤ò¥Ç¡¼¥¿¥Ù¡¼¥¹¤Î¤è¤¦¤Ë³èÍѤ¹¤ë¤³¤È¤Ë¤è¤ê¡¢¤³¤Î¤è¤¦¤Ë¡¢£±¤Ä¤Î¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤Ë°Û¤Ê¤ë¿¶¤ëÉñ¤¤¤ò¤µ¤»¤ë¤³¤È¤¬²Äǽ¤Ë¤Ê¤ê¤Þ¤¹¡£
Ʊ¤¸¼ê½ç¤Ç NPC ¤Î²èÁü¼«ÂΤòÊѹ¹¤¹¤ë¤³¤È¤â¤Ç¤­¤Þ¤¹¤Î¤Ç¡¢NPC ¼«ÂΤﶤëÉñ¤¤¤òÊѹ¹¤·¡¢£±¤Ä¤Î¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤«¤é°Û¤Ê¤ë NPC ¤òºî¤ê½Ð¤¹¤³¤È¤â½ÐÍè¤Þ¤¹¡£

¡¡º£²ó¤Î¥±¡¼¥¹¤Ç¤¢¤ì¤Ð¡¢¸¤¤Î²èÁü¡¢Â¼¿Í¤Î²èÁü¡¢Å¹°÷¤Î²èÁü¤òÍÑ°Õ¤¹¤ë¤³¤È¤¬¤Ç¤­¤ì¤Ð¡¢
¥Ç¡¼¥¿¤òÍøÍѤ¹¤ë¤³¤È¤Ç£±¤Ä¤Î NPC ¤Î¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤Ë°Û¤Ê¤ë NPC ¤È¤·¤Æ¤Î¿¶¤ëÉñ¤¤¤òÍ¿¤¨¤ë¤³¤È¤¬½ÐÍè¤Þ¤¹¡£


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

¡¡¼¡¤Ï¡¡¼ê½ç£±£µ¡¡¡¼¥é¥ó¥À¥à¥¨¥ó¥«¥¦¥ó¥È¤Î¼ÂÁõ¡¼¡¡¤Ç¤¹¡£

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


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

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

Menu



´ðÁÃ

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

private



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

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