ºÇ½ª¹¹¿·¡§
orika_ex_miyako 2020ǯ12·î12Æü(ÅÚ) 19:36:22ÍúÎò
¡¡¥¨¥ê¥¢¤Î¿Ê¹Ô´ÉÍý¤Ë¤Ä¤¤¤Æ¤ÏGameManager¥¯¥é¥¹¤Ë¼ÂÁõ¤·¤Æ¤¤¤Þ¤¹¤Î¤Ç¡¢¤³¤Î¼ê½ç¤Ç¤Ï¥¹¥Æ¡¼¥¸¤Î¿Ê¹Ô´ÉÍý¤È¡¢
¤½¤ì¤Ë¤Þ¤Ä¤ï¤ë½èÍý(¥¹¥Æ¡¼¥¸¤Î¥¯¥ê¥¢È½Äê¡¢¥²¡¼¥à¤Î¥¯¥ê¥¢È½Äê¡¢¼¡¤Î¥¹¥Æ¡¼¥¸¤Ø¤ÎÁ«°Ü½èÍý¤Ê¤É¡Ë¤Ë¤Ä¤¤¤Æ¼ÂÁõ¤ò¹Ô¤¤¤Þ¤¹¡£
¡ã¼ÂÁõÆ°²è¡¡¥²¡¼¥à¥¯¥ê¥¢È½Äê¡ä
https://gyazo.com/e2f878244debf1240aed35b63fcde4bf
¥¹¥Æ¡¼¥¸¤Î¿Ê¹Ô¾õÂÖ
¡¡¥¹¥Æ¡¼¥¸Æâ¤ÎÁ´¥¨¥ê¥¢¤ò¥¯¥ê¥¢ ¡¡¡¡¡¡¢ ¡¡GameData¥¯¥é¥¹¤Ë¥¯¥ê¥¢¤·¤¿¥¹¥Æ¡¼¥¸¤ÎÈÖ¹æ¤òÊݸ ¡¡¡¡¡¡¢ ¡¡¡ã¥²¡¼¥à¤Î¥¯¥ê¥¢È½Äê¡¡Á´¥¹¥Æ¡¼¥¸¥¯¥ê¥¢¡©¡ä¡¡¡¡¢ª¡¡Á´¥¹¥Æ¡¼¥¸¤ò¥¯¥ê¥¢¤·¤Æ¤¤¤ë¾ì¹ç¤Ë¤Ï¡¢¥²¡¼¥à¥¯¥ê¥¢ ¡¡¡¡¡¡¢ ¡¡(ɬÍפʤé¤Ð)Á´¥¹¥Æ¡¼¥¸¥¯¥ê¥¢¤·¤Æ¤¤¤Ê¤¤¾ì¹ç¤Ë¤Ï¡¢¼¡¤Î¥¹¥Æ¡¼¥¸³«»ÏÁ°¤Î¥¤¥Ù¥ó¥È¤òºÆÀ¸ ¡¡¡¡¡¡¢ ¡¡¼¡¤Î¥¹¥Æ¡¼¥¸¤ò¥¹¥¿¡¼¥È ¡¡¡¡¡¡¢ ¡¡¤³¤Î¼ê½ç¤ò¥²¡¼¥à¥¯¥ê¥¢¤¹¤ë¤Þ¤ÇÊÖ¤¹¡£¡¡
¡¡¼ÂÁõ¼ê½ç¤Ï°Ê²¼¤ÎÄ̤ê¤Ç¤¹¡£
¡¡£±¡¥GameData ¥¹¥¯¥ê¥×¥È¤òºîÀ®¤¹¤ë ¡¡£²¡¥GameData ¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤òºîÀ®¤·¤Æ¡¢GameData¥¹¥¯¥ê¥×¥È¤ò¥¢¥¿¥Ã¥Á¤¹¤ë ¡¡£³¡¥GameManager¥¯¥é¥¹¤ò½¤Àµ¤¹¤ë ¡¡£´¡¥¥²¡¼¥à¤ò¼Â¹Ô¤·¤ÆÆ°ºî¤ò³Îǧ¤¹¤ë
¡¡¥·¡¼¥óÁ«°Ü¤ò¹Ô¤Ã¤¿ºÝ¤Ë¥¯¥ê¥¢¤·¤¿¥¹¥Æ¡¼¥¸¤ÎÈÖ¹æ¤òÊÝ»ý¤Ç¤¤ë¤è¤¦¤Ë¡¢DontDestroyOnLoad¥á¥½¥Ã¥É¤òÍøÍѤ·¤¿¥¯¥é¥¹¤òºîÀ®¤·¤Þ¤¹¡£
¸½ºß GameManager¥¯¥é¥¹¤Ë¤Æ´ÉÍý¤·¤Æ¤¤¤ë currentStageNo ÊÑ¿ô¤ò¤³¤Á¤é¤Î¥¯¥é¥¹¤Ë°ÜÆ°¤µ¤»¤Æ¡¢¤³¤Á¤é¤Ç´ÉÍý¤ò¹Ô¤¦¤è¤¦¤Ë¤·¤Þ¤¹¡£
¥·¡¼¥óÁ«°Ü¤ò¹Ô¤Ã¤Æ¤âÃͤ¬ÊÝ»ý¤µ¤ì¤Þ¤¹¤Î¤Ç¡¢¤³¤Î¥¯¥é¥¹¤ò»²¾È¤¹¤ë¤³¤È¤Ë¤è¤ê¡¢É¬Íפʥ¹¥Æ¡¼¥¸¤ÎÈÖ¹æ¤ò»²¾È¤¹¤ë¤³¤È¤¬²Äǽ¤Ë¤Ê¤ê¤Þ¤¹¡£
¡¡»²¾È¤·¤ä¤¹¤¤¤è¤¦¤Ë¡¢GameData¥¯¥é¥¹¤Ï¥·¥ó¥°¥ë¥È¥ó¡¦¥Ç¥¶¥¤¥ó¥Ñ¥¿¡¼¥ó¤Ë¤ÆºîÀ®¤ò¹Ô¤¤¤Þ¤¹¡£
GameData.cs
¡¡¥Ò¥¨¥é¥ë¥¡¼¤Î²¿¤â¤Ê¤¤Éôʬ¤Ç±¦¥¯¥ê¥Ã¥¯¤ò¤·¤Æ¥á¥Ë¥å¡¼¤òɽ¼¨¤·¡¢Create Empty ¤òÁªÂò¤·¤Þ¤¹¡£
¥Ò¥¨¥é¥ë¥¡¼¤Ë¶õ¤Î¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤¬£±¤ÄºîÀ®¤µ¤ì¤Þ¤¹¤Î¤Ç¡¢Ì¾Á°¤ò GameData ¤ËÊѹ¹¤·¤Þ¤¹¡£
¡¡Àè¤Û¤ÉºîÀ®¤·¤¿ GameData ¥¹¥¯¥ê¥×¥È¤ò GameData ¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤Ë¥É¥é¥Ã¥°¥¢¥ó¥É¥É¥í¥Ã¥×¤·¤Æ¥¢¥¿¥Ã¥Á¤·¤Æ¤¯¤À¤µ¤¤¡£
GameData ¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¡¡¥¤¥ó¥¹¥Ú¥¯¥¿¡¼²èÁü

¡¡CurrentStageNo ÊÑ¿ô¤Ï¥²¡¼¥à¤Î¿Ê¹Ô¤Ë¹ç¤ï¤»¤Æ¥«¥¦¥ó¥È¥¢¥Ã¥×¤µ¤ì¤ëÃͤǤ¹¤Î¤Ç¡¢¤³¤ÎÃÍ¤Ï 0 ¤Î¤Þ¤Þ¤Ç¹½¤¤¤Þ¤»¤ó¡£
0 = ¥¹¥Æ¡¼¥¸£±¡¢1 = ¥¹¥Æ¡¼¥¸£²¡¢¤È¤Ê¤ê¡¢¤³¤ÎÃͤò¥¹¥Æ¡¼¥¸¥Ç¡¼¥¿¤Î¥¤¥ó¥Ç¥Ã¥¯¥¹¤ÎÃͤÈϢư¤µ¤»¤Þ¤¹¡£(¥¹¥Æ¡¼¥¸¥Ç¡¼¥¿¾å¤Î¥¹¥Æ¡¼¥¸£±¤Ï¡¢¥¤¥ó¥Ç¥Ã¥¯¥¹ 0 È֤Ǥ¹)
¡¡BattleTime ÊÑ¿ô¤Ï¤Þ¤À̤»ÈÍѤǤ¹¡£¤â¤·¤â¥¨¥ê¥¢Æâ¤ä¥¹¥Æ¡¼¥¸Æâ¤Ë¥²¡¼¥à¤Î»Ä¤ê»þ´Ö¤òÀßÄꤹ¤ë¾ì¹ç¤ËÍøÍѤǤ¤Þ¤¹¡£
¤³¤ÎÃͤ⸽ºß¤Ï 0 ¤Î¤Þ¤Þ¤Ç¹½¤¤¤Þ¤»¤ó¡£
¡¡currentStageNo ÊÑ¿ô¤ò GameData ¥¯¥é¥¹¤Ø°ÜÆ°¤·¤Þ¤·¤¿¤Î¤Ç¡¢¤³¤ÎÊÑ¿ô¤Ï¥³¥á¥ó¥È¥¢¥¦¥È¤·¤Þ¤¹¡£
¤½¤ì¤Ë¹ç¤ï¤»¤Æ¡¢InitStage¥á¥½¥Ã¥ÉÆâ¤Î¤³¤ÎÊÑ¿ô¤òÍøÍѤ·¤Æ¤¤¤¿Éôʬ¤ò GameData ¥¯¥é¥¹¤ò»²¾È¤¹¤ë½ñ¼°
(currentStageNo => GameData.instance.currentStageNo)¤ËÊѹ¹¤·¤Þ¤¹¡£
¡¡GameData¥¯¥é¥¹¤Ï¥·¡¼¥óÁ«°Ü¤·¤Æ¤âÇË´þ¤µ¤ì¤Ê¤¤¥ª¥Ö¥¸¥§¥¯¥È¤Ë¤Ê¤Ã¤Æ¤¤¤Þ¤¹¤Î¤Ç¡¢¥¯¥ê¥¢¤·¤Æ¤¤¤ë¥¹¥Æ¡¼¥¸¤ÎÈֹ椬ÊÝ»ý¤µ¤ì¤Æ¤¤¤Þ¤¹¡£
¤³¤ÎÃͤò»²¾È¤¹¤ë¤³¤È¤Ë¤è¤Ã¤Æ¡¢¥¹¥Æ¡¼¥¸¥¯¥ê¥¢¸å¤Ë¤¤¤º¤ì¤Î¥·¡¼¥ó¤ËÁ«°Ü¤·¤Æ¤¤¤Æ¤â¡¢¼¡¤ËÍÑ°Õ¤¹¤ë¥¹¥Æ¡¼¥¸¤ÎÈÖ¹æ¤ò»²¾È¤·¤Æ¥²¡¼¥à¤ò¿Ê¹Ô¤¹¤ë¤³¤È¤¬²Äǽ¤Ë¤Ê¤ê¤Þ¤¹¡£¡¡
¡¡¥¹¥Æ¡¼¥¸¥¯¥ê¥¢´ØÏ¢¤Î½èÍý¤È¤·¤Æ¡¢¿·¤·¤¯¥á¥½¥Ã¥É¤ò£³¤ÄÄɲ䷤Ƥ¤¤Þ¤¹¡£¥¹¥Æ¡¼¥¸¤Î¥¯¥ê¥¢È½Äê¤ò¹Ô¤¦¥á¥½¥Ã¥É¤ä¡¢
¥¹¥Æ¡¼¥¸¤ÎÁ«°Ü¡¢Ê̤Υ·¡¼¥ó¤Ø¤ÎÁ«°Ü¤Ê¤É¤Î½èÍý¤òÄɲ乤ë¥á¥½¥Ã¥É¤Ë¤Ê¤ê¤Þ¤¹¡£
¡¡Update¥á¥½¥Ã¥É¤Î½èÍý¤ò½¤Àµ¤·¤Æ¡¢¤³¤ì¤é¤ÎÄɲä·¤¿¥á¥½¥Ã¥É¤ò¼Â¹Ô¤·¤Æ¥¹¥Æ¡¼¥¸¥¯¥ê¥¢¤ÎȽÄê¤ä¥²¡¼¥à¥¯¥ê¥¢¤Î½èÍý¤Ë¡¢½èÍý¤ò¤Ä¤Ê¤²¤Æ¤¤¤¤Þ¤¹¡£
GameManager.cs
¡¡ifʸ¤Ë¤ÏÌá¤êÃͤò»ý¤Ä¥á¥½¥Ã¥É¤òÍøÍѤ¹¤ë¤³¤È¤Ç¡¢¤½¤ÎÌá¤êÃͤÎÃͤòɾ²Á¤·¤ÆȽÄê¤ò¹Ô¤¦¤³¤È¤¬½ÐÍè¤Þ¤¹¡£
// ¥¹¥Æ¡¼¥¸¤ò¥¯¥ê¥¢¤·¤¿¤«³Îǧ if (CheckStageClear() == true) { // true ¤«¤É¤¦¤«È½Äê¡£½ñ¼°¤Ï¡¢if(CheckStageClear()){¡¡¤Ç¤â¤è¤¤ // ¥¯¥ê¥¢¤·¤Æ¤¤¤ì¤Ð¡¢¼¡¤Î¥¹¥Æ¡¼¥¸¤ò¥¹¥¿¡¼¥È NextStage(); } else { // ¥¯¥ê¥¢¤·¤Æ¤¤¤Ê¤±¤ì¤Ð¡¢¼¡¤Î¥¨¥ê¥¢¤ò¥¹¥¿¡¼¥È SetUpNextArea(); }
¡¡¤³¤³¤Ç¤Ï¡¢CheckStageClear¥á¥½¥Ã¥É¤ò¼Â¹Ô¤·¡¢¤³¤Î¥á¥½¥Ã¥É¤ÎÌá¤êÃͤ¬ bool ·¿¤Ç¤¢¤ë¤¿¤á¡¢¤½¤ÎÌá¤êÃͤòɾ²Á¤·¤Æ¾ò·ïʬ´ô¤ò¹Ô¤¤¤Þ¤¹¡£
/// <summary> /// ¥¹¥Æ¡¼¥¸¤Î¥¯¥ê¥¢È½Äê /// </summary> private bool CheckStageClear() { // ¥¨¥ê¥¢¤ÎÈֹ椬¥¹¥Æ¡¼¥¸¤ÎºÇ¸å¤Î¥¨¥ê¥¢¤ÎÈֹ椫¤É¤¦¤«³Îǧ¤¹¤ë if (areaIndex >= currentStageData.areaDatas.Count) { return true; } return false; }
¡¡CheckStageClear ¥á¥½¥Ã¥É¤Ë¤Ï bool ·¿¤ÎÌá¤êÃͤ¬¤¢¤ê¤Þ¤¹¤Î¤Ç¡¢¤³¤Î¥á¥½¥Ã¥É¤Î½èÍý·ë²Ì¤¬¡¢ifʸ¤Î¾ò·ï¼°¤ËÂФ·¤Æ¤Îɾ²ÁÂоݤȤʤꡢ¾ò·ï¤òËþ¤¿¤¹¤«¡¢Ëþ¤¿¤·¤Æ¤¤¤Ê¤¤¤«¤òȽÄꤷ¤Þ¤¹¡£
¡¡½èÍý¤Î½çÈ֤Ȥ·¤Æ¤Ï
¡¡¡¡if ʸ¤Ë½èÍý¤¬Åþ㤹¤ë¡¡¢ª¡¡CheckStageClear¥á¥½¥Ã¥É¤ò¼Â¹Ô¤·¡¢¤½¤Î·ë²Ì¤Ç¤¢¤ëbool·¿¤ÎÃͤ¬ if ʸÆâ¤Î¾ò·ï¼°¤ËÌá¤ë¡¡¢ª¡¡Ìá¤êÃͤò if ʸ¤¬É¾²Á¤·¤Æ¾ò·ïʬ´ô¤¹¤ë
¡¡¤È¤¤¤¦Î®¤ì¤Ë¤Ê¤ê¤Þ¤¹¡£
¡¡ºÇ½é¤Ë¥²¡¼¥à¥¯¥ê¥¢¤ÎȽÄê¤Î³Îǧ¤ò¹Ô¤¤¤Þ¤¹¡£¥¹¥Æ¡¼¥¸¥Ç¡¼¥¿¤ò£±¤Äʬ¤Î¥¹¥Æ¡¼¥¸¾ðÊó¤Ë¤·¤Æ¤¯¤À¤µ¤¤¡£¥¨¥ê¥¢¤Î¿ô¤Ï¼«Í³¤Ç¤¹¡£
¡¡¥¹¥Æ¡¼¥¸¤ËÅÐÏ¿¤µ¤ì¤Æ¤¤¤ë¥¨¥ê¥¢¤ò¤¹¤Ù¤Æ¥¯¥ê¥¢¤·¤Æ±¦Ã¼¤Î°ÜÆ°Èϰϳ°¤Ø¿¯Æþ¤·¤¿¾ì¹ç¡¢¥²¡¼¥à¥¯¥ê¥¢¤ÎȽÄ꤬¹Ô¤ï¤ì¤Þ¤¹¡£
¡ã¼ÂÁõÆ°²è¡ä
https://gyazo.com/e2f878244debf1240aed35b63fcde4bf
¡¡
¡¡¼¡¤Ë¡£¥¹¥Æ¡¼¥¸¥¯¥ê¥¢¤ÎȽÄê¸å¤Ë¡¢¼¡¤Î¥¹¥Æ¡¼¥¸¤ËÁ«°Ü¤¹¤ë½èÍý¤Î³Îǧ¤ò¹Ô¤¤¤Þ¤¹¡£
¥¹¥Æ¡¼¥¸¥Ç¡¼¥¿¤Ë£²¤Äʬ¤Î¥¹¥Æ¡¼¥¸¾ðÊó¤òÄɲ䷤Ƥ¯¤À¤µ¤¤¡£¥¨¥ê¥¢¤Î¿ô¤Ï¼«Í³¤Ç¤¹¡£
StageList¡¡¥¤¥ó¥¹¥Ú¥¯¥¿¡¼²èÁü

Stage 0 ¥¨¥ê¥¢ 0

Stage 0 ¥¨¥ê¥¢ 1

Stage 1 ¥¨¥ê¥¢ 0

Stage 1 ¥¨¥ê¥¢ 1

¡¡£±¤ÄÌܤΥ¨¥ê¥¢¤òÁ´Éô¥¯¥ê¥¢¤·¤¿¾õÂ֤Ǽ¡¤Î¥¨¥ê¥¢¤Ë°Ü¤í¤¦¤È¤¹¤ë¤È¡¢¤½¤³¤Ç¥¯¥ê¥¢¤ÎȽÄ꤬ȯÀ¸¤·¤Þ¤¹¡£
¤¹¤Ù¤Æ¤Î¥¹¥Æ¡¼¥¸¤Ï¥¯¥ê¥¢¤·¤Æ¤¤¤Þ¤»¤ó¤Î¤Ç¡¢¤³¤³¤Ç¤Ï¼¡¤Î¥¹¥Æ¡¼¥¸¤Ë°Ü¹Ô¤¹¤ëȽÄê¤Ë¤Ê¤ê¤Þ¤¹¡£
Console²èÁü

¡¡°Ê¾å¤Ç¤³¤Î¼ê½ç¤Ï½ªÎ»¤Ç¤¹¡£¤ªÈè¤ìÍͤǤ·¤¿¡£
- ¥«¥Æ¥´¥ê¡§
- ¿Ê³Ø/¥¹¥¯¡¼¥ë
- ¥×¥í¥°¥é¥ß¥ó¥°
¥³¥á¥ó¥È¤ò¤«¤¯