i-school - £²£ÄÊüÃÖ¥²¡¼¥à¡¡¼ê½ç£±£µ
¡¡Á°²ó¤Ë°ú¤­Â³¤­¡¢¤ª»È¤¤¤Î¾ðÊó¤Ë´ØÏ¢¤¹¤ë½èÍý¤Î¼ÂÁõ¤ò¹Ô¤¤¤Þ¤¹¡£

¡¡OfflineTimeManager ¥¯¥é¥¹¤Ë¤Æ¤ª»È¤¤¤´¤È¤Î»þ´Ö¤Î·Ð²á¤ò´ÉÍý¤Ç¤­¤ë¤è¤¦¤Ë¤Ê¤ê¤Þ¤·¤¿¤Î¤Ç¡¢¤³¤Î»þ´Ö¤ò¥»¡¼¥Ö¤¹¤ë½èÍý¤ò¼ÂÁõ¤·¤Þ¤¹¡£
¥»¡¼¥Ö¤Î¥¿¥¤¥ß¥ó¥°¤Ï£²¤«½ê¤Ç¡¢£±¤Ä¤Ï¤ª»È¤¤¤ò³«»Ï¤·¤¿¤È¤­¤È¡¢¤â¤¦£±¤Ä¤Ï»þ´Ö¤Î¥»¡¼¥Ö¤ÈƱ¤¸¤Ç¡¢¥²¡¼¥à¤ò½ªÎ»¤·¤¿¥¿¥¤¥ß¥ó¥°¤Ç¤¹¡£


¡ã¼ÂÁõÆ°²è­¡¡¡¤ª»È¤¤¤ò³«»Ï¤·¤¿¤È¤­¡ä
Æ°²è¥Õ¥¡¥¤¥ë¤Ø¤Î¥ê¥ó¥¯


¡ã¼ÂÁõÆ°²è­¢¡¡¥²¡¼¥à¤ò½ªÎ»¤·¤¿¤È¤­¡ä
Æ°²è¥Õ¥¡¥¤¥ë¤Ø¤Î¥ê¥ó¥¯


¼ê½ç£±£µ¡¡¡Ý¤ª»È¤¤¤Î»þ´Ö¥Ç¡¼¥¿¤ò¥»¡¼¥Ö¤¹¤ë½èÍý¤Î¼ÂÁõ¡Ý
£²£µ¡¥OfflineTimeManager ¥¹¥¯¥ê¥×¥È¤È GameManager ¥¹¥¯¥ê¥×¥È¤ò½¤Àµ¤·¤Æ¡¢¤ª»È¤¤¤Î»Ä¤ê»þ´Ö¤ò¥»¡¼¥Ö¤Ç¤­¤ëµ¡Ç½¤òÄɲ乤ë



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

¡¡¡¦ÌäÂêÅÀ¤ÎÀÚ¤êʬ¤±¤ÈºÙʬ²½¡¡¡¼¼«Ê¬¤Ç½èÍý¤ò½ñ¤¯¤³¤È¤ËÄ©À魯¤ë¡£¤¤¤Þ½ñ¤±¤ë½èÍý¤È¥¤¥á¡¼¥¸¤¬¤ï¤«¤Ê¤¯¤Æ½ñ¤±¤Ê¤¤½èÍý¤È¤ËÌäÂêÅÀ¤òÀÚ¤êʬ¤±¤ë¤è¤¦¤Ë¤·¤Æ¤¤¤¯¡¼



£²£µ¡¥OfflineTimeManager ¥¹¥¯¥ê¥×¥È¤È GameManager ¥¹¥¯¥ê¥×¥È¤ò½¤Àµ¤·¤Æ¡¢¤ª»È¤¤¤Î»Ä¤ê»þ´Ö¤ò¥»¡¼¥Ö¤Ç¤­¤ëµ¡Ç½¤òÄɲ乤ë

£±¡¥Àß·×


¡¡¤ª»È¤¤¤Î»Ä¤ê»þ´Ö¤Î´ÉÍý¤¬ OfflineTimeManager ¥¯¥é¥¹¤Ë¤Æ½ÐÍè¤ë¤è¤¦¤Ë¤Ê¤ê¤Þ¤·¤¿¤Î¤Ç¡¢
¤³¤Î¼ê½ç¤Ï¡¢¤ª»È¤¤¤Î»Ä¤ê»þ´Ö¤ò¥»¡¼¥Ö¤¹¤ë¤¿¤á¤Îµ¡Ç½¤ò¼ÂÁõ¤·¡¢¼ÂºÝ¤Ë¥»¡¼¥Ö¤ò¹Ô¤¦½èÍý¤â¹ç¤ï¤»¤Æ¼ÂÁõ¤ò¹Ô¤¤¤Þ¤¹¡£

¡¡¥»¡¼¥Ö¤ò¹Ô¤¦¥¿¥¤¥ß¥ó¥°¤È¤·¤Æ¤Ï¡¢°Ê²¼¤Î£²¤Ä¤Ç¤¹¡£

¡¡¡¦¤ª»È¤¤¤ò³«»Ï¤·¤¿¤È¤­
¡¡¡¦¥²¡¼¥à¤ò½ªÎ»¤·¤¿¤È¤­

¡¡OfflineTimeManager ¥¯¥é¥¹¤Ë¤Ï¡¢JobTimeData ¥¯¥é¥¹¤ò¥»¡¼¥Ö¤¹¤ë¤¿¤á¤Ë¾ðÊó¤òÍÑ°Õ¤·¤Æ¼Â¹Ô¤¹¤ë¥á¥½¥Ã¥É¤òºîÀ®¤·¤Þ¤¹¡£
¤Þ¤¿¡¢¡Ö¥²¡¼¥à¤ò½ªÎ»¤·¤¿¤È¤­¡×¤Î¥¿¥¤¥ß¥ó¥°¤Ç¥»¡¼¥Ö¤ò¹Ô¤¤¤¿¤¤¤Î¤Ç¡¢¤³¤Î¥¿¥¤¥ß¥ó¥°¤Ç½èÍý¤¬¼Â¹Ô¤µ¤ì¤ë OnApplicatinQuit ¥á¥½¥Ã¥ÉÆâ¤Ë
¿·¤·¤¯ºîÀ®¤¹¤ë¥»¡¼¥Ö¤Î¤¿¤á¤Î¥á¥½¥Ã¥É¤ò¼Â¹Ô¤¹¤ë½èÍý¤âÄɲä·¤Þ¤¹¡£

¡¡¡Ö¤ª»È¤¤¤Î³«»Ï¤·¤¿¤È¤­¡×¤Î¥¿¥¤¥ß¥ó¥°¤Ï GameManager ¥¯¥é¥¹Æâ¤Ë¤¢¤ê¤Þ¤¹¤Î¤Ç¡¢¤½¤Á¤é¤Ë¤â¥»¡¼¥Ö¤¹¤ë¥á¥½¥Ã¥É¤ò¼Â¹Ô¤¹¤ë½èÍý¤òÄɲä·¤Þ¤¹¡£
OfflineTimeManager ¥¯¥é¥¹¤Ï¥·¥ó¥°¥ë¥È¥ó¡¦¥Ç¥¶¥¤¥ó¥Ñ¥¿¡¼¥ó¤Î¥¯¥é¥¹¤Ç¤¹¤Î¤Ç¡¢³°Éô¤Î¥¯¥é¥¹¤«¤é¤Ç¤â´Êñ¤Ë¥»¡¼¥ÖÍѤΥ᥽¥Ã¥É¤ò¸Æ¤Ó½Ð¤¹¤³¤È¤¬½ÐÍè¤Þ¤¹¡£


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


¡¡¤ª»È¤¤¤Î¥Ç¡¼¥¿¤ò¥»¡¼¥Ö¤¹¤ë¥¿¥¤¥ß¥ó¥°¤ò¹Í¤¨¤Æ¡¢Å¬µ¹¤Ê°ÌÃ֤˥»¡¼¥Ö¤ò¹Ô¤¦¤¿¤á¤Î½èÍý¤òµ­½Ò¤·¤Þ¤¹¡£
OfflineTimeManager ¥¹¥¯¥ê¥×¥È¤È¤¤¤¦¡¢»þ´Ö¤ò´ÉÍý¤·¤Æ¤¤¤ë¥¯¥é¥¹¤Ë¤ª¤¤¤Æ¥»¡¼¥Ö¤¹¤ë¤Ù¤­¥¿¥¤¥ß¥ó¥°¤¬¤É¤Î¥á¥½¥Ã¥É¤Ë¤¢¤ë¤Î¤«¤ò¡¢½èÍý¤ò¸«Ä¾¤·¤Æ¤ß¤Æ¤¯¤À¤µ¤¤¡£

¡¡JobTimeData ¥¯¥é¥¹¤Î¾ðÊó¤ò¥»¡¼¥Ö¤¹¤ë¤¿¤á¤Ë¡¢PlayerPrefsHelper ¥¯¥é¥¹¤ËÍÑ°Õ¤·¤Æ¤¢¤ë SaveSetObjectData ¥á¥½¥Ã¥É¤ò¼Â¹Ô¤·¤Þ¤¹¡£
¤³¤Î¥á¥½¥Ã¥É¤Ç¤Ï¥¯¥é¥¹¤Î¾ðÊó¤ò Json ¤ËÊÑ´¹¤·¤Æ PlayerPrefs ¥¯¥é¥¹¤Ç¥»¡¼¥Ö¤ò¹Ô¤¨¤ë¤è¤¦¤Ë¤Ê¤Ã¤Æ¤¤¤ë¤¿¤á¤Ç¤¹¡£

¡¡¥»¡¼¥Ö¤¹¤ëºÝ¤Î static ¥¯¥é¥¹¤Ç¤¢¤ë PlayerPrefsHelper ¥¯¥é¥¹¤Î¥á¥½¥Ã¥É¤Î¸Æ¤Ó½Ð¤·Ì¿Îá¤Î½ñ¼°¤ò³Ð¤¨¤Æ¤¤¤Ã¤Æ¤¯¤À¤µ¤¤¡£

¡¡¤Ê¤ª¡¢¥»¡¼¥Ö¤ò¹Ô¤¦¾ì¹ç¡¢¡Ö¥»¡¼¥Ö¤Î¥¿¥¤¥ß¥ó¥°¡×¤Î¾¤Ë¡¢¡Ö¥»¡¼¥Ö¤¹¤ëÂоݤΤª»È¤¤¤Î¥Ç¡¼¥¿¤¬¤¢¤ë¤Î¤«¡×¡¢¡ÖÊ£¿ô¤¢¤ë¾ì¹ç¤Ë¤Ï¤É¤¦¤ä¤Ã¤Æ¤½¤ì¤é¤ò¥»¡¼¥Ö¤¹¤ë¤Î¤«¡×¡¢
¤½¤¦¤¤¤Ã¤¿Éôʬ¤â½èÍý¤ÎÀ߷פȤ·¤Æ¤Ï¹Í¤¨¤Æ¤¤¤¯É¬Íפ¬¤¢¤ê¤Þ¤¹¡£

¡¡¤É¤Î¤è¤¦¤Ë¤¹¤ì¤Ð¥»¡¼¥Ö¤Ë¤Þ¤Ä¤ï¤ë¥í¥¸¥Ã¥¯¤òÁȤߤ³¤ó¤Ç¤¤¤±¤ë¤Î¤«¡¢¼«Ê¬¤Ç¹Í¤¨¤Æ¤ß¤Æ¤¯¤À¤µ¤¤¡£
½èÍý¤Î¥¤¥á¡¼¥¸¤¬½ÐÍ褿¤é¤Þ¤º¤Ï¡¢ÆüËܸì¤Î¥³¥á¥ó¥È¤ò³ºÅö¤¹¤ë¥á¥½¥Ã¥ÉÆâ¤Ëµ­½Ò¤·¡¢¤½¤ì¤«¤é½èÍý¤òµ­½Ò¤·¤Æ¤¤¤Ã¤Æ¤ß¤Þ¤·¤ç¤¦¡£

¡¡¼«Ê¬¤¬¤¤¤Þ½ñ¤±¤ë½èÍý¤ò¹Í¤¨¤Æ½ñ¤¤¤Æ¤ß¤ë¡£¤½¤¦¤¹¤ë¤³¤È¤Ç¡¢¼«Ê¬¤¬¤¤¤Þ½ñ¤±¤Ê¤¤½èÍý¡¢¥¤¥á¡¼¥¸¤¬¤ï¤«¤Ê¤¤½èÍý¤È¤ÎºÙʬ²½¤¬¿Þ¤ì¤Þ¤¹¡£
¤½¤¦¤¹¤ë¤³¤È¤Ë¤è¤Ã¤Æ¤Ï¤¸¤á¤Æ¡¢¼«Ê¬¤¬Ä´¤Ù¤ë¤Ù¤­ÌäÂê¡¢¹Í¤¨¤ë¤Ù¤­½èÍý¤Î¸«¶Ë¤á¤¬¹Ô¤¨¤ë¤è¤¦¤Ë¤Ê¤ê¤Þ¤¹¡£

¡¡¤³¤ì¤ò²¿²ó¤â·«¤êÊÖ¤·¤Æ¥×¥í¥°¥é¥à¤Ï³Ð¤¨¤Æ¤¤¤¯¤³¤È¤Ë¤Ê¤ê¤Þ¤¹¡£
¡¡¶µºà¤Î³Îǧ¤Ï¼«Ê¬¤ÇÄ©À路¤¿¤¢¤È¤ÇÌäÂꤢ¤ê¤Þ¤»¤ó¡£


OfflineTimeManager.cs


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


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


¡¡Á°²ó¤Î¼ê½ç¤Ç TODO ¤òµ­½Ò¤·¤Æ¤¢¤Ã¤¿¾ì½ê¤Î¤¦¤Á¡¢JudgeSubmitJob ¥á¥½¥Ã¥ÉÆâ¤Ë»Ä¤Ã¤Æ¤¤¤ë̤¼ÂÁõ¤Î½èÍý¤ò¼ÂÁõ¤·¤Æ¥»¡¼¥Ö¤Î¼Â¹Ô¤ò¹Ô¤¤¤Þ¤¹¡£

¡¡¤³¤Á¤é¤Ë¤Ï¤É¤¦¤è¤¦¤Ê½èÍý¤¬¤¢¤ê¡¢¤É¤Î¤è¤¦¤Ê¥¿¥¤¥ß¥ó¥°¤Ç¥»¡¼¥Ö¤ò¹Ô¤¨¤Ð¤è¤¤¤«¤ò¹Í¤¨¤Æ¤ß¤Æ¤¯¤À¤µ¤¤¡£

¡¡¥»¡¼¥Ö¤ò¹Ô¤¦¥¿¥¤¥ß¥ó¥°¤ÏºÇ½é¤Ë½ñ¤¤¤Æ¤¢¤ë¤è¤¦¤Ë£²¤«½ê¤Ç¤¹¡£¤½¤ÎÆâ¤Î¡Ö¥²¡¼¥à¤ò½ªÎ»¤·¤¿¤È¤­¡×¤Ë¤Ä¤¤¤Æ¤Ï OfflineTimeManager ¥¹¥¯¥ê¥×¥ÈÆâ¤Ëµ­½Ò¤·¤Þ¤·¤¿¤Î¤Ç¡¢
»Ä¤Ã¤Æ¤¤¤ëÉôʬ¤Ï¡¢¡Ö¤ª»È¤¤¤ò³«»Ï¤·¤¿¡×¥¿¥¤¥ß¥ó¥°¤Ç¤¹¡£¤³¤ÎÉôʬ¤¬¤É¤³¤Ë³ºÅö¤¹¤ë¤«¤ò¸«Äê¤á¤Æ¡¢¥»¡¼¥Ö¤ò¹Ô¤¦¤è¤¦¤Ë½èÍý¤òÄɲ䷤Ƥ¤¤Þ¤¹¡£

¡¡º£²ó¤â¶µºà¤ò¸«¤ëÁ°¤Ë¡¢¤É¤Î°ÌÃ֤ˡ¢¤É¤ó¤Ê½èÍý¤ò½ñ¤¯¤³¤È¤¬½ÐÍè¤ì¤Ð¹Í¤¨¤Æ¤¤¤ë½èÍý¤ò¼ÂÁõ¤Ç¤­¤ë¤Î¤«¡¢¤Þ¤º¤ÏÄ©À路¤Æ¤ß¤Æ¤¯¤À¤µ¤¤¡£


GameManager.cs

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


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


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


¡¡¥»¡¼¥Ö¤ò¹Ô¤¦¥¿¥¤¥ß¥ó¥°¤¬£²¤«½ê¤¢¤ê¤Þ¤¹¤Î¤Ç¡¢¤½¤ì¤¾¤ì¤Î½èÍý¤ò¹Ô¤Ã¤¿ºÝ¤Ë Console ¥Ó¥å¡¼¤Ë Debug.Log ¥á¥½¥Ã¥É¤Ë»ØÄꤷ¤Æ¤¢¤ë
¥»¡¼¥ÖÍѤΥá¥Ã¥»¡¼¥¸¤¬É½¼¨¤µ¤ì¤Æ¤¤¤ì¤Ð¡¢À©¸æÀ®¸ù¤Ç¤¹¡£


¡ã¼ÂÁõÆ°²è­¡¡¡¤ª»È¤¤¤ò³«»Ï¤·¤¿¤È¤­¡ä
Æ°²è¥Õ¥¡¥¤¥ë¤Ø¤Î¥ê¥ó¥¯


¡ã¼ÂÁõÆ°²è­¢¡¡¥²¡¼¥à¤ò½ªÎ»¤·¤¿¤È¤­¡ä
Æ°²è¥Õ¥¡¥¤¥ë¤Ø¤Î¥ê¥ó¥¯


¡¡¤É¤Á¤é¤â¡¢OfflineTimeManager ¥¹¥¯¥ê¥×¥È¤Î JobTimeData ¥¯¥é¥¹¤Î¾ðÊó¤Ë´ð¤Å¤¤¤Æ¡¢¤ª»È¤¤¤Î»Ä¤ê»þ´Ö¤òɽ¼¨¤·¤Æ¤¤¤Þ¤¹¡£
ɬ¤º¡¢OfflineTimeManager ¥¹¥¯¥ê¥×¥È¤Î¥¤¥ó¥¹¥Ú¥¯¥¿¡¼¤È¡¢¥»¡¼¥Ö¤·¤¿½èÍý¤ÎÆâÍƤò°ì½ï¤Ë³Îǧ¤·¤Ê¤¬¤é¡¢À©¸æÆâÍƤòÇÄ°®¤·¤Æ¤ª¤¤¤Æ¤¯¤À¤µ¤¤¡£

¡¡Unity ¤Ç¤Ï Console ¥Ó¥å¡¼°Ê³°¤Ë¤â¡¢¥¹¥¯¥ê¥×¥È¤¬À©¸æ¤ò¹Ô¤Ã¤Æ¤¤¤ë¾ðÊó¤ò¥¤¥ó¥¹¥Ú¥¯¥¿¡¼¤«¤é³Îǧ¤Ç¤­¤ë¤â¤Î¤¬¤¢¤ê¤Þ¤¹¡£
½èÍý¤ò³Ð¤¨¤Æ¥×¥í¥°¥é¥à¤ò¾å㤷¤Æ¤¤¤¯¥³¥Ä¤Ï¡¢½èÍý¤Î·Ò¤¬¤ê¤ò¤·¤Ã¤«¤ê¤È¥¤¥á¡¼¥¸¤·¡¢¼ÂºÝ¤ËÆ°¤¤¤Æ¤¤¤ëÀ©¸æ½èÍý¤È¥ê¥ó¥¯¤µ¤»¤Æ¤¯¤À¤µ¤¤¡£
¤½¤·¤Æ¤½¤ì¤ò¾ï¤Ë°Õ¼±¤·¤Æ¡¢¼«È¯Åª¤Ë¹Ô¤¨¤ë¤è¤¦¤Ë¤Ê¤Ã¤Æ¤¤¤±¤ë¤è¤¦¤Ë¤·¤Æ¤¯¤À¤µ¤¤¡£


¡¡°Ê¾å¤Ç¤³¤Î¼ê½ç¤Ï½ªÎ»¤Ç¤¹¡£
¡¡
¡¡¼¡¤Ï¡¡¼ê½ç£±£¶¡¡¡Ý¤ª»È¤¤¤Î»þ´Ö¥Ç¡¼¥¿¤ò¥í¡¼¥É¤·¤Æ¤ª»È¤¤¤Î´°Î»¤òȽÄꤹ¤ë½èÍý¤Î¼ÂÁõ¡Ý¡¡¤Ç¤¹¡£