i-school - £²£Ä¥¿¥ï¡¼¥Ç¥£¥Õ¥§¥ó¥¹¡¡È¯Å¸£¹
¡¡°Ê²¼¤ÎÆâÍƤǼÂÁõ¤ò¿Ê¤á¤Æ¤¤¤­¤Þ¤¹¡£

ȯŸ£¹¡¡¡¼¥¹¥Æ¡¼¥¸µ¡Ç½¤Î¼ÂÁõ¡¼
£±£´¡¥¥¹¥Æ¡¼¥¸¥Ç¡¼¥¿¤òÍøÍѤ·¤Æ¡¢¥¹¥Æ¡¼¥¸¤ÎÈÖ¹æ¤Ë±þ¤¸¤¿ MainMap ¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤òÀ¸À®¤·¤Æ¼«Æ°Åª¤ËÀßÄê¤ò¹Ô¤¦µ¡Ç½¤ò¼ÂÁõ¤¹¤ë



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

¡¡¡¦£±¤Ä¤Î¥·¡¼¥ó¤ò°Û¤Ê¤ë¾ðÊó¤ò»È¤Ã¤Æ±¿ÍѤ¹¤ëÊýË¡­£
¡¡¡¦½èÍý¤ÎÆɤ߲ò¤­Êý¡¡¡¼¥¿¥×¥ë¤Ë¤è¤ëʬ²òÂåÆþ½èÍý¡¼



£±£´¡¥¥¹¥Æ¡¼¥¸¥Ç¡¼¥¿¤òÍøÍѤ·¤Æ¡¢¥¹¥Æ¡¼¥¸¤ÎÈÖ¹æ¤Ë±þ¤¸¤¿ MainMap ¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤òÀ¸À®¤·¤Æ¼«Æ°Åª¤ËÀßÄê¤ò¹Ô¤¦µ¡Ç½¤ò¼ÂÁõ¤¹¤ë

£±¡¥Àß·×


¡¡Start ¥á¥½¥Ã¥É¤òÍøÍѤ·¤Æ¡¢GameData ¥¯¥é¥¹¤ËÀßÄꤵ¤ì¤Æ¤¤¤ë StageNo ÊÑ¿ô¤«¤é¥¹¥Æ¡¼¥¸¤Î¾ðÊó StageData ¥¯¥é¥¹¤ò¼èÆÀ¤·¤Þ¤¹¡£
¤³¤Î¾ðÊó¤òÍøÍѤ·¤Æ¡¢¥¹¥Æ¡¼¥¸¡¢ËɱҵòÅÀ¤ÎÀ¸À®¤ò¹Ô¤¤¡¢EnemyGenerator ¥¯¥é¥¹¤Ë°ÜÆ°·ÐÏ©¤ÈÀ¸À®¤¹¤ë¥¨¥Í¥ß¡¼¤Î¾ðÊó¤òÄ󶡤·¤Þ¤¹¡£

¡¡DefenseBase ¥¯¥é¥¹¡¢EnemyGenerator ¥¯¥é¥¹¤Î Start ¥á¥½¥Ã¥É¤Ï¡¢GameManager ¥¯¥é¥¹¤«¤éÌ¿Îá¤ò¼õ¤±¤Æ¤«¤é¼Â¹Ô¤µ¤ì¤ë¥á¥½¥Ã¥É¤ËÊѹ¹¤·¡¢
GameManager ¥¯¥é¥¹¤«¤éÌ¿Îá¤ò¼õ¤±¤Æ¤«¤é³Æ¥¯¥é¥¹Æâ¤ÎÀßÄê¤ò¹Ô¤¦¤è¤¦¤ËÀ߷פòÊѹ¹¤·¤Æ¤¤¤Þ¤¹¡£

¡¡¤½¤Î¤¿¤á¡¢¥²¡¼¥à¤ò³«»Ï¤¹¤ëºÝ¤ÎÀßÄê¾ðÊó¤Ë¤Ä¤¤¤Æ¤Ï¡¢GameManager ¥¯¥é¥¹¤Î Start ¥á¥½¥Ã¥É¤¬¤¹¤Ù¤Æ¤Î³«»ÏÃÏÅÀ¤È¤Ê¤ê¡¢
¤³¤³¤«¤é³Æ¥¯¥é¥¹¤ØÀßÄê¤ò¹Ô¤¦¤è¤¦¤ËÌ¿Îá¤ò½Ð¤¹¤è¤¦¤Ë¤¹¤ë¤³¤È¤Ç¡¢½ç½øΩ¤Æ¤¿Ä̤ê¤Ë½èÍý¤ò¼Â¹Ô¤·¤Æ¤¤¤¯ºî¤ê¤Ë¤Ê¤Ã¤Æ¤¤¤Þ¤¹¡£



¡¡½èÍý¤Î¥í¥¸¥Ã¥¯¤Ï¡¢¥¹¥¿¡¼¥ÈÃÏÅÀ¤«¤é¥´¡¼¥ëÃÏÅÀ¤Ø¸þ¤«¤Ã¤Æ¡¢¥³¥á¥ó¥È¤ò½ñ¤¤¤Æ¤¤¤¯¤è¤¦¤Ë¤·¤Þ¤¹¡£
¤½¤Î¸å¡¢¥´¡¼¥ëÃÏÅÀ¦¤«¤é¡¢¥¹¥¿¡¼¥ÈÃÏÅÀ¤Ø¸þ¤«¤Ã¤Æ¡¢¥³¥á¥ó¥È¤Ë±è¤Ã¤¿¥×¥í¥°¥é¥à¤ò¼ÂÁõ¤¹¤ë¤è¤¦¤Ë¤·¤Þ¤¹¡£

¡¡¤³¤Î¤è¤¦¤Ë¥í¥¸¥Ã¥¯¤òÁȤßΩ¤Æ¤Æ¤¤¤¯¤³¤È¤Ç¡¢½èÍý¤Îή¤ì¤ò³Îǧ¤·¤Ê¤¬¤é¥×¥í¥°¥é¥à¤ò¼ÂÁõ¤¹¤ë¤³¤È¤¬½ÐÍè¤Þ¤¹¡£

¡¡º£²ó¤Ç¤¢¤ì¤Ð¡¢½èÍý¤Î¥¹¥¿¡¼¥ÈÃÏÅÀ¤Ï GameManager ¥¯¥é¥¹¤Ç¤¹¡£¤³¤Á¤é¤Î Start ¥á¥½¥Ã¥ÉÆ⤬³ºÅö¤·¤Þ¤¹¡£
TODO ¤òµ­½Ò¤·¤Æ¤¤¤Þ¤¹¤Î¤Ç¡¢¤³¤Î¤è¤¦¤Ë¥³¥á¥ó¥È¤ò½ñ¤¤¤Æ¤¤¤¯¤È¤¤¤¤¤Ç¤·¤ç¤¦¡£

¡¡GameManager ¥¯¥é¥¹Æâ¤Ë¥á¥½¥Ã¥É¤òÄɲ乤ë¾ì¹ç¤Ë¤Ï¡¢¤³¤Î»þÅÀ¤Ç¥³¥á¥ó¥È¤òºî¤Ã¤Æ¤ª¤­¤Þ¤¹¡£
¥³¥á¥ó¥È¤Ï¾ÜºÙ¤Ë¡¢µ­½Ò¤·¤¿¤¤ÆâÍƤò½ñ¤¤¤Æ¤ª¤¯¤³¤È¤Ç¥×¥í¥°¥é¥à¤òºî¤ê¤ä¤¹¤¯¤Ê¤ê¤Þ¤¹¡£

¡¡GameManager ¥¯¥é¥¹Æâ¤Î¥³¥á¥ó¥È¤ò½ñ¤­½ª¤ï¤Ã¤¿¤é¡¢¤³¤³¤«¤éÀè¤Î¥¯¥é¥¹¤ØŸ³«¤·¤Þ¤¹¡£
¥¹¥Æ¡¼¥¸¥Ç¡¼¥¿¤ò»²¾È¤·¤Æ½èÍý¤ò¤·¤Æ¤¤¤ë¥¯¥é¥¹¤ò¸«Ä¾¤·¡¢¤É¤Î¥¯¥é¥¹¤Ë±Æ¶Á¤¬¤¢¤ë¤«¤òÀººº¤·¤Þ¤¹¡£

¡¡¸½»þÅÀ¤Ç¤Ï¡¢DefenseBase ¥¯¥é¥¹¤Ë¤¢¤ëÂѵ×ÎϤÎÃÍ¡¢EnemyGenerator ¥¯¥é¥¹¤Ë¤¢¤ë¥¨¥Í¥ß¡¼¤Î°ÜÆ°·ÐÏ©¤Î¾ðÊ󤬡¢
¥¹¥Æ¡¼¥¸¥Ç¡¼¥¿¤ò»²¾È¤¹¤ëÉôʬ¤Ë¤Ê¤ê¤Þ¤¹¤Î¤Ç¡¢³ºÅö¤¹¤ëÊÑ¿ô¤ÎÉôʬ¤Ë¤½¤ì¤¾¤ì¤Î¥¯¥é¥¹¤Ë¥³¥á¥ó¥È¤òµ­½Ò¤¹¤ë¤è¤¦¤Ë¤·¤Þ¤¹¡£

¡¡ÊÑ¿ô¤ËÂåÆþ¤·¤Æ¤¤¤ëÉôʬ¤¬¤¢¤ë¤Î¤Ç¤¢¤ì¤Ð¤½¤Î¾å¤Ë¥³¥á¥ó¥È¤ò½ñ¤¤¤Æ¡¢¥¹¥Æ¡¼¥¸¥Ç¡¼¥¿¤ò»²¾È¤¹¤ëÃͤˤ¹¤ë¡¢¤È½ñ¤¤¤Æ¤ª¤­¤Þ¤·¤ç¤¦¡£



¡¡¤³¤Î¤È¤­½ÅÍפˤʤë¤Î¤Ï¡¢¤É¤Î¤è¤¦¤Ë¤·¤Æ¥¹¥Æ¡¼¥¸¤Î¾ðÊ󤫤é³ÆÃͤò»²¾È¤¹¤ë¤è¤¦¤Ë¤¹¤ë¤«¤Ç¤¹¡£
¤³¤ì¤Ë¤Ï¥á¥½¥Ã¥É¤Î°ú¿ô¤ò¾å¼ê¤¯³èÍѤ·¤Æ¤¤¤­¤Þ¤·¤ç¤¦¡£GameManager ¥¯¥é¥¹¤«¤é³Æ¥¯¥é¥¹¤Ë¤¢¤ë¥á¥½¥Ã¥É¤ò¼Â¹Ô¤¹¤ëºÝ¤Ë¡¢
ɬÍפʾðÊó¤òÄ󶡤¹¤ë¤¿¤á¤Ë¤Ï¡¢¤É¤Î¤è¤¦¤Ê½èÍý¤¬É¬Íפˤʤ뤫¤ò¸¡Æ¤¤·¤Æ¤ß¤Æ¤¯¤À¤µ¤¤¡£

¡¡DefenseBase ¥¯¥é¥¹¤Î¤è¤¦¤Ë Start ¥á¥½¥Ã¥É¤«¤é»Ï¤Þ¤Ã¤Æ¤¤¤Æ¡¢GameManager ¥¯¥é¥¹¤«¤é¸Æ¤Ó½Ð¤¹¤¿¤á¤Î¥á¥½¥Ã¥É¤¬¤Ê¤¤¾ì¹ç¤Ë¤Ï¡¢
¿·¤·¤¯ public ½¤¾þ»Ò¤Î¥á¥½¥Ã¥É¤òºîÀ®¤·¤Æ¡¢¤½¤ì¤ò GameManager ¥¯¥é¥¹¤«¤é¼Â¹Ô¤·¡¢É¬ÍפʾðÊó¤ò°ú¿ô¤òÄ̤¸¤Æ¼õ¤±¼è¤ì¤ë¤è¤¦¤Ë¤·¤Þ¤·¤ç¤¦¡£

¡¡º£²ó¤ÏÀè¤Û¤É¤âÀâÌÀ¤·¤¿¤è¤¦¤Ë Start ¥á¥½¥Ã¥É¤Ï GameManager ¥¯¥é¥¹¤Î¤ß¤È¤·¡¢Â¾¤Î¥¯¥é¥¹¤Ï¥á¥½¥Ã¥É¤ò¼Â¹Ô¤·¤Æ½èÍý¤¬»Ï¤á¤ë¤è¤¦¤Ë¤·¤Æ¤ß¤Æ¤¯¤À¤µ¤¤¡£

¡¡¤³¤Î¤è¤¦¤Ë¤·¤Æ½èÍý¤Îή¤ì¤ò¥¤¥á¡¼¥¸¤·¡¢¥¤¥á¡¼¥¸¤·¤¿¤â¤Î¤ò¥³¥á¥ó¥È¤Ë¤·¤Æ¤¤¤¯¤³¤È¤Ç½èÍý¤ÎÁ´ÂÎÁü¤ò°Õ¼±¤·¤Æ¤¯¤À¤µ¤¤¡£



¡¡¤¹¤Ù¤Æ¤Î½èÍý¤¬¤Ä¤Ê¤¬¤Ã¤¿¤é¡¢º£¸å¤Ï¡¢GameManager ¥¯¥é¥¹¤Ë¸þ¤«¤Ã¤Æ¡¢¥³¥á¥ó¥È¤Ë¤Ê¤Ã¤Æ¤¤¤ëÉôʬ¤ò¥×¥í¥°¥é¥à²½¤·¤Æ¤¤¤­¤Þ¤¹¡£
EnemyGenerator ¥¯¥é¥¹¡¢DefenseBase ¥¯¥é¥¹¤ò½¤Àµ¤·¤Æ¤«¤é GameManager ¥¯¥é¥¹¤Î¥³¥á¥ó¥ÈÉôʬ¤ò¥×¥í¥°¥é¥à¤Ë¤Ç¤­¤ì¤Ð¡¢
¸Æ¤Ó½Ð¤¹ÂоݤΥ᥽¥Ã¥É¤¬´°À®¤·¤Æ¤¤¤ë¤¿¤á¡¢¥¨¥é¡¼¤â½Ð¤º¤Ë¡¢¥­¥ì¥¤¤Ê½èÍý¤Î¼ÂÁõ¤¬´°À®½ÐÍè¤Þ¤¹¡£


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


¡¡À߷פ˴ð¤Å¤¤¤Æ½èÍý¤Î¥í¥¸¥Ã¥¯¤òÁȤó¤Ç¤¤¤­¤Þ¤¹¡£
À߷פÇÄ󼨤·¤¿¥í¥¸¥Ã¥¯¤Îή¤ì¤È¼ÂÁõ¤·¤Æ¤¤¤¯ÆâÍƤò£±¤Ä¤º¤Ä³Îǧ¤·¤Ê¤¬¤é¡¢½èÍý¤ÎÆâÍƤòÍý²ò¤·¤Æ¤¤¤­¤Þ¤·¤ç¤¦¡£

¡¡GenerateEnemy ¥á¥½¥Ã¥É¤Ï¡¢»²¾È¤¹¤ë¾ðÊó¤ò StageData ¥¯¥é¥¹¤Î¤â¤Î¤ËÊѹ¹¤·¤Þ¤¹¡£
¤½¤Î¤¿¤á½¤Àµ²Õ½ê¤¬Â¿¤¤¤Ç¤¹¤Î¤Ç¡¢µ¤¤òÉÕ¤±¤Æ½èÍý¤ÎÄɲäò¤ª¤³¤Ê¤Ã¤Æ¤¯¤À¤µ¤¤¡£


EnemyGenerator.cs

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


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


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


¡¡StageData ¥¯¥é¥¹¤ËÀßÄꤵ¤ì¤Æ¤¤¤ëÂѵ×ÎϤÎÃͤò»²¾È¤·¤Æ¡¢ËɱҵòÅÀ¤ÎÂѵ×ÎϤòÀßÄꤹ¤ë¤è¤¦¤Ë½èÍý¤ò½¤Àµ¤·¤Þ¤¹¡£

¡¡Start ¥á¥½¥Ã¥É¤ò public ½¤¾þ»Ò¤ò»ý¤Ä SetUpDefenseBase ¥á¥½¥Ã¥É¤Ë½ñ¤­´¹¤¨¤Æ¡¢°ú¿ô¤âÄɲä·¤Þ¤¹¡£
¤³¤Î¥á¥½¥Ã¥É¤ò GameManager ¥¯¥é¥¹Â¦¤«¤é¼Â¹Ô¤·¤Æ¤â¤é¤Ã¤Æ¡¢°ú¿ô¤òÄ̤¸¤Æ¾ðÊó¤ò¤â¤é¤¤¤Ä¤Ä¡¢ÀßÄê¤ò¹Ô¤¦¤è¤¦¤Ë¤·¤Þ¤¹¡£


DefenseBase.cs

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


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


£´¡¥CharaGenerator ¥¹¥¯¥ê¥×¥È¤ò½¤Àµ¤¹¤ë


¡¡¤¤¤Þ¤Þ¤Ç¤Ï¥¹¥Æ¡¼¥¸¤¬¥Ò¥¨¥é¥ë¥­¡¼¤Ë¤¢¤ê¡¢¤«¤Ä¸ÇÄê¤Ç¤¢¤Ã¤¿¤¿¤á¡¢grid ÊÑ¿ô¤È tilemaps ÊÑ¿ô¤âºÇ½é¤«¤é¥¢¥µ¥¤¥ó¤·¤Æ¤ª¤¯¤³¤È¤¬½ÐÍè¤Þ¤·¤¿¡£

¡¡¤¿¤À¤·¡¢¤³¤ì¤«¤é¤Ï¥¹¥Æ¡¼¥¸¼«ÂΤ¬¥×¥ì¥Ï¥Ö¤È¤Ê¤ê¡¢¥²¡¼¥à¤Î¼Â¹Ô¸å¤ËÀ¸À®¤µ¤ì¤ë¤³¤È¤Ë¤Ê¤ê¤Þ¤·¤¿¤Î¤Ç¡¢
¥¹¥Æ¡¼¥¸¤Î¾ðÊó¤Ç¤¢¤ë MapInfo ¤âưŪ¤ËÊѲ½¤¹¤ë¤è¤¦¤Ë¤Ê¤ê¤Þ¤·¤¿¡£

¡¡¤½¤Î¤¿¤á¡¢CharaGenerator ¤Ë¤ª¤¤¤ÆÍøÍѤ¹¤ë Grid ¤È Tilemap ¤Î¾ðÊó¤â¡¢º£²ó¤Î¥¹¥Æ¡¼¥¸¤Î¾ðÊó¤òÍøÍѤ¹¤ëÊý¼°¤ËÊѹ¹¤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£

¡¡SetUpCharaGenerator ¥á¥½¥Ã¥ÉÆâ¤Ë TODO ¤Ç»Ä¤Ã¤Æ¤¤¤ëÉôʬ¤òÄɲ䷤ơ¢¥á¥½¥Ã¥É¤Î°ú¿ô¤òÍøÍѤ·¤Æº£²óÍøÍѤ¹¤ë¥¹¥Æ¡¼¥¸¤Î¾ðÊó¤ò¼õ¤±¼è¤ê¡¢
¤½¤ì¤ò»È¤Ã¤Æ¡¢grid ÊÑ¿ô¤È tilemaps ÊÑ¿ô¤Ë¾ðÊó¤òÂåÆþ¤·¤Æ¥¹¥Æ¡¼¥¸¾ðÊó¤ò»²¾È¤·¤ÆÍøÍѤ¹¤ëÊý¼°¤ËÊѹ¹¤·¤Æ¤¤¤­¤Þ¤¹¡£


CharaGenerator.cs

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


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


¡ã½èÍý¤ÎÆɤ߲ò¤­Êý¡¡¡¼¥¿¥×¥ë¤Ë¤è¤ëʬ²òÂåÆþ½èÍý¡¼¡ä


¡¡º£²óÄɲä·¤¿½èÍý¤Ç¤Ï¡¢SetUpCharaGenerator ¥á¥½¥Ã¥É¤ËÂ裲°ú¿ô¤òÄɲ䷤ơ¢MapInfo ¥¯¥é¥¹¤Î»²¾È¤ò¼õ¤±¼è¤Ã¤Æ¤¤¤Þ¤¹¡£

¡¡MapInfo ¥¯¥é¥¹¤Ë¤Ï¡¢Timemap ·¿¤È Grid ·¿¤¬Àë¸À¤µ¤ì¤Æ¤¤¤Þ¤¹¤¬¡¢¤É¤Á¤é¤â private ¤Î¾ðÊó¤Ç¤¹¡£
¤½¤Î¤¿¤á¡¢MapInfo ¥¯¥é¥¹¤ËÍÑ°Õ¤·¤Æ¤¢¤ë¥²¥Ã¥¿¡¼¥á¥½¥Ã¥É¤òÍøÍѤ·¤Æ¡¢¤³¤ì¤é¤Î¾ðÊó¤ò¼èÆÀ¤¹¤ë¤è¤¦¤Ë¤·¤Æ¤¤¤Þ¤¹¡£

¡¡¤³¤Î GetMapInfo()¥á¥½¥Ã¥É¤ÎÌá¤êÃͤϥ¿¥×¥ë·¿¤Ç¤¢¤ë¤¿¤á¡¢´û¤ËÀë¸À¤µ¤ì¤Æ¤¤¤ëÊÑ¿ô¤Ë¥¿¥×¥ë¤òʬ²ò¤¹¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£
¤½¤Î·ë²Ì¡¢º£²ó¤Î¤è¤¦¤Ê½èÍý¤òµ­½Ò¤¹¤ë¤³¤È¤Ç¡¢£²¤Ä¤Î·¿¤Î¾ðÊó¤ò¤Þ¤È¤á¤ÆÂåÆþ¤¹¤ë¤³¤È¤¬½ÐÍè¤Þ¤¹¡£


¡ãMapInfo.GetMapInfo() ¥á¥½¥Ã¥É¡ä
    /// <summary>
    /// ¥Þ¥Ã¥×¤Î¾ðÊó¤ò¼èÆÀ
    /// </summary>
    /// <returns></returns>
    public (Tilemap, Grid) GetMapInfo() {
        return (tilemaps, grid);
    }

¡¡SetUpCharaGenerator ¥á¥½¥Ã¥ÉÆâ¤Ç¤Ï¡¢GetMapInfo() ¥á¥½¥Ã¥É¤ò¼Â¹Ô¤¹¤ë¤³¤È¤Ç¡¢
Timemap ·¿¤È Grid ·¿¤ÎξÊý¤Î¾ðÊó¤ò¼èÆÀ¤·¡¢ÊÑ¿ô¤Ë¤Þ¤È¤á¤ÆÂåÆþ½èÍý¤·¤Æ¤¤¤Þ¤¹¡£


¡ãº£²ó¼ÂÁõ¤·¤Æ¤¤¤ë½èÍý¡ä
// ¥¹¥Æ¡¼¥¸¤Î¥Ç¡¼¥¿¤ò¼èÆÀ
(tilemaps, grid) = currentMapInfo.GetMapInfo();

¡¡·¿¤Ç¸«¤ë¤Èʬ¤«¤ê¤ä¤¹¤¯¤Ê¤ê¤Þ¤¹¡£

// ¥¹¥Æ¡¼¥¸¤Î¥Ç¡¼¥¿¤ò¼èÆÀ
(Tilemap ·¿, Grid ·¿) = GetMapInfo() ¥á¥½¥Ã¥É¤ÎÌá¤êÃÍ (Tilemap ·¿, Grid ·¿);

¡¡Æ±¤¸·¿Æ±»Î¤ÎÂåÆþ½èÍý¤¬¹Ô¤ï¤ì¤Æ¤¤¤ë¤³¤È¤¬Ê¬¤«¤ê¤Þ¤¹¡£



¡¡¤Þ¤¿¡¢¥¿¥×¥ë¤ÎÃͤòÊÌ¡¹¤Ë¼õ¤±¼è¤ë½ñ¼°¤Ç¤â¼èÆÀ½ÐÍè¤Þ¤¹¡£


¡ãº£²ó¼ÂÁõ¤·¤Æ¤¤¤ë½èÍý¤ÎÊ̤νñ¼°¡ä
// ¥¹¥Æ¡¼¥¸¤Î¥Ç¡¼¥¿¤ò¤½¤ì¤¾¤ì¤Ëʬ¤±¤Æ¼èÆÀ
tilemaps = currentMapInfo.GetMapInfo().item1;¡¡¡¡//¡¡<=¡¡item1 ¤Ï¡¢¥¿¥×¥ë¤ÎºÇ½é¤ÎÃÍ

grid = currentMapInfo.GetMapInfo().item2;¡¡¡¡¡¡¡¡//¡¡<=¡¡item2 ¤Ï¡¢¥¿¥×¥ë¤Î£²ÈÖÌܤÎÃÍ

¡¡¤³¤ÎÎã¤Ç¤Ï¡¢É¬Í×¤Ê Timemap ¤È Grid ¤ÎÃͤò£±¤Ä¤Î¾ðÊó¤È¤·¤Æ¼è¤ê½Ð¤·¤Æ¡¢ÂåÆþ½èÍý¤ò¹Ô¤Ã¤Æ¤¤¤Þ¤¹¡£

¡¡¤É¤Á¤é¤Î½èÍý¤Ç¤âÌäÂꤢ¤ê¤Þ¤»¤ó¡£



¡¡¤Þ¤¿¡¢¥¿¥×¥ë¤Î½ñ¼°¤Ë¤Ï¡¢Â¾¤ÎÊýË¡¤â¤¢¤ê¤Þ¤¹¡£

¡¡Î㤨¤Ð¡¢¥í¡¼¥«¥ëÊÑ¿ô¤òÍÑ°Õ¤·¤Æ¡¢GetMapInfo() ¥á¥½¥Ã¥É¤ò£±²ó¤À¤±¼Â¹Ô¤¹¤ë¥±¡¼¥¹¤Ç¤¹¡£

¡ãÊ̤μÂÁõÎã­¡¡ä
(Tilemap, Grid) currentTileData = currentMapInfo.GetMapInfo();

// ¥¹¥Æ¡¼¥¸¤Î¥Ç¡¼¥¿¤ò¼èÆÀ
tilemaps = currentTileData.item1;

grid = currentTileData.item2;



¡¡¥¿¥×¥ë¤Ë¤Ï³ÆÊÑ¿ô̾¤ò¤Ä¤±¤ë¤³¤È¤¬½ÐÍè¤ë¤¿¤á¡¢²¼µ­¤ÎÊýË¡¤Ç¤â¼ÂÁõ½ÐÍè¤Þ¤¹¡£

¡ãÊ̤μÂÁõÎã­¢¡ä
(Tilemap currentTilemap, Grid currentGrid) currentTileData = currentMapInfo.GetMapInfo();

// ¥¹¥Æ¡¼¥¸¤Î¥Ç¡¼¥¿¤ò¼èÆÀ
tilemaps = currentTileData.currentTilemap;

grid = currentTileData.currentGrid;

¡¡¤½¤Î¾ì¹ç¡¢item ¤Ç¤Ï¤Ê¤¯¡¢¥¿¥×¥ëÆâ¤ÇºîÀ®¤·¤¿ÊÑ¿ô¤ò»È¤¦¤³¤È¤¬½ÐÍè¤Þ¤¹¡£



¡¡¥Ð¥ê¥å¡¼¥¿¥×¥ë¤Îµ¡Ç½¤¬ÍøÍѤǤ­¤ë¾ì¹ç¡¢MapInfo ¤Î GetMapInfo() ¥á¥½¥Ã¥É¤ÎÌá¤êÃͤËÊÑ¿ô¤òÄêµÁ¤Ç¤­¤Þ¤¹¡£


¡ãMapInfo.GetMapInfo() ¥á¥½¥Ã¥É¤ÎÌá¤êÃͤ˥Хê¥å¡¼¥¿¥×¥ë¤òÍøÍѤ·¤¿¾ì¹ç¡ä
    /// <summary>
    /// ¥Þ¥Ã¥×¤Î¾ðÊó¤ò¼èÆÀ
    /// </summary>
    /// <returns></returns>
    public (Tilemap currentTilemap, Grid currentGrid) GetMapInfo() {    //  ¢«¡¡Ìá¤êÃͤËÊÑ¿ô̾¤òÄêµÁ¤Ç¤­¤ë
        return (tilemaps, grid);
    }

¡¡¤½¤Î¾ì¹ç¡¢¾ðÊó¤ò¼è¤ê½Ð¤¹¤È¤­¤Ë¡¢item ¤Ç¤Ï¤Ê¤¯¡¢ÊÑ¿ô̾¤Ç»ØÄê¤Ç¤­¤Þ¤¹¡£


// ¥¹¥Æ¡¼¥¸¤Î¥Ç¡¼¥¿¤ò¼èÆÀ
tilemaps = currentMapInfo.GetMapInfo().currentTilemap;

grid = currentMapInfo.GetMapInfo().currentGrid;

¡¡¤¤¤º¤ì¤ÎÊýË¡¤Ç¤â¼ÂÁõ²Äǽ¤Ç¤¹¤Î¤Ç¡¢¼ÂºÝ¤Ë»È¤¦½èÍý¤Ï£±¤Ä¤Ç¤¹¤¬¡¢Æɤ߲ò¤­Êý¤Ï³Ð¤¨¤Æ¤ª¤¯¤È¤è¤¤¤Ç¤·¤ç¤¦¡£


»²¹Í¥µ¥¤¥È
MicroSoft
¥¿¥×¥ë¤È¤½¤Î¾¤Î·¿¤Îʬ²ò


£µ¡¥GameManager ¤ò½¤Àµ¤¹¤ë


¡¡Start ¥á¥½¥Ã¥É¤òÍøÍѤ·¤Æ¡¢GameData ¥¯¥é¥¹¤ËÀßÄꤵ¤ì¤Æ¤¤¤ë StageNo ÊÑ¿ô¤«¤é¥¹¥Æ¡¼¥¸¤Î¾ðÊó StageData ¥¯¥é¥¹¤ò¼èÆÀ¤·¤Þ¤¹¡£
¤³¤Î¾ðÊó¤òÍøÍѤ·¤Æ¡¢¥­¥ã¥éÇÛÃÖÍѤΥݥåץ¢¥Ã¥×¤Ë¥¹¥Æ¡¼¥¸¤Î¾ðÊó¤ò°ú¿ô¤òÄ̤¸¤ÆÄ󶡤·¤Þ¤¹¡£(¤½¤Î¤¿¤á¡¢¥á¥½¥Ã¥É¤Î°ú¿ô¤òÄɲ䷤Ƥ¤¤Þ¤¹¡£)

¡¡¤Þ¤¿¡¢¥¹¥Æ¡¼¥¸¡¢ËɱҵòÅÀ¤ÎÀ¸À®¤ò¹Ô¤¤¡¢EnemyGenerator ¥¯¥é¥¹¤Ë°ÜÆ°·ÐÏ©¤ÈÀ¸À®¤¹¤ë¥¨¥Í¥ß¡¼¤Î¾ðÊó¤òÄ󶡤·¤Þ¤¹¡£

¡¡DefenseBase ¥¯¥é¥¹¡¢EnemyGenerator ¥¯¥é¥¹¤Î Start ¥á¥½¥Ã¥É¤Ï¡¢GameManager ¥¯¥é¥¹¤«¤éÌ¿Îá¤ò¼õ¤±¤Æ¤«¤é¼Â¹Ô¤µ¤ì¤ë¥á¥½¥Ã¥É¤ËÊѹ¹¤·¡¢
¤¢¤¯¤Þ¤Ç¤â¡¢GameManager ¥¯¥é¥¹¤«¤éÌ¿Îá¤ò¼õ¤±¤Æ¤«¤éÀßÄê¤ò¹Ô¤¦¤è¤¦¤ËÀ߷פòÊѹ¹¤·¤Æ¤¤¤Þ¤¹¡£

¡¡¤½¤Î¤¿¤á¡¢¥²¡¼¥à¤ò³«»Ï¤¹¤ëºÝ¤ÎÀßÄê¾ðÊó¤Ë¤Ä¤¤¤Æ¤Ï¡¢GameManager ¥¯¥é¥¹¤Î Start ¥á¥½¥Ã¥É¤¬¤¹¤Ù¤Æ¤Î³«»ÏÃÏÅÀ¤È¤Ê¤ê¡¢
¤³¤³¤«¤é³Æ¥¯¥é¥¹¤ØÀßÄê¤ò¹Ô¤¦¤è¤¦¤ËÌ¿Îá¤ò½Ð¤¹¤è¤¦¤Ë¤¹¤ë¤³¤È¤Ç¡¢½ç½øΩ¤Æ¤¿Ä̤ê¤Ë½èÍý¤ò¼Â¹Ô¤·¤Æ¤¤¤¯¤è¤¦¤Ë¤Ê¤Ã¤Æ¤¤¤Þ¤¹¡£

¡¡½èÍý¤ÎÄɲᦽ¤Àµ¤¬Â¿¤¯¡¢¤Þ¤¿Â¿¤¯¤Î¥¯¥é¥¹¤Ë¤Þ¤¿¤¬¤Ã¤Æ½èÍý¤¬¿Ê¤ó¤Ç¤¤¤¯¤¿¤á¡¢
¤·¤Ã¤«¤ê¤È½èÍý¤Îή¤ì¤òÄɤ¤¤«¤±¤ÆÆɤ߲ò¤­¡¢¤É¤Î¤è¤¦¤Ë¤·¤Æ½èÍý¤¬Æ°¤¤¤Æ¤¤¤ë¤«¤òÇÄ°®¤¹¤ë¤è¤¦¤Ë¤·¤Æ¤¯¤À¤µ¤¤¡£


GameManager.cs


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


£¶¡¥GameManager ¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤ÎÀßÄê¤ò¹Ô¤¦


¡¡DefenseBasePrefab ÊÑ¿ô¤Ë¡¢Prefabs ¥Õ¥©¥ë¥ÀÆâ¤Ë¤¢¤ë DefenseBase ¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤Î¥×¥ì¥Õ¥¡¥Ö¤ò¥É¥é¥Ã¥°¥¢¥ó¥É¥É¥í¥Ã¥×¤·¤Æ¥¢¥µ¥¤¥ó¤·¤Æ¤¯¤À¤µ¤¤¡£

¡¡currentMapInfo ÊÑ¿ô¤È currentStageData ÊÑ¿ô¤Ï¡¢¥²¡¼¥à¤Î¼Â¹Ô»þ¤Ë GameData ¥¯¥é¥¹¤ËÀßÄꤷ¤¿ StageNo ÊÑ¿ô¤«¤é»²¾È¤µ¤ì¤¿ StageData ¥¯¥é¥¹¤«¤é¾ðÊó¤¬ÂåÆþ¤µ¤ì¤Þ¤¹¤Î¤Ç¡¢
¤³¤ÎÉôʬ¤Ï¶õ¤Î¤Þ¤Þ¤ÇÌäÂꤢ¤ê¤Þ¤»¤ó¡£


¥¤¥ó¥¹¥Ú¥¯¥¿¡¼²èÁü



¡¡°Ê¾å¤ÇÀßÄê¤Ï´°Î»¤Ç¤¹¡£


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



¡¡GameData ¥¯¥é¥¹¤Î StageNo ÊÑ¿ô¤òÀßÄꤷ¡¢¥²¡¼¥à¤ò¼Â¹Ô¤·¤Þ¤¹¡£
¶õ¤Ë¤Ê¤Ã¤Æ¤¤¤¿ GameManager ¥¯¥é¥¹¤Î currentStageData ÊÑ¿ô¤Ë¥¹¥Æ¡¼¥¸¤Î¾ðÊ󤬡¢¥¹¥¯¥ê¥×¥¿¥Ö¥ë¡¦¥ª¥Ö¥¸¥§¥¯¥È¤è¤ê»²¾È¤µ¤ì¤ÆÂåÆþ¤µ¤ì¤ì¤ÐÀ©¸æÀ®¸ù¤Ç¤¹¡£
¤½¤Î¸å¡¢¤½¤Î¾ðÊó¤ò»²¾È¤·¤Æ MainMap ¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤È DefenseBase ¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤¬À¸À®¤µ¤ì¤Æ¡¢EnemyGenerator ¥¯¥é¥¹¤Ë°ÜÆ°·ÐÏ©¤Î¾ðÊó¤¬ÅÐÏ¿¤µ¤ì¤ì¤ÐÀ©¸æÀ®¸ù¤Ç¤¹¡£

¡¡Ê£¿ô¤Î¥¯¥é¥¹¤Ë¾ðÊó¤¬ÀßÄꤵ¤ì¤ë¤è¤¦¤Ë¤Ê¤ê¤Þ¤¹¤Î¤Ç¡¢²¿Å٤⥲¡¼¥à¤Î¼Â¹Ô¤ò¤·¤Æ¡¢¤É¤ÎÉôʬ¤Î½èÍý¤¬À©¸æ¤µ¤ì¤Æ¤¤¤ë¤«¤ò¤·¤Ã¤«¤êÇÄ°®¤·¤Æ¤ª¤¤¤Æ¤¯¤À¤µ¤¤¡£


GameManager ¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¡¡¥¤¥ó¥¹¥Ú¥¯¥¿¡¼²èÁü­¡



GameManager ¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¡¡¥¤¥ó¥¹¥Ú¥¯¥¿¡¼²èÁü­¢





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

¡¡¼¡¤Ï¡¡È¯Å¸£±£°¡¡¡¼¥¨¥Õ¥§¥¯¥Èµ¡Ç½¤Î½àÈ÷¡Ý¡¡¤Ç¤¹¡£