i-school - £²£Ä¥¿¥¤¥ë¥Þ¥Ã¥×£Ò£Ð£Ç¡¡¼ê½ç£³£±
¡¡£±¤Ä¤Î NPC ¤ËÊ£¿ô¤Î²ñÏÃ¥¤¥Ù¥ó¥È¤òÀßÄꤷ¡¢ÆÃÄê¤Î¥¢¥¤¥Æ¥à¤òÆÃÄê¿ô»ý¤Ã¤Æ¤¤¤ë¤³¤È¤Ç¡¢¾ò·ï¤òËþ¤¿¤·¤Æ¡¢Ê̤βñÏÃ¥¤¥Ù¥ó¥È¤òȯÀ¸¤µ¤»¤ëµ¡Ç½¤ò¼ÂÁõ¤·¤Þ¤¹¡£

¡¡¤³¤Î½èÍý¤Ë¤Ï¡ÖÆÃÄê¤Î¾ì½ê¤Ë¤¤¤Ã¤¿¡×¡Ö¤ª¶â¤ò¤¤¤¯¤é»ý¤Ã¤Æ¤¤¤ë¡×¤È¤¤¤¦·Á¤Ç¤Î¾ò·ïÀßÄê¤â²Äǽ¤Ç¤¹¡£
¤Þ¤¿Ê£¿ô¤Î¾ò·ï¤ÎÁȤ߹ç¤ï¤»¤â²Äǽ¤Ç¤¹¡£¡ÖÎÙ³¹¤Ë¤¤¤Ã¤¿¤³¤È¤¬¤¢¤ë¡×¡Ö¤ª¶â¤ò1000°Ê¾å»ý¤Ã¤Æ¤¤¤ë¡×¡ÖÌôÁð¤ò£³¸Ä°Ê¾å»ý¤Ã¤Æ¤¤¤ë¡×¤È¤¤¤Ã¤¿ÀßÄ꤬½ÐÍè¤Þ¤¹¡£

¡¡¾ò·ïãÀ®»þ¤Ë¤Ï¡Ö¾ò·ï¤È¤Ê¤Ã¤¿¤â¤Î¤ò¼º¤¦¡×¾ì¹ç¤È¡Ö¾ò·ï¤È¤Ê¤Ã¤¿¤â¤Î¤ò¤â¤Ã¤¿¤Þ¤Þ¤Ë¤¹¤ë¡×¾ì¹ç¤òÁªÂò¤·¤ÆÀßÄê¤Ç¤­¤ë¤è¤¦¤Ë¤·¤Þ¤¹¡£
¤½¤Î¤¿¤á¡¢ÂвÁ¤È¤·¤Æ¥¤¥Ù¥ó¥È¤òãÀ®¤¹¤ë¥¿¥¤¥×¤È¡¢ÂвÁ¤ÏÉÔÍפǼèÆÀ¤Î¤ß¤Ç¤­¤ë¥¿¥¤¥×¤òÀßÄê¤Ç¤­¤Þ¤¹¡£
¡¡

¡ã¼ÂÁõÆ°²è¡¡¾ò·ïãÀ®Á°¡ä
Æ°²è¥Õ¥¡¥¤¥ë¤Ø¤Î¥ê¥ó¥¯


¡ã¼ÂÁõÆ°²è¡¡¾ò·ïãÀ®»þ¡ä
Æ°²è¥Õ¥¡¥¤¥ë¤Ø¤Î¥ê¥ó¥¯


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


¼ê½ç£³£±¡¡¡¼EventData ÍѤΥǡ¼¥¿¥Ù¡¼¥¹¤Î²þ½¤¡¼
£µ£´¡¥enum ¤Ë¤Æ EventProgressType ¥¹¥¯¥ê¥×¥È¤òºîÀ®¤¹¤ë
£µ£µ¡¥EventData ¥¹¥¯¥ê¥×¥È¤ò½¤Àµ¤·¡¢¿·¤·¤¤ EventDataDetail ¥¯¥é¥¹¤òÄɲä·¡¢ÊÑ¿ô¤ò½¤Àµ¤¹¤ë
£µ£¶¡¥EventDataSO ¥¹¥¯¥ê¥×¥¿¥Ö¥ë¡¦¥ª¥Ö¥¸¥§¥¯¥ÈÆâ¤Ë¿Ê¹Ô·¿¤Î²ñÏÃ¥¤¥Ù¥ó¥È¤òÅÐÏ¿¤¹¤ë



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

¡¡¡¦¥¤¥Ù¥ó¥È¤Î´ÉÍýÊýË¡Îã



£µ£´¡¥enum ¤Ë¤Æ EventProgressType ¥¹¥¯¥ê¥×¥È¤òºîÀ®¤·¡¢ItemName ¥¹¥¯¥ê¥×¥È¤ò½¤Àµ¤¹¤ë

£±¡¥Àß·×


¡¡²ñÏäΥ¤¥Ù¥ó¥È¤ò¡Ö¿Ê¹Ô·¿¤Î²ñÏÃ¥¤¥Ù¥ó¥È¡×¤È¡Ö½¾Íè¤Î²ñÏÃ¥¤¥Ù¥ó¥È¡×¤Î£²¤Ä¤Ëʬ¤±¤ëÀ߷פˤ·¤Þ¤¹¡£
¿Ê¹Ô·¿¤Î²ñÏÃ¥¤¥Ù¥ó¥È¤È¤¤¤¦¤Î¤Ï¡¢£±¤Ä¤Î NPC ¤¬¥×¥ì¥¤¥ä¡¼¤Î¥¢¥¤¥Æ¥à¤Î½ê»ý¶ñ¹ç¤Ë¤è¤Ã¤Æ¡¢²ñÏäÎÆâÍƤ¬ÊѲ½¤¹¤ë¤â¤Î¤Ç¤¹¡£
½¾Íè¤Î²ñÏÃ¥¤¥Ù¥ó¥È¤È¤¤¤¦¤Î¤Ï¡¢¤¤¤Þ¤Þ¤Ç¤Î²ñÏäȤª¤Ê¤¸¤Ç¤¹¡£¥×¥ì¥¤¥ä¡¼¤Î¾õÂ֤ˤè¤Ã¤Æ¤Ï²ñÏäÎÆâÍƤÏÊѲ½¤·¤Þ¤»¤ó¡£

¡¡º£²ó¤Ï¤³¤Î¡Ö¿Ê¹Ô·¿¤Î²ñÏÃ¥¤¥Ù¥ó¥È¡×¤ò¥Ç¡¼¥¿¥Ù¡¼¥¹¤È¤·¤ÆºîÀ®¤Ç¤­¤ë¤è¤¦¤Ë¤·¤Þ¤¹¡£
¼¡¤Î¼ê½ç¤Ç¤Ï¡¢²ñÏÃ¥¤¥Ù¥ó¥È¤Î¿Ê¹Ô¾õ¶·¤Ë±þ¤¸¤Æ¡¢²ñÏÃ¥¤¥Ù¥ó¥È¤¬¼«Æ°Åª¤Ë¿Ê¹Ô¤·¤Æ¤¤¤¯¤è¤¦¤Ë½èÍý¤ò½¤Àµ¤·¤Þ¤¹¡£

¡¡¤Þ¤º¤ÏºÇ½é¤Ë¡¢¡Ö²ñÏÃ¥¤¥Ù¥ó¥È¤Î¿Ê¹Ô¾õ¶·¡×¤ò¥²¡¼¥àÆâ¤ËºîÀ®¤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£
¤³¤Á¤é¤Ï enum ¤ÇºîÀ®¤·¤Æ¡¢³Æ²ñÏÃ¥¤¥Ù¥ó¥È¤Ë¾ðÊó¤òÍøÍѤ·¤Æ¤â¤é¤¨¤ë¤è¤¦¤Ë¤·¤Þ¤¹¡£


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


¡¡enum ¤Î¤ß¤Î¥Õ¥¡¥¤¥ë¤òºîÀ®¤·¤Þ¤¹¡£MonoBehaviour ¥¯¥é¥¹¤Î·Ñ¾µ¤ÏÉÔÍפǤ¹¡£

¡¡³ÆÎóµó»Ò¤Ç¤¹¤¬¡¢¤³¤Á¤é¤ÎÎóµó»Ò¤¬²ñÏÃ¥¤¥Ù¥ó¥È¤Î¾õÂÖ¤òɽ¤¹¤è¤¦¤Ë¤·¤Þ¤¹¡£

¡¡None ¤Ï½¾Íè¤Î²ñÏÃ¥¤¥Ù¥ó¥È¤äõº÷¥¤¥Ù¥ó¥È¤ËÍøÍѤ¹¤ë¤â¤Î¤Ç¤¹¡£²ñÏäÎÆâÍƤ¬ÊѲ½¤·¤Þ¤»¤ó¡£

¡¡Need ¤È Permission ¤Ï¿Ê¹Ô·¿¤Î²ñÏÃ¥¤¥Ù¥ó¥ÈÍѤËÍøÍѤ¹¤ë¤â¤Î¤Ç¤¹¡£
¤³¤Î¥¿¥¤¥×¤ò»ý¤Ä NPC ¤ËÏä·¤«¤±¤ë¤È¡¢²ñÏÃ¥¤¥Ù¥ó¥È¤¬¿Ê¹Ô·¿¤Î²ñÏÃ¥¤¥Ù¥ó¥È¤È¤Ê¤ê¡¢¥×¥ì¥¤¥ä¡¼¤Ë°ÍÍꤹ¤ë¾ðÊó¤Ë¤Ê¤ê¤Þ¤¹¡£

¡¡Need ¤Ï¡¢°ÍÍêãÀ®»þ¤Ë¥×¥ì¥¤¥ä¡¼¤Î¥¢¥¤¥Æ¥à¤¬¾ÃÌפ·¤Þ¤¹¡£(¤Ê¤¯¤Ê¤ë¤Î¤Ç¡¢¥¤¥ó¥Ù¥ó¥È¥ê¡¼¤«¤éºï½ü¤¬É¬Í×)
Permission ¤Ï°ÍÍêãÀ®»þ¤Ë¥×¥ì¥¤¥ä¡¼¤Î¥¢¥¤¥Æ¥à¤Ï¤Ê¤¯¤Ê¤ê¤Þ¤»¤ó¡£(Ä󼨤ΤߤʤΤǡ¢¥¤¥ó¥Ù¥ó¥È¥ê¡¼¤ÏÊѲ½¤Ê¤·)

¡¡NPC ¤ËÂФ·¤Æ¤¢¤²¤ë¤â¤Î¤Ê¤Î¤«¡¢¸«¤»¤ë¤À¤±¤Ç¤¤¤¤¤Î¤«¤ÇÀßÄꤷ¤Æ¤¯¤À¤µ¤¤¡£¤³¤ì¤Ï¤É¤Á¤é¤«£±¤Ä¤òÀßÄꤹ¤ë¤³¤È¤Ë¤Ê¤ê¤Þ¤¹¡£

¡¡Get ¤â¿Ê¹Ô·¿¤Î²ñÏÃ¥¤¥Ù¥ó¥È¤ËÍøÍѤ¹¤ë¤â¤Î¤Ç¤¹¡£
¥×¥ì¥¤¥ä¡¼¤¬ Need ¤« Permission ¤Î²ñÏÃ¥¤¥Ù¥ó¥È¤Çµá¤á¤é¤ì¤Æ¤¤¤ë¥¢¥¤¥Æ¥à¤ò½ê»ý¤·¤Æ¤¤¤ë¾ì¹ç¤Ë NPC ¤ËÏä·¤«¤±¤¿ºÝ¤Ë¤Ï
¤³¤Á¤é¤Î²ñÏÃ¥¤¥Ù¥ó¥È¤¬¿Ê¹Ô¤¹¤ë¤è¤¦¤Ë¤Ê¤ê¤Þ¤¹¡£¤³¤³¤ÇÅÐÏ¿¤·¤Æ¤¢¤ë¥¢¥¤¥Æ¥à¤ò³ÍÆÀ¤Ç¤­¤Þ¤¹¡£
¤Ê¤ª¡¢Ã£À®¤·¤Æ¤¤¤Ê¤¤¾ì¹ç¤Ë¤Ï¡¢ºÆÅÙ¡¢Need ¤« Permission ¤Î²ñÏÃ¥¤¥Ù¥ó¥È¤ò¼Â¹Ô¤·¤Þ¤¹¡£

¡¡Cleared ¤â¿Ê¹Ô·¿¤Î²ñÏÃ¥¤¥Ù¥ó¥È¤ËÍøÍѤ¹¤ë¤â¤Î¤Ç¤¹¡£¤¹¤Ç¤Ë°ÍÍê¤ò´°Î»¤·¤Æ¤¤¤ë NPC ¤ËÏä·¤«¤±¤¿ºÝ¤Ë¼Â¹Ô¤µ¤ì¤ë²ñÏÃ¥¤¥Ù¥ó¥È¤Ç¤¹¡£

¡¡°Ê¾å¤Î¤³¤È¤«¤é¡¢¿Ê¹Ô·¿¤Î²ñÏÃ¥¤¥Ù¥ó¥È¤Î¾ì¹ç¡¢£±¤Ä¤Î NPC ¤ËÂФ·¤Æ¡¢Ê£¿ô¤Î EventProgressType ¤òÅÐÏ¿¤¹¤ë¤³¤È¤¬É¬Íפˤʤê¤Þ¤¹¡£


EventProgressType.cs

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


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


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


¡¡¿·¤·¤¤Îóµó»Ò¤ò£µ¤ÄÄɲ䷤Ƥ¯¤À¤µ¤¤¡£Äɲ乤ë¾ì½ê¤Ï¤É¤³¤Ç¤â¹½¤¤¤Þ¤»¤ó¡£


ItemName.cs

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


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


£´¡¥¡ã¥¤¥Ù¥ó¥È¤Î´ÉÍýÊýË¡Îã¡ä


¡¡ItemName ¥¹¥¯¥ê¥×¥ÈÆâ¤Ë¡¢¥¢¥¤¥Æ¥à¤È¤·¤Æ¡ÖÃê¾Ýʪ¡×¤òÅÐÏ¿¤·¤Æ¤ª¤¯¤³¤È¤Ë¤è¤ê¡¢¤ª¶â¤ä·Ð¸³ÃÍ¡¢¥ì¥Ù¥ë¤ò°ÍÍê¤ÎÂоÝʪ¤Ë¤·¤¿¤ê¡¢¼õ¤±¼è¤ì¤ë¤´Ë«Èþ¤ËÀßÄê¤Ç¤­¤ë¤è¤¦¤Ë¤·¤Þ¤¹¡£
¤Þ¤¿¡¢ÌÜŪÃϤˤĤ¤¤¿»þ¤äÆÃÄê¤Î NPC ¤È²ñÏÃ¥¤¥Ù¥ó¥È¤òãÀ®¤·¤¿¾ì¹ç¤Ê¤É¤â¡¢¤³¤Î¤è¤¦¤Ë¥¢¥¤¥Æ¥à¤È¤·¤Æ¼èÆÀ¤Ç¤­¤ë¤è¤¦¤Ë´ÉÍý¤·¤Þ¤¹¡£
¤½¤ì¤ò°ÍÍê¤ÎÂоÝʪ¤Ë»ØÄꤹ¤ì¤Ð¡¢ÆÃÄê¤Î¾ì½ê¤Ë¹Ô¤Ã¤¿¤³¤È¤¬¤¢¤ë¤«¡¢ÆÃÄê¤Î NPC ¤È²ñÏä·¤¿¤³¤È¤¬¤¢¤ë¤«¡¢¤È¤¤¤Ã¤¿²ñÏÃ¥¤¥Ù¥ó¥È¤Î°ÍÍê¤È¤·¤ÆÀßÄê¤Ç¤­¤Þ¤¹¡£

¡¡¤³¤¦¤¤¤Ã¤¿´ÉÍýÊýË¡¤â¤¢¤ë¤È¤¤¤¦¤³¤È¤ò³Ð¤¨¤Æ¤ª¤¯¤ÈÊØÍø¤Ç¤¹¡£


£µ£µ¡¥EventData ¥¹¥¯¥ê¥×¥ÈÆâ¤Ë¿·¤·¤¤ EventDataDetail ¥¯¥é¥¹¤òºîÀ®¤·¡¢½¤Àµ¤¹¤ë

£±¡¥Àß·×


¡¡¸½ºß¤Î EventData ¥¯¥é¥¹¤Ë¤Ï£±¤Ä¤Î NPC ¤ËÂФ·¤ÆÊ£¿ô¤Î²ñÏÃ¥¤¥Ù¥ó¥È¤òÅÐÏ¿¤Ç¤­¤ëÊÑ¿ô¤¬¤¢¤ê¤Þ¤»¤ó¡£
¤³¤Á¤é¤ò½¤Àµ¤·¡¢£±¤Ä¤Î EventData ¥¯¥é¥¹Æâ¤ËÊ£¿ô¤Î²ñÏÃ¥¤¥Ù¥ó¥È¤Î¾ðÊó¤òÅÐÏ¿¤·¤Æ´ÉÍý¤Ç¤­¤ë¤è¤¦¤Ë¤·¤Þ¤¹¡£

¡¡¤³¤Î¤è¤¦¤Ë¡¢Æ±¤¸¾ðÊó¤Î²ô¤Ç¡¢¤«¤Ä¡¢¤½¤ÎÆâÍƤ¬²ÄÊѤ¹¤ë¤è¤¦¤ÊÃͤˤĤ¤¤Æ¤ÏÇÛÎó¤ä List ¤òÍøÍѤ¹¤ë¤³¤È¤ò¹Í¤¨¤Æ¤¤¤¯¤è¤¦¤Ë¤·¤Æ¤¯¤À¤µ¤¤¡£


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


¡¡º£²óºîÀ®¤¹¤ë²ñÏäΥ¤¥Ù¥ó¥È¤Ï¡¢Æ±¤¸ NPC ¤¬Ê£¿ô¤Î¾ðÊó¤ò´ÉÍý¤Ç¤­¤ë¤è¤¦¤Ë¤¹¤ë¤³¤È¤¬É¬Íפˤʤê¤Þ¤¹¡£

¡¡¤½¤Î¤¿¤á¡¢EventData ¤ÎÆâÍƤòÀººº¤·¡¢²ñÏÃ¥¤¥Ù¥ó¥È¤ò£±¤Ä¤Î EventData ¥¯¥é¥¹Æâ¤Ë¤Þ¤È¤á¤Æ´ÉÍý¤Ç¤­¤ë¤è¤¦¤Ë
¿·¤·¤¯ EventDataDetail ¥¯¥é¥¹¤òºîÀ®¤·¤Þ¤¹¡£¤³¤ÎÃæ¤Ë¡¢dialogs ÊÑ¿ô¤Ê¤É¤ò´ÉÍý¤µ¤»¤Þ¤¹¡£¿·¤·¤¯ºîÀ®¤·¤¿ EventProgressType ¤Î enum ¤âÍøÍѤ·¤Þ¤¹¡£

¡¡¤Þ¤¿¤¹¤Ç¤Ë¤¢¤Ã¤¿ ItemType ·¿¤È int ·¿¤ÎÊÑ¿ô¤òÇÛÎó¤Ë¤·¤Æ¡¢Ê£¿ô¤Î¥¢¥¤¥Æ¥à¤Î¾ðÊó¤òÅÐÏ¿¤Ç¤­¤ë¾õÂ֤ˤ·¤Þ¤¹¡£ÊÑ¿ô̾¤âÊ£¿ô·Á¤ËÊѹ¹¤·¤Þ¤¹¡£
¤³¤ì¤Ï¡¢²ñÏÃ¥¤¥Ù¥ó¥È¤Ë¤è¤Ã¤Æ¡¢¡ÖÊ£¿ô¤Î¥¢¥¤¥Æ¥à¤¬É¬Íפʥ¤¥Ù¥ó¥È¡×¤È¡ÖÊ£¿ô¤Î¥¢¥¤¥Æ¥à¤¬Ê󽷤Ȥ·¤Æ¤â¤é¤¨¤ë¥¤¥Ù¥ó¥È¡×¤òºîÀ®¤Ç¤­¤ë¤è¤¦¤Ë¤¹¤ë¤¿¤á¤Ç¤¹¡£
¤³¤³¤Ë¤Ï¡Ö¤ª¶â¡×¤ä¡ÖÌÜŪÃϤ˹Ԥ俤³¤È¤¬¤¢¤ë¡×¡Ö狼¤ÈÏä·¤¿¤³¤È¤¬¤¢¤ë¡×¤È¤¤¤Ã¤¿¤â¤Î¤â´Þ¤Þ¤ì¤Þ¤¹¡£


¡ãEventData ¥¯¥é¥¹¤Ç´ÉÍý¤¹¤ë¾ðÊó¡ä
 ¡¡ public EventType eventType;    // ¥¤¥Ù¥ó¥È¤Î¼ïÎà
    public int no;                 // Ä̤·ÈÖ¹æ
    public string title;           // ¥¿¥¤¥È¥ë¡£NPC ¤Î̾Á°¡¢Ãµ¤¹ÂоÝʪ¤Î̾Á°¡¢¤Ê¤É

¡¡¡¡//¡¡£²¤ÄÄɲÃ
    public TalkEventNameType talkEventName;
    public List<EventDataDetail> eventDataDetailsList = new List<EventDataDetail>();


¡ãEventData ¥¯¥é¥¹¤Ç¤Ï¤Ê¤¯¡¢EventDataDetail ¥¯¥é¥¹¤Ç´ÉÍý¤¹¤ë¾ðÊó¡ä
public EventProgressType eventProgressType;

        [Multiline]
        public string[] dialogs;       ¡¡¡¡¡¡  // NPC ¤Î¥á¥Ã¥»¡¼¥¸¡¢ÂоÝʪ¤Î¥á¥Ã¥»¡¼¥¸¡¢¤Ê¤É
        public Sprite eventSprite;     ¡¡¡¡¡¡¡¡// ¥¤¥Ù¥ó¥È¤Î²èÁü¥Ç¡¼¥¿

        public ItemName[] eventItemNames;      // ¥¤¥Ù¥ó¥È¤ËɬÍפʥ¢¥¤¥Æ¥à¡¢¤¢¤ë¤¤¤Ï³ÍÆÀ¤Ç¤­¤ë¥¢¥¤¥Æ¥à¡£ÇÛÎó¤Ë¤·¤Þ¤¹
        public int[] eventItemCounts;          // ¥¤¥Ù¥ó¥È¤ËɬÍפʸĿô¡¢¤¢¤ë¤¤¤ÏÆþ¼ê¤Ç¤­¤ë¸Ä¿ô¡£ÇÛÎó¤Ë¤·¤Þ¤¹

¡¡EventDataSO ¥¯¥é¥¹´Ö¤Ï¡¢¼¡¤Î¤è¤¦¤Ê¹½À®¤Ë¤Ê¤ê¤Þ¤¹¡£

¡ãEventDataSO ¤Ë´ØÏ¢¤¹¤ë¥¯¥é¥¹¤Î¹½À®¡ä
EventDataSO¡¡¡¡¡ãÊ£¿ô¤Î EventData ¥¯¥é¥¹¤ò List ¤Ç´ÉÍý¤·¤Æ¤¤¤ë¡ä
¡¡¡¡¡Ã
¡¡¡¡¡Ã¡¡¡¼¡¡NPC­¡(EventData ¥¯¥é¥¹)¡¡¡¡¡ãÊ£¿ô¤Î EventDataDetail ¥¯¥é¥¹¤ò List ¤Ç´ÉÍý¤·¤Æ¤¤¤ë¡ä
¡¡¡¡¡Ã¡¡¡¡¡¡¡¡¡Ã¡¡¡¼¡¡¿Ê¹Ô·¿¤Î²ñÏÃ¥¤¥Ù¥ó¥È­¡¡¡°ÍÍê»þ(EventDataDetail ¥¯¥é¥¹)
¡¡¡¡¡Ã¡¡¡¡¡¡¡¡¡Ã¡¡¡¼¡¡¿Ê¹Ô·¿¤Î²ñÏÃ¥¤¥Ù¥ó¥È­¢¡¡´°Î»»þ(EventDataDetail ¥¯¥é¥¹)
¡¡¡¡¡Ã¡¡¡¡¡¡¡¡¡Ã¡¡¡¼¡¡¿Ê¹Ô·¿¤Î²ñÏÃ¥¤¥Ù¥ó¥È­£¡¡½ªÎ»¸å(EventDataDetail ¥¯¥é¥¹)
¡¡¡¡¡Ã
¡¡¡¡¡Ã¡¡¡¼¡¡NPC­¢(EventData ¥¯¥é¥¹)¡¡¡¡¡ãÊ£¿ô¤Î EventDataDetail ¥¯¥é¥¹¤ò List ¤Ç´ÉÍý¤·¤Æ¤¤¤ë¡ä
¡¡¡¡¡Ã¡¡¡¡¡¡¡¡¡Ã¡¡¡¼¡¡¿Ê¹Ô·¿¤Î²ñÏÃ¥¤¥Ù¥ó¥È­¡¡¡°ÍÍê»þ(EventDataDetail ¥¯¥é¥¹)
¡¡¡¡¡Ã¡¡¡¡¡¡¡¡¡Ã¡¡¡¼¡¡¿Ê¹Ô·¿¤Î²ñÏÃ¥¤¥Ù¥ó¥È­¢¡¡´°Î»»þ(EventDataDetail ¥¯¥é¥¹)
¡¡¡¡¡Ã¡¡¡¡¡¡¡¡¡Ã¡¡¡¼¡¡¿Ê¹Ô·¿¤Î²ñÏÃ¥¤¥Ù¥ó¥È­£¡¡½ªÎ»¸å(EventDataDetail ¥¯¥é¥¹)
¡¡¡¡¡Ã

¡¡¤³¤Î¥¤¥á¡¼¥¸¤ò¸µ¤Ë¡¢EventData ¥¯¥é¥¹¤ò½¤Àµ¤·¤Æ¤¤¤­¤Þ¤¹¡£


EventData.cs

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


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


£µ£¶¡¥EventDataSO ¥¹¥¯¥ê¥×¥¿¥Ö¥ë¡¦¥ª¥Ö¥¸¥§¥¯¥ÈÆâ¤Ë¿Ê¹Ô·¿¤Î²ñÏÃ¥¤¥Ù¥ó¥È¤òÅÐÏ¿¤¹¤ë


¡¡EventData ¥¹¥¯¥ê¥×¥È¤ò½¤Àµ¤¹¤ë¤È¡¢¿§¡¹¤Ê¥¹¥¯¥ê¥×¥È¤Ç¥¨¥é¡¼¤¬È¯À¸¤·¤Þ¤¹¡£

¡¡¤¤¤º¤ì¤«¤Î¥¹¥¯¥ê¥×¥È¤Ë¤ª¤¤¤Æ¥¨¥é¡¼¤¬È¯À¸¤·¤Æ¤¤¤ë¤È¡¢Unity ¤Î¥³¥ó¥Ñ¥¤¥ë¤¬Ä̤é¤Ê¤¤¤¿¤á¡¢
¿·¤·¤¯Äɲä·¤¿ EventData ¤ÎÆâÍƤ¬È¿±Ç¤µ¤ì¤Þ¤»¤ó¡£

¡¡¤½¤Î¤¿¤á¡¢¤Þ¤º¤Ï¥¨¥é¡¼¤Î¸¶°ø¤Î¸¡¾Ú¤ò¹Ô¤¤¤Ê¤¬¤é¡¢Àè¤Ë¼¡¤Î¼ê½ç£³£²¤ÎÆâÍƤò¿Ê¤á¤Æ¤¯¤À¤µ¤¤¡£

¡¡¤½¤·¤Æ¼ê½ç£³£²¤Ç¥¨¥é¡¼¤Î½¤Àµ¤¬´°Î»¤·¤Æ¤«¤é¡¢²¼¤Î¼ê½ç¤ò¿Ê¤á¤Æ¤¯¤À¤µ¤¤¡£


£±¡¥Àß·×


¡¡EventData ¥¯¥é¥¹¤ÎÀ߷פ¬Êѹ¹¤Ë¤Ê¤Ã¤Æ¤¤¤ë¤¿¤á¡¢¿·¤·¤¯²ñÏÃ¥¤¥Ù¥ó¥È¤äõº÷¥¤¥Ù¥ó¥È¤òºÆÅÐÏ¿¤·¤Þ¤¹¡£

¡¡¸½Ãʳ¬¤ÇÅÐÏ¿¤Ç¤­¤ë¥¤¥Ù¥ó¥È¤Ï¡Ö¿Ê¹Ô·¿¤Î²ñÏÃ¥¤¥Ù¥ó¥È(¾õÂ֤˱þ¤¸¤Æ²ñÏä¬ÊѲ½¤¹¤ë)¡×¡¢¡Ö½¾Íè¤Î²ñÏÃ¥¤¥Ù¥ó¥È(Ëè²óƱ¤¸²ñÏä¬È¯À¸¤¹¤ë)¡×¡¢¡Öõº÷¥¤¥Ù¥ó¥È¡×¤Î£³¤Ä¤Ç¤¹¡£

¡¡EventData ¥¯¥é¥¹¤Ø¤Î¾ðÊó¤ÎÅÐÏ¿ÊýË¡¤Ë¤Ä¤¤¤Æ¤Þ¤È¤á¤Þ¤¹¡£¤³¤ì¤Ï°ÊÁ°¤ÈƱ¤¸¤Ç¡¢NPC £±¿Íʬ¡¢ÊõÈ¢£±¤Äʬ¤Î¥Ç¡¼¥¿¤Ë¤Ê¤ê¤Þ¤¹¡£

¡ãEventData ¥¯¥é¥¹Æâ¤ÎÀßÄê¡ä
    public EventType eventType;    // ¥¤¥Ù¥ó¥È¤Î¼ïÎà
    public int no;                 // Ä̤·ÈÖ¹æ
    public string title;           // ¥¿¥¤¥È¥ë¡£NPC ¤Î̾Á°¡¢Ãµ¤¹ÂоÝʪ¤Î̾Á°¡¢¤Ê¤É
    public List<EventDataDetail> eventDataDetailsList = new List<EventDataDetail>();¡¡¡¡¡¡//¡¡²ñÏÃ¥¤¥Ù¥ó¥È¤Î¾ÜºÙ¤ÎÅÐÏ¿
¡¡
¡¡eventType ÊÑ¿ô¤Ïº£¤Þ¤Ç¤ÈƱ¤¸¤Ç¤¹¡£²ñÏä«Ãµº÷¤«¤òÁªÂò¤·¤ÆÅÐÏ¿¤·¤Æ¤¯¤À¤µ¤¤¡£¿Ê¹Ô·¿¤Î²ñÏÃ¥¤¥Ù¥ó¥È¤È½¾Íè¤Î²ñÏÃ¥¤¥Ù¥ó¥È¤Ï Talk ¤òÁªÂò¤·¤Þ¤¹¡£

¡¡no ÊÑ¿ô¤âº£¤Þ¤Ç¤ÈƱ¤¸¤Ç¤¹¤¬¡¢²ñÏÃ¥¤¥Ù¥ó¥È¤Ë¤Ä¤¤¤Æ¤Ï½¾Íè¤È¿Ê¹Ô·¿¤Î²ñÏÃ¥¤¥Ù¥ó¥È¤ÎξÊý¤òƱ¤¸¿ô»ú¤Ç´ÉÍý¤¹¤ë¤³¤È¤Ë¤Ê¤ë¤¿¤á¡¢½ÅÊ£¤·¤Ê¤¤¤è¤¦¤Ë¤·¤Æ¤¯¤À¤µ¤¤¡£

¡¡title ÊÑ¿ô¤â¤¤¤Þ¤Þ¤Ç¤ÈƱ¤¸¤Ç¤¹¡£¥á¥Ã¥»¡¼¥¸¤Îº¸¾å¤Ëɽ¼¨¤µ¤»¤¿¤¤Ì¾Á°¤òµ­½Ò¤·¤Æ¤ª¤­¤Þ¤¹¡£

¡¡eventDataDetailsList ÊÑ¿ô¤Ï¿·¤·¤¯Äɲä·¤¿ List ·¿¤ÎÊÑ¿ô¤Ç¤¹¡£¤³¤Á¤é¤Ë¤Ï¡¢¿Ê¹Ô·¿¤Î²ñÏÃ¥¤¥Ù¥ó¥È¤Î¾ì¹ç¤ÏÊ£¿ô¤Î¾ðÊó¤¬É¬ÍפǤ¹¤Î¤Ç¡¢Size ¤ò 2 °Ê¾å¤ÇºîÀ®¤·¤Þ¤¹¡£(´ðËÜ 3 ¤Ë¤Ê¤ê¤Þ¤¹)
½¾Íè¤Î²ñÏÃ¥¤¥Ù¥ó¥È¤Èõº÷¥¤¥Ù¥ó¥È¤Ë¤Ä¤¤¤Æ¤Ï Size 1 ¤Ë¤·¤ÆÅÐÏ¿¤·¤Þ¤¹¡£

¡¡eventDataDetailsList ÊÑ¿ô¤Î Size ¤Î¿ô¤Ë±þ¤¸¤Æ Element ¤¬ºîÀ®¤µ¤ì¤Þ¤¹¡£¤³¤ì¤¬ EventDataDetail ¥¯¥é¥¹¤Ë¤Ê¤ê¤Þ¤¹¡£
£±¤Ä¤Î EventDataDetail ¥¯¥é¥¹¤Ë¤Ä¤­¡¢Æ±¤¸ NPC ¤Î²ñÏÃ¥¤¥Ù¥ó¥È¤ò£±¤Ä¤º¤ÄÅÐÏ¿¤·¤Æ¤ª¤­¤Þ¤¹¡£
¤³¤ÎÊýË¡¤Ë¤è¤ê¡¢£±¤Ä¤Î NPC ¤Ë°Û¤Ê¤ë²ñÏäΥ¤¥Ù¥ó¥È¤òÊ£¿ôÅÐÏ¿¤·¤Æ¤ª¤¯¤³¤È¤¬½ÐÍè¤ë¤è¤¦¤Ë¤Ê¤Ã¤Æ¤¤¤Þ¤¹¡£

¡ãEventDataDetail ¥¯¥é¥¹Æâ¤ÎÀßÄê¡ä
    public EventProgressType eventProgressType;

    [Multiline]
    public string[] dialogs;       ¡¡¡¡¡¡  // NPC ¤Î¥á¥Ã¥»¡¼¥¸¡¢ÂоÝʪ¤Î¥á¥Ã¥»¡¼¥¸¡¢¤Ê¤É
    public Sprite eventSprite;     ¡¡¡¡¡¡¡¡// ¥¤¥Ù¥ó¥È¤Î²èÁü¥Ç¡¼¥¿

    public ItemName[] eventItemNames;      // ¥¤¥Ù¥ó¥È¤ËɬÍפʥ¢¥¤¥Æ¥à¡¢¤¢¤ë¤¤¤Ï³ÍÆÀ¤Ç¤­¤ë¥¢¥¤¥Æ¥à¡£ÇÛÎó¤Ë¤·¤Þ¤¹
    public int[] eventItemCounts;          // ¥¤¥Ù¥ó¥È¤ËɬÍפʸĿô¡¢¤¢¤ë¤¤¤ÏÆþ¼ê¤Ç¤­¤ë¸Ä¿ô¡£ÇÛÎó¤Ë¤·¤Þ¤¹

¡¡ÅÐÏ¿¤¹¤ëºÝ¤Î¥Ñ¥¿¡¼¥ó¤ò·ÇºÜ¤·¤Æ¤ª¤­¤Þ¤¹¡£

¡ã¥¿¥¤¥×£±¡¡½¾Íè¤Î²ñÏÃ¥¤¥Ù¥ó¥È¡ä
eventProgressType = EventProgressType.None
dialogs = NPC ¤Î¥á¥Ã¥»¡¼¥¸¡£¸ÇÄꡣʣ¿ô¥Ú¡¼¥¸¤Ç¤ÎÅÐÏ¿²Äǽ
eventItemNames = [Size] 0
eventItemCounts = [Size] 0



¡¡¿Ê¹Ô·¿¤Î²ñÏÃ¥¤¥Ù¥ó¥È¤Ï°Ê²¼¤Î¤è¤¦¤Ê£³¤Ä¤Î¥Ñ¥¿¡¼¥ó¤ÎÁȤ߹ç¤ï¤»¤Ë¤Ê¤ê¤Þ¤¹¡£
¤½¤Î¤¿¤á¡¢eventDataDetailsList ÊÑ¿ô¤ÎÃÍ Size ¤Ï 3 ¤Ë¤Ê¤ê¤Þ¤¹¡£List ¤Ç´ÉÍý¤·¤Æ¤¤¤ë¤Î¤Ç¡¢£±¤Ä¤Î NPC ¤Î²ñÏÃ¥¤¥Ù¥ó¥È¤È¤·¤Æ«¤Í¤Æ´ÉÍý½ÐÍè¤ë¤è¤¦¤Ë¤Ê¤Ã¤Æ¤¤¤Þ¤¹¡£

¡ã¥¿¥¤¥×£²¡¡¿Ê¹Ô·¿¤Î²ñÏÃ¥¤¥Ù¥ó¥È­¡¡¡°ÍÍêÍÑ¡ä
eventProgressType = EventProgressType.Need ¤«¡¢EventProgressType.Permission ¤òÁªÂò¤¹¤ë
dialogs = NPC ¤Î¥á¥Ã¥»¡¼¥¸¡£°ÍÍꤹ¤ëºÝ¤Î¤â¤Î¤òÀßÄꡣʣ¿ô¥Ú¡¼¥¸¤Ç¤ÎÅÐÏ¿²Äǽ
eventItemNames = [Size] 1 °Ê¾å¡£¥×¥ì¥¤¥ä¡¼¤Ë°ÍÍꤹ¤ë¥¢¥¤¥Æ¥à¤ä¤ª¶â¤Ê¤É¤òÅÐÏ¿¤¹¤ë¡£Ê£¿ô°ÍÍê²Äǽ¡£¤³¤ì¤é¤¬°ÍÍê¤òãÀ®¤¹¤ë¤¿¤á¤ËɬÍפˤʤë
eventItemCounts = [Size] 1 °Ê¾å¡£eventItemNames ÊÑ¿ô¤Î Size ¤ÈƱ¤¸¤Ë¤¹¤ë¤³¤È¡£°ÍÍꤹ¤ë¥¢¥¤¥Æ¥à¤ä¤ª¶â¤ÎÃͤòÅÐÏ¿¤¹¤ë¡£eventItemNames[0] <=> eventItemCounts[0] ¤Î¤è¤¦¤Ë¡¢£±ÂУ±¤Ç¤Ä¤Ê¤²¤ë¤³¤È

¡ã¥¿¥¤¥×£³¡¡¿Ê¹Ô·¿¤Î²ñÏÃ¥¤¥Ù¥ó¥È­¢¡¡°ÍÍ괰λ»þÍÑ¡ä
eventProgressType = EventProgressType.Get ¤òÁªÂò¤¹¤ë
dialogs = NPC ¤Î¥á¥Ã¥»¡¼¥¸¡£°ÍÍ꤬´°Î»¤·¤¿ºÝ¤Î¤â¤Î¤òÀßÄꡣʣ¿ô¥Ú¡¼¥¸¤Ç¤ÎÅÐÏ¿²Äǽ
eventItemNames = [Size] 1 °Ê¾å¡£¥×¥ì¥¤¥ä¡¼¤Ë¤¢¤²¤ë¥¢¥¤¥Æ¥à¤ä¤ª¶â¤Ê¤É¤òÅÐÏ¿¤¹¤ë¡£Ê£¿ô°ÍÍê²Äǽ¡£¤³¤ì¤é¤¬°ÍÍêãÀ®»þ¤ËÆþ¼ê¤Ç¤­¤ë
eventItemCounts = [Size] 1 °Ê¾å¡£eventItemNames ÊÑ¿ô¤Î Size ¤ÈƱ¤¸¤Ë¤¹¤ë¤³¤È¡£¼õ¤±¼è¤ì¤ë¥¢¥¤¥Æ¥à¤ä¤ª¶â¤ÎÃͤòÅÐÏ¿¤¹¤ë¡£eventItemNames[0] <=> eventItemCounts[0] ¤Î¤è¤¦¤Ë¡¢£±ÂУ±¤Ç¤Ä¤Ê¤²¤ë¤³¤È

¡ã¥¿¥¤¥×£´¡¡¿Ê¹Ô·¿¤Î²ñÏÃ¥¤¥Ù¥ó¥È­£¡¡°ÍÍ꽪λ¸åÍÑ¡ä
eventProgressType = EventProgressType.Cleared ¤òÁªÂò¤¹¤ë
dialogs = NPC ¤Î¥á¥Ã¥»¡¼¥¸¡£°ÍÍ꤬´°Î»¤·¤Æ¡¢¤½¤Î¸å¤Î¤â¤Î¤òÀßÄꡣʣ¿ô¥Ú¡¼¥¸¤Ç¤ÎÅÐÏ¿²Äǽ
eventItemNames = [Size] 0
eventItemCounts = [Size] 0



¡¡Ãµº÷¥¤¥Ù¥ó¥ÈÍѤǤ¹

¡ã¥¿¥¤¥×£µ¡¡Ãµº÷¥¤¥Ù¥ó¥È¡ä
eventProgressType = EventProgressType.None
dialogs = ³ÍÆÀ¤·¤¿¥¢¥¤¥Æ¥à¤È¸Ä¿ô¤¬¼«Æ°Åª¤Ëɽ¼¨¤µ¤ì¤ë¤¿¤á¡¢Size 0 ¤Ç¤â¹½¤¤¤Þ¤»¤ó¡£Ê£¿ô¥Ú¡¼¥¸¤Ç¤ÎÅÐÏ¿²Äǽ
eventItemNames = [Size] 1 °Ê¾å¥×¥ì¥¤¥ä¡¼¤Ë¤¢¤²¤ë¥¢¥¤¥Æ¥à¤ä¤ª¶â¤Ê¤É¤òÅÐÏ¿¤¹¤ë¡£Ê£¿ô°ÍÍê²Äǽ¡£¤³¤ì¤é¤¬°ÍÍêãÀ®»þ¤ËÆþ¼ê¤Ç¤­¤ë
eventItemCounts = [Size] 1 °Ê¾å¡£eventItemNames ÊÑ¿ô¤Î Size ¤ÈƱ¤¸¤Ë¤¹¤ë¤³¤È¡£¼õ¤±¼è¤ì¤ë¥¢¥¤¥Æ¥à¤ä¤ª¶â¤ÎÃͤòÅÐÏ¿¤¹¤ë¡£eventItemNames[0] <=> eventItemCounts[0] ¤Î¤è¤¦¤Ë¡¢£±ÂУ±¤Ç¤Ä¤Ê¤²¤ë¤³¤È

¡¡´ðËÜŪ¤Ë¤Ï¤³¤ì¤é¤Î¥Ñ¥¿¡¼¥ó¤Ç EventData ¤È EventDataDetail ¤ò½ç¼¡ÅÐÏ¿¤·¤Æ¤¯¤À¤µ¤¤¡£


£²¡¥EventDataSO ¥¹¥¯¥ê¥×¥¿¥Ö¥ë¡¦¥ª¥Ö¥¸¥§¥¯¥È¤Ë¥¤¥Ù¥ó¥È¤òÅÐÏ¿¤¹¤ë


¡¡¾åµ­¤ò¼ÂºÝ¤ËÅìÆä·¤¿ºÝ¤Î²èÁü¤ò»²¹ÍÍѤËźÉÕ¤·¤Æ¤ª¤­¤Þ¤¹¡£¼«Í³¤ËÅÐÏ¿¤·¤Æ¤¯¤À¤µ¤¤¡£


¡ãÅÐÏ¿Îã­¡¡¡Ä̾ï¤Î²ñÏÃ¥¤¥Ù¥ó¥È(²ñÏøÇÄê)¡ä

Element 0 ¡¡¥Ñ¥¿¡¼¥ó£±¡¦EventProgressType ¤ò None ¤ËÀßÄꤹ¤ë




¡ãÅÐÏ¿Îã­¢¡¡¿Ê¹Ô·¿¤Î²ñÏÃ¥¤¥Ù¥ó¥È¡ä

Element 0 ¡¡¥Ñ¥¿¡¼¥ó£²¡¦°ÍÍêÍÑ¡£EventProgressType ¤ò Need ¤« Permission ¤ËÀßÄꤹ¤ë


Element 1 ¡¡¥Ñ¥¿¡¼¥ó£³¡¦°ÍÍ괰λÍÑ¡£EventProgressType ¤ò Get ¤ËÀßÄꤹ¤ë


Element 2 ¡¡¥Ñ¥¿¡¼¥ó£´¡¦°ÍÍ괰λ°Ê¸åÍÑ¡£EventProgressType ¤ò Cleard ¤ËÀßÄꤹ¤ë




¡ãÅÐÏ¿Îã­£¡¡¥Ñ¥¿¡¼¥ó£µ¡¦Ãµº÷¥¤¥Ù¥ó¥È(ÊõÈ¢¤ÎÃæ¿È¤Ï£³¼ïÎà)¡ä
Element 0 ¡¡EventProgressType ¤ò None ¤ËÀßÄꤹ¤ë





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

¡¡¼¡¤Ï¡¡¼ê½ç£³£²¡¡¡¼¿Ê¹Ô·¿¤Î²ñÏÃ¥¤¥Ù¥ó¥È¤Î¼ÂÁõ¡¼¡¡¤Ç¤¹¡£