¡¡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 ¤ò¼èÆÀ¤·¤¿¤ê¡¢¤½¤ÎºÝ¤Ë¥á¥½¥Ã¥É¤Î°ú¿ô¤ÈÌá¤êÃͤò³èÍѤ¹¤ë¤Ê¤É¡¢
º£¤Þ¤Ç°Ê¾å¤Ë¥×¥í¥°¥é¥à¤Î½èÍý¤ÎÍý²ò¤ò¿¼¤á¤Æ¤¤¤¯¤³¤È¤¬½ÅÍפˤʤê¤Þ¤¹¡£