i-school - £²£ÄÊüÃÖ¥²¡¼¥à¡¡¼ê½ç£±£¶
¡¡OfflineTimeManager ¥¯¥é¥¹¤Ë¤Æ¤ª»È¤¤¤´¤È¤Î»þ´Ö¤Î·Ð²á¤ò¥»¡¼¥Ö¤·¤Þ¤·¤¿¤Î¤Ç¡¢ºÇ¸å¤Ë¥í¡¼¥É¤ò¹Ô¤Ã¤Æ¡¢¤ª»È¤¤¤¬´°Î»¤¹¤ë¤«È½Äê¤ò¹Ô¤¦½èÍý¤ò¼ÂÁõ¤·¤Þ¤¹¡£

¡¡¤ª»È¤¤¤¬´°Î»¤·¤Æ¤¤¤ë¾ì¹ç¤Ë¤Ï¥­¥ã¥é¤òÀ¸À®¤·¡¢´°Î»¤·¤Æ¤¤¤Ê¤¤¾ì¹ç¤Ë¤Ï¡¢·Ð²á»þ´Ö¤òº¹¤·°ú¤¤¤¿»Ä¤ê¤Î»þ´Ö¤ò¥«¥¦¥ó¥È¥À¥¦¥ó¤¹¤ë¤è¤¦¤Ë¤·¤Þ¤¹¡£
¤Þ¤¿¡¢¤ª»È¤¤¤ò´°Î»¤·¤¿¾õÂ֤ǥ²¡¼¥à¤ò½ªÎ»¤·¤¿¾ì¹ç¤Ë¤Ï¡¢¥²¡¼¥à¤òºÆ³«¤·¤¿¾ì¹ç¡¢¤ª»È¤¤¤ò´°Î»¤·¤Æ¤¤¤ë¾õÂ֤ǥ²¡¼¥à¤òºÆ³«¤¹¤ë¤è¤¦¤Ë¤·¤Þ¤¹¡£


¡ã¼ÂÁõÆ°²è­¡¡¡¥²¡¼¥à¤òºÆ³«¤¹¤ë¡£ÊüÃÖ¤·¤¿»þ´Ö·Ð²á¸å¤Ë¡¢»Ä¤ê»þ´Ö¤¬»Ä¤Ã¤Æ¤¤¤ë¾ì¹ç¤Ë¤Ï¡¢ÊüÃÖ¤·¤¿»þ´Ö¤òº¹¤·°ú¤¤¤Æ¤ª»È¤¤¤òºÆ³«¤¹¤ë¡ä
Æ°²è¥Õ¥¡¥¤¥ë¤Ø¤Î¥ê¥ó¥¯


¡ã¼ÂÁõÆ°²è­¢¡¡¥²¡¼¥à¤òºÆ³«¤¹¤ë¡£¤ª»È¤¤¤òºÆ³«¤·¤¿¤Þ¤Þ¥²¡¼¥à¤ò¼Â¹Ô¤·¤Æ¤¤¤ë¤È¡¢¤ª»È¤¤»þ´Ö¤¬ 0 ¤Ë¤Ê¤ë¤È¤ª»È¤¤´°Î»¤Î¾õÂ֤ˤʤë¡ä
Æ°²è¥Õ¥¡¥¤¥ë¤Ø¤Î¥ê¥ó¥¯


¡ã¼ÂÁõÆ°²è­£¡¡¥²¡¼¥à¤òºÆ³«¤¹¤ë¡£¤ª»È¤¤¤Î»Ä¤ê»þ´Ö¤«¤éÊüÃÖ¤·¤¿»þ´Ö¤ò°ú¤¤¤Æ¡¢¤ª»È¤¤¤Î»þ´Ö¤¬»Ä¤Ã¤Æ¤¤¤Ê¤¤¾ì¹ç¤Ë¤Ï¡¢¤ª»È¤¤¤ò´°Î»¤¹¤ë¡ä
Æ°²è¥Õ¥¡¥¤¥ë¤Ø¤Î¥ê¥ó¥¯


¡ã¼ÂÁõÆ°²è­¤¡¡¥²¡¼¥à¤òºÆ³«¤¹¤ë¡£¤ª»È¤¤¤ò´°Î»¤·¤¿¾õÂÖ(¤ª»È¤¤¤Î»Ä¤ê»þ´Ö¤¬ 0)¤Ç¥²¡¼¥à¤ò½ªÎ»¤·¤Æ¤¤¤¿¾ì¹ç¤Ë¤Ï¡¢¤ª»È¤¤¤ò´°Î»¤·¤¿¾õÂ֤ˤ¹¤ë¡ä
Æ°²è¥Õ¥¡¥¤¥ë¤Ø¤Î¥ê¥ó¥¯


¼ê½ç£±£¶¡¡¡Ý¤ª»È¤¤¤Î»þ´Ö¥Ç¡¼¥¿¤ò¥í¡¼¥É¤·¤Æ¤ª»È¤¤¤Î´°Î»¤òȽÄꤹ¤ë½èÍý¤Î¼ÂÁõ¡Ý
£²£¶¡¥OfflineTimeManager ¥¹¥¯¥ê¥×¥È¤ò½¤Àµ¤¹¤ë



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

¡¡¡¦¥¿¥×¥ë·¿¤Î¼ÂÁõÎã



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

£±¡¥Àß·×


¡¡¼ÂÁõÆ°²è¤¬£´¤Ä¤¢¤ë¤³¤È¤«¤é¤â¤ï¤«¤ë¤è¤¦¤Ë¡¢¥»¡¼¥Ö½èÍý¤è¤ê¤â¥í¡¼¥É½èÍý¤ÎÊý¤¬¼ÂÁõ¤·¤Ê¤±¤ì¤Ð¤Ê¤é¤Ê¤¤ÆâÍƤ¬Â¿¤¯¡¢³Îǧ¤¹¤Ù¤­½èÍý¡¢¼ÂÁõ¤¹¤ë½èÍý¤¬Ê£»¨¤Ç¤¹¡£
¤½¤Î¤¿¤á¡¢¤É¤ó¤Ê¾õÂ֤ΤȤ­¤Ë¡¢¤É¤Î¤è¤¦¤Ë¤Ê¤Ã¤Æ¤¤¤ì¤Ð¤è¤¤¤«¡¢¤È¤¤¤¦¥¤¥á¡¼¥¸¤ò¤·¤Ã¤«¤ê¤È»ý¤Á¤Ê¤¬¤é½èÍý¤ò¼ÂÁõ¤·¤Æ¤¤¤¯¤³¤È¤¬µá¤á¤é¤ì¤Þ¤¹¡£

¡¡À߷פȤ·¤Æ¤Ï¡¢¼¡¤Î¤è¤¦¤Ê¥í¥¸¥Ã¥¯¤ò¹Í¤¨¤Æ¡¢¤³¤ì¤òÁȤ߹þ¤ß¤Þ¤¹¡£

¡ã£±¡¥¥²¡¼¥à¤ò¼Â¹Ô¤·¤¿¤È¤­¤Î½èÍý¡ä
¡¡£±¡¤¥²¡¼¥à¤ò¼Â¹Ô¤·¤¿¤È¤­¤Ë¡¢¤ª»È¤¤¤Î»þ´Ö¥Ç¡¼¥¿¤ò³Îǧ¤·¡¢¤½¤³¤Ë¥Ç¡¼¥¿¤¬¤¢¤ë¾ì¹ç¤Ë¤Ï¡¢¤ª»È¤¤¤ò¹Ô¤Ã¤Æ¤¤¤¿¾õÂÖ¤ÇÁ°²ó¥²¡¼¥à¤ò½ªÎ»¤·¤¿¤³¤È¤Ë¤Ê¤ë¤Î¤Ç¡¢¤ª»È¤¤¤Î¥Ç¡¼¥¿¤Î¥í¡¼¥É¤ò¹Ô¤¦(̤¼ÂÁõ¤Ê¤Î¤Ç¡¢º£²ó¼ÂÁõ¤ò¹Ô¤¦)
¡¡¡¡¡¡¤ª»È¤¤¤Î¥Ç¡¼¥¿¤Î¥í¡¼¥É¤ò¼Â¹Ô¤¹¤ë¥¹¥¯¥ê¥×¥È¤È¡¢¼ÂºÝ¤Ë¥í¡¼¥É¤ò¹Ô¤¦¥¹¥¯¥ê¥×¥È¤Ï°Û¤Ê¤ë¤Î¤Ç¡¢¤·¤Ã¤«¤ê¤ÈÇÄ°®¤¹¤ë

¡¡¡¡¡¡¡¡¡¦¤ª»È¤¤¤Î»þ´Ö¤Î¥Ç¡¼¥¿¤ò³Îǧ¤¹¤ë½èÍý¤Ï¡¢GameManager ¥¹¥¯¥ê¥×¥È¤¬ OfflineTimeManager ¥¹¥¯¥ê¥×¥È¤Î¥á¥½¥Ã¥É¤ò¸Æ¤Ó½Ð¤·¤Æ¹Ô¤¦

¡¡¡¡¡¡¡¡¡¦¤ª»È¤¤¤Î¥Ç¡¼¥¿¤¬¥»¡¼¥Ö¤µ¤ì¤Æ¤¤¤ë¾ì¹ç¡¢OfflineTimeManager ¥¹¥¯¥ê¥×¥È¤¬ PlayerPrefsHelper ¥¯¥é¥¹¤Î¥á¥½¥Ã¥É¤òÍøÍѤ·¤Æ¥í¡¼¥É¤¹¤ë
¡¡¡¡¡¡¡¡¡¡¥í¡¼¥É¤ò¤¹¤ëºÝ¤Ë¤Ï JSON ·Á¼°¤òÍøÍѤ·¤ÆÉü¸µ¤·¡¢¥²¡¼¥à½ªÎ»»þÅÀ¤ÈƱ¤¸¾ðÊó¤ò»ý¤Ä¥¯¥é¥¹¤È¤·¤ÆÍøÍѤǤ­¤ë¾õÂ֤ˤ¹¤ë¡¡¢ª¡¡£²¤Î½èÍý¤Ø

¡ã£²¡¥¤ª»È¤¤¤Î¥Ç¡¼¥¿¤¬¥»¡¼¥Ö¤µ¤ì¤Æ¤¤¤ë¾ì¹ç¡ä
¡¡£²¡¥OfflineTimeManager ¥¹¥¯¥ê¥×¥ÈÆâ¤Ë¤Ï¡¢¥²¡¼¥à¤ò³«»Ï¤·¤¿»þ´Ö¤Î¾ðÊ󤬤¢¤ë¤Î¤Ç¡¢¤³¤Î¾ðÊó¤È¡¢¥í¡¼¥É¤·¤¿¤ª»È¤¤¤Î¥Ç¡¼¥¿¤Ë¤¢¤ë¡¢¤ª»È¤¤¤Î»Ä¤ê»þ´Ö¤Î¾ðÊó¤ò£±¤Ä¤º¤Ä½çÈ֤˷׻»¤¹¤ë(̤¼ÂÁõ¤Ê¤Î¤Ç¡¢º£²ó¼ÂÁõ¤ò¹Ô¤¦)
¡¡¡¡¡¡¡ÖÁ°²ó¥²¡¼¥à¤ò½ªÎ»¤·¤¿¤È¤­¤Î¤ª»È¤¤¤Î»Ä¤ê»þ´Ö - ¥²¡¼¥à¤òºÆ³«¤¹¤ë¤Þ¤Ç¤Ë¤«¤«¤Ã¤¿(ÊüÃÖ¤·¤¿)»þ´Ö¡×¤ò·×»»¤¹¤ë¤³¤È¤Ë¤è¤ê¡¢ÊüÃÖ¤·¤¿Ê¬¤À¤±¤ª»È¤¤¤Î»þ´Ö¤ò¸º»»¤¹¤ë
¡¡¡¡¡¡¤³¤Î·ë²Ì

¡¡¡¡¡¡¡¡¡¦¤ª»È¤¤¤Î»Ä¤ê»þ´Ö¤¬ 0 °Ê²¼¤Ë¤Ê¤Ã¤¿¾ì¹ç¡¢¤½¤Î¤ª»È¤¤¤Ï´°Î»¤·¤¿¾õÂ֤Ȥ·¤Æ°·¤¦¡¡¢ª¡¡£´¤Î½èÍý¤Ø
¡¡¡¡¡¡¡¡
¡¡¡¡¡¡¡¡¡¦¤ª»È¤¤¤Î»Ä¤ê»þ´Ö¤¬ 0 °Ê¾å¤Ç¤¢¤ë¾ì¹ç¤Ë¤Ï¡¢¤½¤Î¤ª»È¤¤¤Ï̤λ¤Î¾õÂ֤Ȥ·¤Æ°·¤¦¡¡¢ª¡¡£³¤Î½èÍý¤Ø

¡ã£³¡¥¥²¡¼¥àºÆ³«¸å¤Ë¤ª»È¤¤¤¬Ì¤Î»¤Î¾ì¹ç¡ä
¡¡£³¡¥OfflineTimeManager ¥¹¥¯¥ê¥×¥È¤¬¡¢¤ª»È¤¤¤Î»þ´Ö¤ò´ÉÍý¤·¤Æ¤¤¤ë TapPointDetail ¥¹¥¯¥ê¥×¥È¤Î¥á¥½¥Ã¥É¤ËÌ¿Îá¤ò½Ð¤·¤Æ¡¢¤ª»È¤¤¤Î½èÍý¤òºÆ³«¤¹¤ë(¤ª»È¤¤¤Î½èÍý¼«ÂÎ¤Ï TapPointDetail ¥¹¥¯¥ê¥×¥È¤Ë¤¢¤ë¤Î¤Ç¡¢¤ª»È¤¤¤Î̤λ/´°Î»¤Î¾ò·ïʬ´ô¤ò¼ÂÁõ¤¹¤ë)
¡¡¡¡¡¡¤½¤Î¤Þ¤Þ¥²¡¼¥à¤ò¼Â¹Ô¤·¤Æ¤¤¤ì¤Ð¤ª»È¤¤¤Î»þ´Ö¤¬·Ð²á¤¹¤ë¡£»Ä¤ê»þ´Ö¤¬ 0 ¤Ë¤Ê¤Ã¤¿¤é¡¢¤ª»È¤¤¤ò´°Î»¤·¤Æ¥­¥ã¥é¤òÀ¸À®¤¹¤ë¡¡¢ª¡¡£´¤Î½èÍý¤Ø

¡¡¡¡¡¡¡¡¡¦¤â¤·¤â¡¢¤Þ¤À»Ä¤Ã¤Æ¤¤¤ë¤ª»È¤¤¤Î»þ´Ö¤¬¤¢¤ë¾õÂ֤ǥ²¡¼¥à¤ò½ªÎ»¤·¤¿¾ì¹ç¤Ë¤Ï¡¢¤½¤Î»þ´Ö¤È¡¢»Ä¤ê¤Î¤ª»È¤¤¤Î»þ´Ö¤òºÆÅÙ¥»¡¼¥Ö¤¹¤ë¡¡¢ª¡¡£±¤Î½èÍý¤Ø

¡ã£´¡¥¥²¡¼¥àºÆ³«¸å¤Ë¤ª»È¤¤¤¬´°Î»¤Î¾ì¹ç¡ä
¡¡£´¡¥OfflineTimeManager ¥¹¥¯¥ê¥×¥È¤¬¡¢¤ª»È¤¤¤ò´°Î»¤·¤¿ btnTapDetail ¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤Î¾å¤Ë¥­¥ã¥é¤òÀ¸À®¤¹¤ë¡£¤³¤Î¥­¥ã¥é¤ò¥¿¥Ã¥×¤·¤Æ¤Ï¤¸¤á¤Æ¤ª»È¤¤´°Î»È½Äê¤Ë¤Ê¤ë(¥­¥ã¥é¤ÎÀ¸À®½èÍý¼«ÂÎ¤Ï OfflineTimeManager ¥¹¥¯¥ê¥×¥È¤Ë¤¢¤ë¤Î¤Ç¡¢¤ª»È¤¤¤Î̤λ/´°Î»¤Î¾ò·ïʬ´ô¤ò¼ÂÁõ¤¹¤ë)

¡¡¡¡¡¡¡¡¡¦¤â¤·¤â¡¢¥­¥ã¥é¤¬À¸À®¤µ¤ì¤¿¾õÂ֤ǥ¿¥Ã¥×¤»¤º¤Ë¥²¡¼¥à¤ò½ªÎ»¤·¤¿¾ì¹ç¤Ë¤Ï¡¢ºÆÅÙ¡¢£±¤È£²¤Î¼ê½ç¤òƧ¤ó¤Ç¡¢¤â¤¦°ìÅÙ¡¢£´¤Î½èÍý¤ØÌá¤ê¡¢¥¿¥Ã¥×¤µ¤ì¤ë¤Þ¤Ç¥­¥ã¥é¤òÀ¸À®¤¹¤ë
¡¡¡¡¡¡¡¡¡¡(¤³¤Î½èÍý¼«ÂΤϣ±¤È£²¤Î½èÍý¤òÄ̲᤹¤ë¤³¤È¤Ç¼«Æ°Åª¤Ë¹Ô¤ï¤ì¤ë¤Î¤Ç¡¢¤³¤Î¾õÂ֤ˤʤ俤Ȥ­¤Ë¡¢½èÍý¤¬Àµ¾ï¤ËÆ°¤¯¤«¤É¤¦¤«¤À¤±¤ò³Îǧ¤¹¤ë)

¡¡²¿²ó¤âÆɤó¤Ç¡¢¥¤¥á¡¼¥¸¤òºî¤Ã¤Æ¤¯¤À¤µ¤¤¡£

¡¡¤½¤Î¾å¤Ç¡¢½èÍý¤ÎÄɲä¬É¬Íפʥ¹¥¯¥ê¥×¥ÈÆâ¤Ë¡¢¼«Ê¬¤Ç¥³¥á¥ó¥È¤ò½ñ¤¤¤Æ¤ß¤Æ¡¢½èÍý¤Î¼ÂÁõ¤ËÄ©À路¤Æ¤ß¤Æ¤¯¤À¤µ¤¤¡£


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


¡¡Â­¤ê¤Ê¤¤½èÍý¤ò¹Í¤¨¤Þ¤¹¡£
¤É¤Î¤è¤¦¤Ê½èÍý¤¬¤¢¤ì¤Ð¡Ö¤ª»È¤¤¤Î¥Ç¡¼¥¿¤¬¥»¡¼¥Ö¤µ¤ì¤Æ¤¤¤ë³Îǧ¤¬¤Ç¤­¤ë¤Î¤«¡×¡¢¡Ö¥»¡¼¥Ö¤µ¤ì¤Æ¤¤¤ë¥Ç¡¼¥¿¤¬¤¢¤Ã¤¿¤é¡¢¤É¤Î¤è¤¦¤Ë¤·¤Æ¥í¡¼¥É¤¹¤ì¤Ð¤¤¤¤¤Î¤«¡×¤ò¹Í¤¨¤Æ¤ß¤Æ¤¯¤À¤µ¤¤¡£


OfflineTimeManager.cs


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


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


¡¡Á°²ó¤Î¼ê½ç¤Ç TODO ¤òµ­½Ò¤·¤Æ¤¢¤Ã¤¿¾ì½ê¤Ë½èÍý¤ò¼ÂÁõ¤·¤Æ¤¤¤­¤Þ¤¹¡£
¤Þ¤¿¡¢À߷פÎÆâÍƤâ¹ç¤ï¤»¤Æ³Îǧ¤·¤Æ¡¢½èÍý¤ò¤É¤³¤Ë¼ÂÁõ¤¹¤ë¤Î¤«¡¢Ê¬´ô¤Ï¤É¤¦¤¤¤Ã¤¿¤â¤Î¤¬É¬ÍפʤΤ«¤ò¹Í¤¨¤Æ¤ß¤Æ¤¯¤À¤µ¤¤¡£


GameManager.cs

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


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


£´¡¥¡ã¥¿¥×¥ë·¿¤Î¼ÂÁõÎã¡ä


¡¡¥¿¥×¥ë(tuple)·¿¤Ï C# ¤Î»ý¤Äµ¡Ç½¤Î£±¤Ä¤Ç¤¹¡£Ê£¿ô¤Î¥ª¥Ö¥¸¥§¥¯¥È¤Î¥Ç¡¼¥¿¤ò¤Ò¤È¤Þ¤È¤á¤Ë¤·¤Æ´ÉÍý¤¹¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£
¤Þ¤¿¡¢Ìá¤êÃͤȤ·¤ÆÍøÍѤ¹¤ë¾ì¹ç¤Ë¤Ï¡¢Ê£¿ô¤Î¥ª¥Ö¥¸¥§¥¯¥È¤Î¥Ç¡¼¥¿¤òƱ¤¸¤è¤¦¤Ë¤Þ¤È¤á¤ÆÌᤷ¤Æ¤¯¤ì¤ë¤³¤È¤¬½ÐÍè¤Þ¤¹¡£

¡¡½ñ¼°¤ÏÊ£¿ô¤¢¤ê¤Þ¤¹¤Î¤Ç¡¢¤½¤ì¤¾¤ì¾Ò²ð¤·¤Þ¤¹¡£º£²ó¤Ï­¢¤Î½ñ¼°¤Ç¼ÂÁõ¤·¤Æ¤¤¤Þ¤¹¡£
¡¡
¡ãµ­½ÒÎã­¡¡ä
  (int, bool) damage = (0, false);

¡¡¾åµ­¤ÎÎã¤Î¾ì¹ç¡¢damage ÊÑ¿ô¤Ë¤Ï¡¢£²¤Ä¤Î·¿¤Î¾ðÊ󤬴ޤޤì¤Æ¤¤¤ë¤³¤È¤Ë¤Ê¤ê¤Þ¤¹¡£
¤è¤êÃúÇ«¤Ë½ñ¤¯¾ì¹ç¤Ë¤Ï¡¢º£²ó¤Î¤è¤¦¤Ë¡¢Ä̾ï¤ÎÊÑ¿ô¤Î¤è¤¦¤Ë·¿¤ËÂФ·¤ÆÀë¸À¤â²Äǽ¤Ç¤¹¡£
½ÐÍè¤ë¤À¤±¥¿¥×¥ëÆâ¤Î¥ª¥Ö¥¸¥§¥¯¥È¤Î·¿¤Ë¤âÊÑ¿ô¤ÎÀë¸À¤ò¤Ä¤±¤ÆÍøÍѤ¹¤ë¤³¤È¤ò¤ª¤¹¤¹¤á¤·¤Þ¤¹¡£

¡ãµ­½ÒÎã­¢¡ä
  (int value, bool isWeakness) = (0, false);

¡ãµ­½ÒÎã­£¡ä
  (int value, bool isWeakness) damage = (0, false);



¡¡¥¿¥×¥ë·¿¤Î¾ðÊó¤ò°·¤¦¾ì¹ç¡¢¥¿¥×¥ëÆâ¤Î¥ª¥Ö¥¸¥§¥¯¥È¤ËÂФ·¤ÆÊÑ¿ô¤ÎÀë¸À¤ò¹Ô¤Ã¤Æ¤¤¤ë¤«¡¢¤¤¤Ê¤¤¤«¤Ë¤è¤Ã¤Æ¡¢»²¾È¤¹¤ë¾ì¹ç¤Îµ­½Ò¤¬ÊѤï¤ê¤Þ¤¹¡£

¡¡µ­½ÒÎã­¡¤Î¤è¤¦¤Ë¡¢¥¿¥×¥ëÆâ¤Ç·¿¤Î¤ß¤·¤«Àë¸À¤·¤Æ¤¤¤Ê¤¤¾ì¹ç¤Ë¤Ï¡¢¥¿¥×¥ëÆâ¤Î¾ðÊó¤Ï Item1¡¢Item2 ¤È¤¤¤¦¤è¤¦¤Ë¼«Æ°Åª¤ËºÎÈÖ¤µ¤ì¤Þ¤¹¡£
¤½¤Î¾ì¹ç¤Ï¡¢¡Ö¥¿¥×¥ë¤ÎÊÑ¿ô̾.¥¿¥×¥ëÆâ¤Î¥ª¥Ö¥¸¥§¥¯¥È¤ÎÀë¸À½ç¤ÎItem¤ÎÈÖ¹æ¡×¤Î½ñ¼°¤Çµ­½Ò¤Ç¤­¤Þ¤¹¡£

¡ãµ­½ÒÎã­¡¤Î¾ì¹ç¤Î»²¾ÈÎã¡ä
  UpdateDurability(damage.Item1);  // int ·¿¤Î°ú¿ô¤ò»²¾È¤·¤ÆÅϤ·¤Æ¤¤¤Þ¤¹

¡¡ÊÑ¿ô¤ÎÀë¸À¤ò¹Ô¤Ã¤Æ¤¤¤ë¾ì¹ç¤Ë¤Ï¡¢Ä̾ï¤ÎÊÑ¿ô¤Î¤è¤¦¤Ë¡Ö¥¿¥×¥ë¤ÎÊÑ¿ô̾.¥¿¥×¥ëÆâ¤Î¥ª¥Ö¥¸¥§¥¯¥È¤ÎÊÑ¿ô̾¡×¤Î½ñ¼°¤Çµ­½Ò¤Ç¤­¤Þ¤¹¡£
¤½¤Î¤¿¤á¡¢¥¿¥×¥ë¤ÎÊÑ¿ô̾¤«¤é¡¢Ãͤο䬤¬²Äǽ¤Ç¤¹¡£

¡ãµ­½ÒÎã­¢¤Î¾ì¹ç¤Î»²¾ÈÎã¡ä
  UpdateDurability(damage.value);  // int ·¿¤Î°ú¿ô¤ò»²¾È¤·¤ÆÅϤ·¤Æ¤¤¤Þ¤¹

¡¡Item1¡¢Item2 ¤Ç¤â½èÍý¤ÏÆ°¤­¤Þ¤¹¤¬¡¢¥×¥í¥°¥é¥à¤Ï½èÍý¤ò¸«¤Æ¡¢Ã¯¤Ç¤â¤¹¤°¤ËÆâÍƤ¬Íý²ò¤Ç¤­¤ëÀ߷פ¬ÍýÁۤǤ¹¡£
¤Ê¤ë¤Ù¤¯ÊÑ¿ô̾¤ò¤Ä¤±¤Æ¥¿¥×¥ë¤ÎÀë¸À¤ò¤·¤¿Êý¤¬¤¤¤¤¤È¤¤¤¦¤Î¤Ï¡¢¤³¤Î¤è¤¦¤Ë¥×¥í¥°¥é¥à¤Î²ÄÆÉÀ­¤Ë´Ø¤ï¤ë¤¿¤á¤Ç¤¹¡£
damage.Item1 ¤è¤ê¤â¡¢damage.value ¤ÎÊý¤¬¡¢ÊÑ¿ô̾¤À¤±¸«¤Æ¤â¤É¤Î¤è¤¦¤ÊÃͤ¬ÂåÆþ¤µ¤ì¤Æ¤¤¤ë¤«È½ÃǤ¬¤Ä¤­¤ä¤¹¤¤¤Î¤Ç¡¢½èÍý¤òÆɤ߲ò¤­¤ä¤¹¤¤¤È¤¤¤¦¤³¤È¤Ç¤¹¡£



¡¡º£²ó¤Î½èÍý¤Ç¤Ï¡¢¥¿¥×¥ë·¿¤òÌá¤êÃͤò»ý¤Ä¥á¥½¥Ã¥É¤È¤·¤Æ¤â³èÍѤ·¤Æ¤¤¤Þ¤¹¡£

¡ã±¦ÊÕ¤ÇÌá¤êÃͤò»ý¤Ä¥á¥½¥Ã¥É¤Î¼Â¹ÔÌ¿Îá¡ä
¡¡// ¤ª»È¤¤¤Î¾õÂ֤ȻĤê»þ´Ö¤ò¼èÆÀ
  (bool isJobEnd, int remainingTime) = JudgeJobsEnd(jobTime);

¡ã¸Æ¤Ó½Ð¤µ¤ì¤Æ¼Â¹Ô¤µ¤ì¤ë¥á¥½¥Ã¥É¤ÈÌá¤êÃͤγÎǧ¡ä
¡¡¡¡/// <summary>
    /// »þ´Ö¤Îº¹Ê¬¤è¤ê¡¢¤ª»È¤¤¤¬½ªÎ»¤·¤Æ¤¤¤ë¤«È½Äê
    /// </summary>
    /// <param name="jobTimeData"></param>
    /// <returns></returns>
    private (bool, int) JudgeJobsEnd(OfflineTimeManager.JobTimeData jobTimeData) {

¡¡¡¡¡¡¡¡¡¡¡¡//¡¡½èÍý


¡¡¡¡¡¡¡¡// ·Ð²á»þ´Ö¤¬¤ª»È¤¤¤Ë¤«¤«¤ë»þ´Ö¤è¤ê¤âƱ¤¸¤«Â¿¤¤¤Ê¤é
        if (remainingTime <= elaspedTime) {
            // ¤ª»È¤¤´°Î»
            return (true, 0);      //  <=  ¥¿¥×¥ë·¿¤ÎÌá¤êÃÍ
        }
        // ¤ª»È¤¤Ì¤Î»¡£»Ä¤ê»þ´Ö¤«¤é·Ð²á»þ´Ö¤ò¸º»»¤·¤Æ»Ä¤ê»þ´Ö¤Ë¤¹¤ë
        return (false, remainingTime - elaspedTime);¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡//  <=  ¥¿¥×¥ë·¿¤ÎÌá¤êÃÍ
    }
¡¡
¡¡JudgeJobsEnd ¥á¥½¥Ã¥É¤ÎÌá¤êÃͤη¿¤Ï (bool, int) ¤Î¥¿¥×¥ë·¿¤Ç¤¹¡£
¤è¤Ã¤Æ¤³¤Î½èÍý¤Ï¥¿¥×¥ë·¿ = ¥¿¥×¥ë·¿¤Ë¤Ê¤ê¤Þ¤¹¤Î¤Ç¡¢ÂåÆþ½èÍý¤¬À®Î©¤·¤Æ¤¤¤Þ¤¹¡£
¥¿¥×¥ë·¿Æ±»Î¤Ç¤¢¤Ã¤Æ¤â¡¢¥¿¥×¥ëÆâ¤Î·¿¤¬°Û¤Ê¤ë¾ì¹ç¤Ë¤ÏÂåÆþ½èÍý¤Ç¤­¤Þ¤»¤ó¤Î¤ÇÃí°Õ¤·¤Æ¤¯¤À¤µ¤¤¡£
º£²ó¤Ï¡¢(bool, int) = (bool, int) ¤Ç¤¢¤ë¤¿¤á½èÍý¤¬À®Î©¤·¤Æ¤¤¤Þ¤¹¡£

¡¡¤³¤Î½èÍý¤¬¼Â¹Ô¤µ¤ì¤ë¤È¡¢JudgeJobsEnd ¥á¥½¥Ã¥ÉÆâ¤Ë¤ª¤¤¤Æ½èÍý¤¬¹Ô¤ï¤ì¤Æ¡¢
¤½¤Î½èÍý·ë²Ì¤È¤·¤Æ¡¢bool ·¿¤Ç¤ª»È¤¤¤¬´°Î»¤·¤Æ¤¤¤ë/¤·¤Æ¤¤¤Ê¤¤(true / false)¤È¡¢int ·¿¤Ç»Ä¤Ã¤Æ¤¤¤ë¤ª»È¤¤¤Î»þ´Ö¡¢¤È¤¤¤¦£²¤Ä¤Î¾ðÊó¤¬ damage ÊÑ¿ô¤ËÂåÆþ¤µ¤ì¤ë¤³¤È¤Ë¤Ê¤ê¤Þ¤¹¡£


»²¹Í¥µ¥¤¥È
MicroSoft C#¥ê¥Õ¥¡¥ì¥ó¥¹
¥¿¥×¥ë·¿
https://docs.microsoft.com/ja-jp/dotnet/csharp/lan...


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


¡¡¥í¡¼¥É¤Î½èÍý¤Ë¤ÏÊ£¿ô¤Î³Îǧ¤ò¹Ô¤¦¤Ù¤­¥Ý¥¤¥ó¥È¤¬¤¢¤ê¤Þ¤¹¡£
¤½¤ì¤é¤ò½çÈ֤˥ǥХå°¤ò¹Ô¤¤¡¢À©¸æ¤¬Àµ¾ï¤Ë¹Ô¤ï¤ì¤Æ¤¤¤ë¤«¤ò³Îǧ¤·¤Æ¤¯¤À¤µ¤¤¡£


¡ã¼ÂÁõÆ°²è­¡¡¡¥²¡¼¥à¤òºÆ³«¤¹¤ë¡£ÊüÃÖ¤·¤¿»þ´Ö·Ð²á¸å¤Ë¡¢»Ä¤ê»þ´Ö¤¬»Ä¤Ã¤Æ¤¤¤ë¾ì¹ç¤Ë¤Ï¡¢ÊüÃÖ¤·¤¿»þ´Ö¤òº¹¤·°ú¤¤¤Æ¤ª»È¤¤¤òºÆ³«¤¹¤ë¡ä
Æ°²è¥Õ¥¡¥¤¥ë¤Ø¤Î¥ê¥ó¥¯


¡ã¼ÂÁõÆ°²è­¢¡¡¥²¡¼¥à¤òºÆ³«¤¹¤ë¡£¤ª»È¤¤¤òºÆ³«¤·¤¿¤Þ¤Þ¥²¡¼¥à¤ò¼Â¹Ô¤·¤Æ¤¤¤ë¤È¡¢¤ª»È¤¤»þ´Ö¤¬ 0 ¤Ë¤Ê¤ë¤È¤ª»È¤¤´°Î»¤Î¾õÂ֤ˤʤë¡ä
Æ°²è¥Õ¥¡¥¤¥ë¤Ø¤Î¥ê¥ó¥¯


¡ã¼ÂÁõÆ°²è­£¡¡¥²¡¼¥à¤òºÆ³«¤¹¤ë¡£¤ª»È¤¤¤Î»Ä¤ê»þ´Ö¤«¤éÊüÃÖ¤·¤¿»þ´Ö¤ò°ú¤¤¤Æ¡¢¤ª»È¤¤¤Î»þ´Ö¤¬»Ä¤Ã¤Æ¤¤¤Ê¤¤¾ì¹ç¤Ë¤Ï¡¢¤ª»È¤¤¤ò´°Î»¤¹¤ë¡ä
Æ°²è¥Õ¥¡¥¤¥ë¤Ø¤Î¥ê¥ó¥¯


¡ã¼ÂÁõÆ°²è­¤¡¡¥²¡¼¥à¤òºÆ³«¤¹¤ë¡£¤ª»È¤¤¤ò´°Î»¤·¤¿¾õÂÖ(¤ª»È¤¤¤Î»Ä¤ê»þ´Ö¤¬ 0)¤Ç¥²¡¼¥à¤ò½ªÎ»¤·¤Æ¤¤¤¿¾ì¹ç¤Ë¤Ï¡¢¤ª»È¤¤¤ò´°Î»¤·¤¿¾õÂ֤ˤ¹¤ë¡ä
Æ°²è¥Õ¥¡¥¤¥ë¤Ø¤Î¥ê¥ó¥¯



¡¡°Ê¾å¤Ç¤³¤Î¼ê½ç¤Ï½ªÎ»¤Ç¤¹¡£
¡¡
¡¡¼¡¤Ï¡¡¼ê½ç£±£·¡¡¡Ý¤ª»È¤¤¤Î·ë²Ì¤ÎË«¾Þɽ¼¨ÍѤΥݥåץ¢¥Ã¥×¤È¥¹¥¯¥ê¥×¥È¤ÎºîÀ®¤ÈÀ¸À®½èÍý¤Î¼ÂÁõ¡Ý¡¡¤Ç¤¹¡£