Unity¤Ë´ØÏ¢¤¹¤ëµ­»ö¤Ç¤¹

Äɲ䵤줿¹Ô¤Ï¤³¤Î¿§¤Ç¤¹¡£
ºï½ü¤µ¤ì¤¿¹Ô¤Ï¤³¤Î¿§¤Ç¤¹¡£

¡¡¥Ý¥Ã¥×¥¢¥Ã¥×Æâ¤Ë SelectCharaDetail ¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤òÊ£¿ôÀ¸À®¤·¡¢CharaData ¥¯¥é¥¹¤Î¾ðÊó¤Ë´ð¤Å¤¤¤Æ¡¢°Û¤Ê¤ëÆâÍƤΥ²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤È¤·¤Æ¿¶¤ëÉñ¤ï¤»¤Þ¤¹¡£
À¸À®»þ¤Ë¤ÏºÇ½é¤ËÀ¸À®¤µ¤ì¤¿ SelectCharaDetail ¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤Î¾ðÊó¤ò½é´üÃͤȤ·¤Æ¥Ý¥Ã¥×¥¢¥Ã¥×Æâ¤ËÀßÄꤷ¤Þ¤¹¡£
SelectCharaDetail ¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤ò¥¿¥Ã¥×(¥¯¥ê¥Ã¥¯)¤¹¤ë¤È¡¢ÁªÂò¤·¤¿ SelectCharaDetail ¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥ÈÆâ¤Ë´ÉÍý¤·¤Æ¤¤¤ë CharaData ¥¯¥é¥¹¤Î¾ðÊó¤ò
¥Ý¥Ã¥×¥¢¥Ã¥×Æâ¤Îɽ¼¨¤ËÈ¿±Ç¤¹¤ëÀ©¸æ¤ò¹Ô¤¤¤Þ¤¹¡£

¡¡¤³¤Î¼ê½ç¤¬´°À®¤·¤¿¤é¡¢¼¡¤Î¼ê½ç¤Ç¡¢ÁªÂò¤·¤Æ¤¤¤ë¥­¥ã¥é¤ò¥¿¥¤¥ë¥Þ¥Ã¥×¤ËÇÛÃÖ¤¹¤ë½èÍý¤ò¼ÂÁõ¤·¤Þ¤¹¡£


''¡ã¼ÂÁõÆ°²è¡ä''
&ref(https://image01.seesaawiki.jp/i/o/i-school-memo/EcMIeEi5Vy.gif, 50%)
&video(https://image02.seesaawiki.jp/i/o/i-school-memo/miON0lb1yi.webm){600, 350}


¡¡°Ê²¼¤ÎÆâÍƤǼÂÁõ¤ò¿Ê¤á¤Æ¤¤¤­¤Þ¤¹¡£

=|PERL|

||=

----

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

=|PERL|
¡¡¡¦¥·¥ó¥°¥ë¥È¥ó¥Ç¥¶¥¤¥ó¥Ñ¥¿¡¼¥ó¤Ë¤è¤ë¥¯¥é¥¹¤ÎºîÀ®
¡¡¡¦¥¹¥¯¥ê¥×¥¿¥Ö¥ë¡¦¥ª¥Ö¥¸¥§¥¯¥È¤Î³èÍÑÊýË¡­¡
¡¡¡¦for ʸ¤È Grid Layout Group ¥³¥ó¥Ý¡¼¥Í¥ó¥È¤òÍøÍѤ·¤¿¥¤¥ó¥¹¥¿¥ó¥·¥¨¥¤¥È½èÍý¤Î¼ÂÁõÎã
||=

----

*£³£·¡¥DataBaseManager ¥¹¥¯¥ê¥×¥È¤òºîÀ®¤·¡¢CharaDataSO ¥¹¥¯¥ê¥×¥¿¥Ö¥ë¡¦¥ª¥Ö¥¸¥§¥¯¥È¤òÍøÍѤǤ­¤ë¾õÂ֤ˤ¹¤ë

**£±¡¥Àß·×

¡¡¤³¤Î¼ê½ç¤Ç¤Ï¡¢ÇÛÃÖ¤¹¤ë¥­¥ã¥é¤òÁªÂò¤¹¤ë¥Ü¥¿¥ó¤Î¼«Æ°À¸À®¤Ë²Ã¤¨¤Æ¡¢''¥¹¥¯¥ê¥×¥¿¥Ö¥ë¡¦¥ª¥Ö¥¸¥§¥¯¥È¤òÍøÍѤ·¤Æ£±¤Ä¤Î¥×¥ì¥Õ¥¡¥Ö¤«¤é°Û¤Ê¤ë¥­¥ã¥é¤ÎÇÛÃÖÍѤΥܥ¿¥ó¤òºî¤ê½Ð¤¹ÊýË¡''¤ò³Ø½¬¤·¤Æ¤¤¤­¤Þ¤¹¡£

----

¡¡CharaDataSO ¥¹¥¯¥ê¥×¥¿¥Ö¥ë¡¦¥ª¥Ö¥¸¥§¥¯¥È¤Ë¥¨¥Í¥ß¡¼¤Î¥Ç¡¼¥¿¤òÅÐÏ¿¤·¤Þ¤·¤¿¡£
¥¹¥¯¥ê¥×¥¿¥Ö¥ë¡¦¥ª¥Ö¥¸¥§¥¯¥È¤Ï¡¢¥¹¥¯¥ê¥×¥ÈÆâ¤ËƱ̾¤Î·¿Ì¾¤ÇÊÑ¿ô¤òºîÀ®¤¹¤ë¤³¤È¤ÇÍøÍѤ¹¤ë¤³¤È¤¬²Äǽ¤Ë¤Ê¤ê¤Þ¤¹¡£

''¡ã¥¹¥¯¥ê¥×¥¿¥Ö¥ë¡¦¥ª¥Ö¥¸¥§¥¯¥È¤òÍøÍѤǤ­¤ë¾õÂ֤ˤ¹¤ë¡ä''
=|PERL|
public CharaDataSO charaDataSO;
||=

¡¡¾åµ­¤Î¤è¤¦¤ËÊÑ¿ô¤È¤·¤ÆÀë¸À¤¹¤ë¤³¤È¤Ë¤è¤ê¡¢ÊÑ¿ô¤òÍøÍѤ·¤Æ¥¹¥¯¥ê¥×¥¿¥Ö¥ë¡¦¥ª¥Ö¥¸¥§¥¯¥È¤Î¾ðÊó¤ò¥²¡¼¥àÆâ¤ËÍøÍѤ¹¤ë¤³¤È¤¬½ÐÍè¤Þ¤¹¡£

¡¡Àë¸À¤ÎÊýË¡¤Ï¾¤ÎÊÑ¿ô¤ÈÊѤï¤ê¤Þ¤»¤ó¡£¤Þ¤¿¡¢public ½¤¾þ»Ò¤Ë¤·¤ÆÀë¸À¤·¤Æ¤ª¤¯¤³¤È¤Ë¤è¤ê¡¢
¥¤¥ó¥¹¥Ú¥¯¥¿¡¼¤è¤êÅÐÏ¿¤¬½ÐÍè¤ë¾¡¢³°Éô¤Î¥¹¥¯¥ê¥×¥È¤«¤é¤â»²¾È¤·¤ÆÍøÍѤ¹¤ë¤³¤È¤¬²Äǽ¤Ç¤¹¡£¤³¤ì¤â¾¤ÎÊÑ¿ô¤ÈƱ¤¸¤Ç¤¹¡£

----

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

¡¡¥¹¥¯¥ê¥×¥¿¥Ö¥ë¡¦¥ª¥Ö¥¸¥§¥¯¥È¤Ïº£¸å¤âÁý¤¨¤Æ¤¤¤¯²ÄǽÀ­¤¬¤¢¤ê¤Þ¤¹¤Î¤Ç¡¢ÆÃÄê¤Î¥¯¥é¥¹¤ËÀ찤ǴÉÍý¤ò¤µ¤»¤ë¤³¤È¤Ë¤è¤ê¡¢
¤¹¤Ù¤Æ¤Î½èÍý¤ò¤½¤Î¥¯¥é¥¹·Ðͳ¤Ç»²¾È¤¹¤ëÀ߷פˤ·¤Þ¤¹¡£

¡¡¤½¤Î¤¿¤á¤Î¥¯¥é¥¹¤È¤·¤Æ DataBaseManager ¥¯¥é¥¹¤ò¥·¥ó¥°¥ë¥È¥ó¥Ç¥¶¥¤¥ó¥Ñ¥¿¡¼¥ó¤È¤·¤ÆºîÀ®¤·¤Æ¤ª¤­¤Þ¤¹¡£


DataBaseManager.cs
[+] <= ¥¯¥ê¥Ã¥¯¤¹¤ë¤È³«¤­¤Þ¤¹
=|BOX|
using UnityEngine;

public class DataBaseManager : MonoBehaviour
{
public static DataBaseManager instance;

public CharaDataSO charaDataSO;


void Awake() {
if (instance == null) {
instance = this;
DontDestroyOnLoad(gameObject);
} else {
Destroy(gameObject);
}
}
}
||=
[END]

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

----

**£³¡¥¡ã¥·¥ó¥°¥ë¥È¥ó¥Ç¥¶¥¤¥ó¥Ñ¥¿¡¼¥ó¤Ë¤è¤ë¥¯¥é¥¹¤ÎºîÀ®¡ä

¡¡''¥·¥ó¥°¥ë¥È¥ó''¤È¤Ï¡¢¿ô¿¤¯¤¢¤ë''¥Ç¥¶¥¤¥ó¥Ñ¥¿¡¼¥ó''¤Î£±¤Ä¤Ç¤¹¡£
''¤½¤Î¥¯¥é¥¹¤Î¥¤¥ó¥¹¥¿¥ó¥¹¤¬É¬¤º£±¤Ä¤Ç¤¢¤ë¤³¤È¤òÊݾڤ¹¤ë''¥Ç¥¶¥¤¥ó¥Ñ¥¿¡¼¥ó¤Î¤³¤È¤ò¸À¤¤¤Þ¤¹¡£

¡¡DataBaseManager ¥¯¥é¥¹¤Ç¤Ï¡¢¤³¤Î¥·¥ó¥°¥ë¥È¥ó¤òºÎÍѤ·¤Æ¤¤¤Þ¤¹¡£
¤Ä¤Þ¤ê¡¢¥²¡¼¥àÃæ¤òÄ̤¸¤Æ¡¢¤³¤Î ''DataBaseManager ¥¯¥é¥¹¤¬£±¤Ä¤·¤«Â¸ºß¤Ç¤­¤Ê¤¤''¤è¤¦¤Ë¤Ê¤ê¤Þ¤¹¡£
¼ÂÁõÎã¤ÏÊ£¿ô¤¢¤ê¤Þ¤¹¤¬¡¢°ìÈÖÆɤߤ䤹¤¤Êý¼°¤Çµ­½Ò¤·¤Æ¤¤¤Þ¤¹¡£

----

''¡ã¥·¥ó¥°¥ë¥È¥ó¥Ç¥¶¥¤¥ó¥Ñ¥¿¡¼¥ó¤Î¥¯¥é¥¹¤ÎºîÀ®ÊýË¡¡ä''
=|PERL|
public static DataBaseManager instance;¡¡¡¡// ¥¯¥é¥¹Ì¾¤ÈƱ̾¤Î·¿¤ò static ¤ÇÀë¸À¤¹¤ë

private void Awake() {
if (instance == null) {
instance = this;
DontDestroyOnLoad(gameObject);
} else {
Destroy(gameObject);
}
}
||=

----

¡¡¥Ý¥¤¥ó¥È¤Ï¡¢''¼«Ê¬¼«¿È¤Î DataBaseManager ·¿¤ò static ½¤¾þ»ÒÉÕ¤­¤Î instance ÊÑ¿ô¤È¤·¤ÆÀë¸À¤·¤Æ¤¤¤ë''¤³¤È¤Ç¤¹¡£
¤³¤Î ''instance ÊÑ¿ô¤¬ DataBaseManager ¥¯¥é¥¹¼«¿È¤¬ÂåÆþ¤µ¤ì¤¿¾ðÊó¤È¤·¤ÆÍøÍѤ¹¤ë''¤³¤È¤Ë¤Ê¤ê¤Þ¤¹¡£

¡¡Awake ¥á¥½¥Ã¥É¤òÍøÍѤ·¤Æ¡¢instance ÊÑ¿ô¤¬ null (¶õ¤Ã¤Ý) ¤Ç¤¢¤ë¾ì¹ç¤Ë¤Ï¡¢DataBaseManager ¥¯¥é¥¹(this)¤òÂåÆþ¤·¤Þ¤¹¡£
¼¡¤Î DontDestroyOnLoad ¥á¥½¥Ã¥É¤Ï Unity ¤¬ÍÑ°Õ¤·¤Æ¤¤¤ë¥á¥½¥Ã¥É¤Ç¡¢°ú¿ô¤Ë»ØÄꤵ¤ì¤¿¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤Ï''¥·¡¼¥óÁ«°Ü¤ò¤·¤Æ¤âÇ˲õ¤µ¤ì¤Æ¤Ê¤¤¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È''¤Ë¤Ê¤ê¤Þ¤¹¡£
¤³¤Î DontDestroyOnLoad ¥á¥½¥Ã¥É¤Ï¥·¥ó¥°¥ë¥È¥ó¥Ç¥¶¥¤¥ó¥Ñ¥¿¡¼¥ó¤Ë¤¹¤ëºÝ¤Ë''°ì½ï¤ËÍѤ¤¤é¤ì¤ë¤³¤È¤¬Â¿¤¤''¤Ç¤¹(¤³¤Î DontDestroyOnLoad ¥á¥½¥Ã¥Éµ¡Ç½¼«ÂΤϥ·¥ó¥°¥ë¥È¥ó¤Ø¤Î´ØÏ¢¤Ï¤¢¤ê¤Þ¤»¤ó)¡£

¡¡¤½¤·¤Æ instance ÊÑ¿ô¤¬ null ¤Ç¤Ï¤Ê¤¤¾ì¹ç¡¢¤Ä¤Þ¤ê¡¢£²¤ÄÌܰʹߤÎÊ£¿ô¤Î DataBaseManager ¥¯¥é¥¹¤¬Â¸ºß¤¹¤ë¾ì¹ç¤Ë¤Ï¡¢¤½¤Î DataBaseManager ¥¯¥é¥¹¤Î¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤ò Destroy ¤·¤Þ¤¹¡£
¤³¤Î¼ê½ç¤Ë¤è¤ê¡¢''DataBaseManager ¥¯¥é¥¹¤¬¥¢¥¿¥Ã¥Á¤µ¤ì¤Æ¤¤¤ë¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤¬¾ï¤Ë¥Ò¥¨¥é¥ë¥­¡¼¾å¤Ë£±¤Ä¤·¤«Â¸ºß¤·¤Ê¤¤¾õÂÖ¤òºî¤ê½Ð¤·¤Æ¤¤¤Þ¤¹''¡£

¡¡¤³¤Î¥·¥ó¥°¥ë¥È¥ó¤Ë¤è¤Ã¤Æ''¥¤¥ó¥¹¥¿¥ó¥¹¤¬£±¤Ä¤«À¸À®¤µ¤ì¤Ê¤¤¤³¤È¤¬Êݾڤµ¤ì¤Þ¤¹''¤Î¤Ç¡¢
µÕÀâŪ¤Ë¹Í¤¨¤ë¤È¡¢¤³¤Î ''DataBaseManager ¥¯¥é¥¹¤Ø¤Î»²¾È¤Ï¡¢¤¤¤º¤ì¤Î¥¯¥é¥¹¤«¤é¤Ç¤¢¤Ã¤Æ¤âÊÑ¿ô¤ò²ð¤µ¤º¤Ë»²¾È¤ò¹Ô¤¨¤ë''¤è¤¦¤Ë¤Ê¤ê¤Þ¤¹¡£

----

¡¡Î㤨¤Ð¡¢NonPlayerCharacter ¤È¤¤¤¦¥¯¥é¥¹¤¬¤¢¤ê¡¢¤½¤Î NonPlayerCharacter ¥¯¥é¥¹¤ò»ý¤Ä¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤¬£µ¤Ä¤¢¤Ã¤¿¾ì¹ç¡¢
¡Ö''¤É¤Î''¡×NonPlayerCharacter ¥¯¥é¥¹¤Ç¤¢¤ë¤«¤ò³ÎÄê¤Ç¤­¤Ê¤¤¤È¡¢ÂоݤȤʤë NonPlayerCharacter ¥¯¥é¥¹¤Ø¤Ï»²¾È¤Ç¤­¤Þ¤»¤ó¡£
¤½¤Î¤¿¤á¡¢NonPlayerCharacter ·¿¤ÎÊÑ¿ô¤òÍÑ°Õ¤·¤Æ¡¢¤½¤ÎÊÑ¿ô¤Ø»²¾È¤·¤¿¤¤ NonPlayerCharacter ¥¯¥é¥¹¤òÂåÆþ¤¹¤ë¤³¤È¤Ë¤è¤Ã¤Æ¡¢
¤Ï¤¸¤á¤Æ NonPlayerCharacter ¥¯¥é¥¹¤Î¾ðÊó¤ò°·¤¦¤³¤È¤¬¤Ç¤­¤ë¤è¤¦¤Ë¤Ê¤ê¤Þ¤¹¡£¤³¤ì¤¬¾ðÊó¤ò°·¤¦ºÝ¤Î´ðËÜŪ¤Ê½èÍý¤Ë¤Ê¤ê¤Þ¤¹¡£

¡¡¤Ç¤¹¤¬¥·¥ó¥°¥ë¥È¥ó¤Ç¤¢¤ë DataBaseManager ¥¯¥é¥¹¤Î¾ì¹ç¤Ë¤Ï¡¢¤³¤Î¥¤¥ó¥¹¥¿¥ó¥¹¤Ï¾ï¤Ë£±¤Ä¤·¤«¤Ê¤¤¤³¤È¤¬Êݾڤµ¤ì¤Æ¤¤¤Þ¤¹¤Î¤Ç¡¢
¡Ö''¤É¤Î''¡×¤È¤¤¤¦»ØÄê¤ÎÉôʬ¤¬''ÉÔÍ×''¤Ë¤Ê¤ê¤Þ¤¹¡£¤è¤Ã¤Æ¥¯¥é¥¹¤ÎÆÃÄ꤬¤Ç¤­¤Æ¤¤¤ë¤¿¤á¡¢''ÊÑ¿ô¤Ø¤ÎÂåÆþ¤¬ÉÔÍ×''¤Ë¤Ê¤ê¤Þ¤¹¡£

DataBaseManager ¤È¤¤¤¦»ØÄê¤Ï¤¹¤Ê¤ï¤Á¡¢¼«Æ°Åª¤Ë¤¿¤À£±¤Ä¤Î DataBaseManager ¥¯¥é¥¹¤Î»²¾È¤¬¹Ô¤ï¤ì¤ë¤³¤È¤Ë¤Ê¤ë¤¿¤á¤Ç¤¹¡£

¡¡¤³¤Îµ¡Ç½¤òÍøÍѤ·¤Æ DataBaseManager ¥¯¥é¥¹¤òºîÀ®¤·¤Æ¤ª¤¯¤³¤È¤Ç¡¢¤É¤Î¥¯¥é¥¹¤«¤é¤Ç¤â»²¾È¤·¤ä¤¹¤¤À߷פˤ·¤Æ¤ª¤­¤Þ¤¹¡£

----

**£´¡¥DataBaseManager ¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤òºîÀ®¤·¡¢DataBaseManager ¥¹¥¯¥ê¥×¥È¤ò¥¢¥¿¥Ã¥Á¤·¤ÆÀßÄê¤ò¹Ô¤¦

¡¡¥Ò¥¨¥é¥ë¥­¡¼¤Î¶õ¤¤¤Æ¤¤¤ë¾ì½ê¤Ç±¦¥¯¥ê¥Ã¥¯¤ò¤·¤Æ¥á¥Ë¥å¡¼¤ò³«¤­¡¢Create Empty ¤òÁªÂò¤·¤Þ¤¹¡£
¿·¤·¤¤¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤¬ºîÀ®¤µ¤ì¤Þ¤¹¤Î¤Ç¡¢Ì¾Á°¤ò DataBaseManager ¤ËÊѹ¹¤·¤Þ¤¹¡£

¡¡¤³¤Î¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤Ë¡¢Àè¤Û¤ÉºîÀ®¤·¤¿ DataBaseManager ¥¹¥¯¥ê¥×¥È¤ò¥É¥é¥Ã¥°¥¢¥ó¥É¥É¥í¥Ã¥×¤·¤Æ¥¢¥¿¥Ã¥Á¤·¤Æ¤¯¤À¤µ¤¤¡£


''¥Ò¥¨¥é¥ë¥­¡¼²èÁü''
&ref(https://image02.seesaawiki.jp/i/o/i-school-memo/hma7IOtpeN.png, 35%)


¡¡¥¢¥µ¥¤¥ó¾ðÊó¤¬É½¼¨¤µ¤ì¤Æ¤¤¤Þ¤¹¤Î¤Ç¡¢Datas ¥Õ¥©¥ë¥ÀÆâ¤Ë¤¢¤ë CharaDataSO ¥¹¥¯¥ê¥×¥¿¥Ö¥ë¡¦¥ª¥Ö¥¸¥§¥¯¥È(¥¹¥¯¥ê¥×¥È¤Ç¤Ï¤Ê¤¤¥¢¥»¥Ã¥È¤ÎÊý)¤ò
¥É¥é¥Ã¥°¥¢¥ó¥É¥É¥í¥Ã¥×¤·¤Æ¥¢¥µ¥¤¥ó¤·¤Æ¤¯¤À¤µ¤¤¡£¤³¤ì¤Ç¥²¡¼¥àÆâ¤Ç¥¹¥¯¥ê¥×¥¿¥Ö¥ë¡¦¥ª¥Ö¥¸¥§¥¯¥È¤Î¾ðÊó¤ò»²¾È¤·¤ÆÍøÍѤ¹¤ë¤³¤È¤¬²Äǽ¤Ë¤Ê¤ê¤Þ¤·¤¿¡£



''¥¤¥ó¥¹¥Ú¥¯¥¿¡¼²èÁü''
&ref(https://image02.seesaawiki.jp/i/o/i-school-memo/MejBviDTcD.png, 35%)


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

----

*£³£¸¡¥PlacementCharaSelectPopUp ¥¹¥¯¥ê¥×¥È¤È CharaGenerator ¥¹¥¯¥ê¥×¥È¤ò½¤Àµ¤·¡¢DataBaseManager ¥¹¥¯¥ê¥×¥È¤«¤é¥¹¥¯¥ê¥×¥¿¥Ö¥ë¡¦¥ª¥Ö¥¸¥§¥¯¥È¤Î¾ðÊó¤òÍøÍѤ·¤Æ SelectCharaDetail ¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤òÀßÄꤹ¤ë

**£±¡¥Àß·×

¡¡DataBaseManager ¥¹¥¯¥ê¥×¥È¤Ë¥­¥ã¥éÍѤΥǡ¼¥¿¥Ù¡¼¥¹¤Ç¤¢¤ë CharaDataSO ¥¹¥¯¥ê¥×¥¿¥Ö¥ë¡¦¥ª¥Ö¥¸¥§¥¯¥È¤òÅÐÏ¿¤·¤Þ¤·¤¿¡£
¤³¤ì¤Ç¤³¤Î¾ðÊó¤ò¥²¡¼¥àÆâ¤Ë±¿ÍѤǤ­¤ë¤è¤¦¤Ë¤Ê¤ê¤Þ¤·¤¿¤Î¤Ç¡¢¥¹¥¯¥ê¥×¥¿¥Ö¥ë¡¦¥ª¥Ö¥¸¥§¥¯¥È¤Ë¤¢¤ë¥­¥ã¥é¤Î¾ðÊ󷲤òÍøÍѤ·¤Æ¡¢¥­¥ã¥é¤Î¥Ü¥¿¥ó¤ÎÀßÄê¤ò¹Ô¤¦½èÍý¤ò¼ÂÁõ¤·¤Þ¤¹¡£

¡¡¤³¤ì¤é¤Î¼ÂÁõ¤¬´°À®¤·¤¿¤é¡¢Á°²ó¤Î¼ê½ç¤Ç SelectCharaDetail ¥¹¥¯¥ê¥×¥ÈÆâ¤Ë¥³¥á¥ó¥È¥¢¥¦¥È¤·¤Æ¤¢¤ë½èÍý¤Î¥³¥á¥ó¥È¥¢¥¦¥È¤ò²ò½ü¤·¤Þ¤¹¡£

----

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

¡¡¥­¥ã¥é¤Î¥Ü¥¿¥ó¤ò²¡¤¹¤¿¤Ó¤Ë¡¢¤½¤Î¥Ü¥¿¥ó¤Ë¥¢¥¿¥Ã¥Á¤µ¤ì¤Æ¤¤¤ë SelectCharaDetail ¥¯¥é¥¹Æâ¤Ç´ÉÍý¤·¤Æ¤¤¤ë CharaData ¥¯¥é¥¹¤Î¾ðÊó¤ò¥Ý¥Ã¥×¥¢¥Ã¥×Æâ¤ËÈ¿±Ç¤¹¤ëµ¡Ç½¤ò¼ÂÁõ¤·¤Þ¤¹¡£
À©¸æ¤¹¤ëµ¡Ç½¤¬Â¿¤¤¤¿¤á¡¢Â¿¤¯¤ÎÊÑ¿ô¤òÄɲ乤뤳¤È¤Ë¤Ê¤ê¤Þ¤¹¡£ÊÑ¿ô̾¤È¥¢¥µ¥¤¥ó¤¹¤ë¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤Î̾¾Î¤òƱ¤¸¤Ë¤·¤Æ¤ª¤¯¤Èʬ¤«¤ê¤ä¤¹¤¯¤Ê¤ê¤Þ¤¹¡£


PlacementCharaSelectPopUp.cs
[+]
=|BOX|
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
using DG.Tweening;

public class PlacementCharaSelectPopUp : MonoBehaviour
{
[SerializeField]
private Button btnClosePopUp;

[SerializeField]
private Button btnChooseChara;

[SerializeField]
private CanvasGroup canvasGroup;

private CharaGenerator charaGenerator;


////* ¿·¤·¤¤ÊÑ¿ô¤ÎÀë¸À¤ò£±£°¤³Äɲà *////


¡¡¡¡// À©¸æ¤ò¹Ô¤¤¤¿¤¤³Æ¥³¥ó¥Ý¡¼¥Í¥ó¥È¤Î¾ðÊó¤ò¥¢¥µ¥¤¥ó¤¹¤ë¤¿¤á¤ÎÊÑ¿ô·²¤òÄɲ乤ë
[SerializeField]
private Image imgPickupChara;

[SerializeField]
private Text txtPickupCharaName;

[SerializeField]
private Text txtPickupCharaAttackPower;

[SerializeField]
private Text txtPickupCharaAttackRangeType;

[SerializeField]
private Text txtPickupCharaCost;

[SerializeField]
private Text txtPickupCharaMAxAttackCount;


[SerializeField]
private SelectCharaDetail selectCharaDetailPrefab;¡¡¡¡¡¡¡¡//¡¡¥­¥ã¥é¤Î¥Ü¥¿¥óÍѤΥץì¥Õ¥¡¥Ö¤ò¥¢¥µ¥¤¥ó¤¹¤ë

[SerializeField]
private Transform selectCharaDetailTran;¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡//¡¡¥­¥ã¥é¤Î¥Ü¥¿¥ó¤òÀ¸À®¤¹¤ë°ÌÃÖ¤ò¥¢¥µ¥¤¥ó¤¹¤ë

[SerializeField]
private List<SelectCharaDetail> selectCharaDetailsList = new List<SelectCharaDetail>();¡¡¡¡//¡¡À¸À®¤·¤¿¥­¥ã¥é¤Î¥Ü¥¿¥ó¤ò´ÉÍý¤¹¤ë

private CharaData chooseCharaData;¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡//¡¡¸½ºßÁªÂò¤·¤Æ¤¤¤ë¥­¥ã¥é¤Î¾ðÊó¤ò´ÉÍý¤¹¤ë


////* ¤³¤³¤Þ¤Ç *////


/// <summary>
/// ¥Ý¥Ã¥×¥¢¥Ã¥×¤ÎÀßÄê
/// </summary>
/// <param name="charaGenerator"></param>
/// <param name="haveCharaDataList"></param>
public void SetUpPlacementCharaSelectPopUp(CharaGenerator charaGenerator, List<CharaData> haveCharaDataList) { // <= ¡ù¡¡Âè2°ú¿ô¤òÄɲä·¤Þ¤¹

this.charaGenerator = charaGenerator;

// TODO ¾¤ËÀßÄê¹àÌܤ¬¤¢¤Ã¤¿¤éÄɲ乤ë


¡¡¡¡¡¡¡¡// °ìÅÙ¸«¤¨¤Ê¤¤¾õÂ֤ˤ¹¤ë
canvasGroup.alpha = 0;

// ³Æ¥Ü¥¿¥ó¤ÎÁàºî¤ò²¡¤»¤Ê¤¤¾õÂ֤ˤ¹¤ë
SwithcActivateButtons(false);


////* TODO ¤ò¼ÂÁõ¤¹¤ë *////


// ¥¹¥¯¥ê¥×¥¿¥Ö¥ë¡¦¥ª¥Ö¥¸¥§¥¯¥È¤ËÅÐÏ¿¤µ¤ì¤Æ¤¤¤ë¥­¥ã¥éʬ(°ú¿ô¤Ç¼õ¤±¼è¤Ã¤¿¾ðÊó)¤òÍøÍѤ·¤Æ
for (int i = 0; i < haveCharaDataList.Count; i++) {

¡¡¡¡¡¡¡¡¡¡¡¡// ¥Ü¥¿¥ó¤Î¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤òÀ¸À®
SelectCharaDetail selectCharaDetail = Instantiate(selectCharaDetailPrefab, selectCharaDetailTran, false);

¡¡¡¡¡¡¡¡¡¡¡¡// ¥Ü¥¿¥ó¤Î¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤ÎÀßÄê(CharaData ¤òÀßÄꤹ¤ë)
selectCharaDetail.SetUpSelectCharaDetail(this, haveCharaDataList[i]);

¡¡¡¡¡¡¡¡¡¡¡¡// List ¤ËÄɲÃ
selectCharaDetailsList.Add(selectCharaDetail);

// ºÇ½é¤ËÀ¸À®¤·¤¿¥Ü¥¿¥ó¤Î¾ì¹ç
if (i == 0) {

¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡// ÁªÂò¤·¤Æ¤¤¤ë¥­¥ã¥é¤È¤·¤Æ½é´üÃͤËÀßÄê
SetSelectCharaDetail(haveCharaDataList[i]);
}
}


////* ¤³¤³¤Þ¤Ç *////¡¡¡¡¡¡¡¡


¡¡¡¡¡¡¡¡// ³Æ¥Ü¥¿¥ó¤Ë¥á¥½¥Ã¥É¤òÅÐÏ¿
btnChooseChara.onClick.AddListener(OnClickSubmitChooseChara);

btnClosePopUp.onClick.AddListener(OnClickClosePopUp);

¡¡¡¡¡¡¡¡// ³Æ¥Ü¥¿¥ó¤ò²¡¤»¤ë¾õÂ֤ˤ¹¤ë
SwithcActivateButtons(true);
}

/// <summary>
/// ³Æ¥Ü¥¿¥ó¤Î¥¢¥¯¥Æ¥£¥Ö¾õÂÖ¤ÎÀÚ¤êÂؤ¨
/// </summary>
/// <param name="isSwitch"></param>
public void SwithcActivateButtons(bool isSwitch) {
btnChooseChara.interactable = isSwitch;
btnClosePopUp.interactable = isSwitch;
}

/// <summary>
/// ¥Ý¥Ã¥×¥¢¥Ã¥×¤Îɽ¼¨
/// </summary>
public void ShowPopUp() {

// TODO ³Æ¥­¥ã¥é¤Î¥Ü¥¿¥ó¤ÎÀ©¸æ


¡¡¡¡¡¡¡¡// ¥Ý¥Ã¥×¥¢¥Ã¥×¤Îɽ¼¨
canvasGroup.DOFade(1.0f, 0.5f);
}

¡¡¡¡/// <summary>
/// ÁªÂò¤·¤Æ¤¤¤ë¥­¥ã¥é¤òÇÛÃÖ¤¹¤ë¥Ü¥¿¥ó¤ò²¡¤·¤¿ºÝ¤Î½èÍý
/// </summary>
private void OnClickSubmitChooseChara() {

// TODO ¥³¥¹¥È¤Î»Ùʧ¤¤¤¬²Äǽ¤«ºÇ½ª³Îǧ


// TODO ÁªÂò¤·¤Æ¤¤¤ë¥­¥ã¥é¤ÎÀ¸À®


// ¥Ý¥Ã¥×¥¢¥Ã¥×¤ÎÈóɽ¼¨
HidePopUp();
}

/// <summary>
/// ÇÛÃÖ¤ò»ß¤á¤ë¥Ü¥¿¥ó¤ò²¡¤·¤¿ºÝ¤Î½èÍý
/// </summary>
private void OnClickClosePopUp() {

// ¥Ý¥Ã¥×¥¢¥Ã¥×¤ÎÈóɽ¼¨
HidePopUp();
}

/// <summary>
/// ¥Ý¥Ã¥×¥¢¥Ã¥×¤ÎÈóɽ¼¨
/// </summary>
private void HidePopUp() {

// TODO ³Æ¥­¥ã¥é¤Î¥Ü¥¿¥ó¤ÎÀ©¸æ


// ¥Ý¥Ã¥×¥¢¥Ã¥×¤ÎÈóɽ¼¨
canvasGroup.DOFade(0, 0.5f).OnComplete(() => charaGenerator.InactivatePlacementCharaSelectPopUp());
}


////* ¥á¥½¥Ã¥É¤ò£±¤ÄÄɲà *////¡¡¡¡¡¡


/// <summary>
/// ÁªÂò¤µ¤ì¤¿ SelectCharaDetail ¤Î¾ðÊó¤ò¥Ý¥Ã¥×¥¢¥Ã¥×Æâ¤Î¥Ô¥Ã¥¯¥¢¥Ã¥×¤Ëɽ¼¨¤¹¤ë
/// </summary>
/// <param name="charaData"></param>
public void SetSelectCharaDetail(CharaData charaData) {
chooseCharaData = charaData;

// ³ÆÃͤÎÀßÄê
imgPickupChara.sprite = charaData.charaSprite;

txtPickupCharaName.text = charaData.charaName;

txtPickupCharaAttackPower.text = charaData.attackPower.ToString();

txtPickupCharaAttackRangeType.text = charaData.attackRange.ToString();

txtPickupCharaCost.text = charaData.cost.ToString();

txtPickupCharaMAxAttackCount.text = charaData.maxAttackCount.ToString();
}


////* ¤³¤³¤Þ¤Ç *////¡¡¡¡¡¡


}
||=
[END]

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

¡¡Â³¤¤¤Æ¤Ï PlacementCharaSelectPopUp ¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤ÎÀßÄê¤ò¹Ô¤¤¤¿¤¤¤Î¤Ç¤¹¤¬¡¢
º£²ó¿·¤·¤¯ PlacementCharaSelectPopUp ¥¹¥¯¥ê¥×¥È¤Î SetUpPlacementCharaSelectPopUp ¥á¥½¥Ã¥É¤Î°ú¿ô¤òÄɲ䷤Ƥ¤¤ë¤¿¤á¡¢
¤½¤Î¸Æ¤Ó½Ð¤·Ì¿Î᤬½ñ¤¤¤Æ¤¢¤ë CharaGenerator ¥¹¥¯¥ê¥×¥È¦¤Ë¥¨¥é¡¼¤¬É½¼¨¤µ¤ì¤Þ¤¹¡£

¡¡¤½¤Î¤¿¤á¡¢Àè¤Ë CharaGenerator ¥¹¥¯¥ê¥×¥È¤ò½¤Àµ¤·¡¢¥³¥ó¥Ñ¥¤¥ë¥¨¥é¡¼¤¬¤Ê¤¯¤Ê¤Ã¤Æ¤«¤é¡¢³ÆÊÑ¿ô¤Ë¥¢¥µ¥¤¥ó¤ò¹Ô¤¦¤è¤¦¤Ë¤·¤Þ¤¹¡£

----

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

¡¡¥­¥ã¥é¤òÀ¸À®¤¹¤ë¤¿¤á¤Î¾ðÊó¤ò List ¤ËÆþ¤ì¤Æ´ÉÍý¤ò¹Ô¤¦¤è¤¦¤Ë¡¢ÊÑ¿ô¤ÎÄɲäò¹Ô¤¤¤Þ¤¹¡£
¤³¤Á¤é¤Î List ¤Ë¤Ï¡¢DataBaseManager ¥¯¥é¥¹¤Ë¤¢¤ë CharaDataSO ¥¹¥¯¥ê¥×¥¿¥Ö¥ë¡¦¥ª¥Ö¥¸¥§¥¯¥È¤ò»²¾È¤·¤Æ¡¢¼ÂºÝ¤ËÅÐÏ¿¤µ¤ì¤Æ¤¤¤ë CharaData ¤ò¼è¤ê¹þ¤ß¡¢ÍøÍѤǤ­¤ë¤è¤¦¤Ë¤·¤Þ¤¹¡£
¤³¤Î½èÍý¤â¥á¥½¥Ã¥É¤È¤·¤Æ½àÈ÷¤·¤Æ¤ª¤¯¤è¤¦¤Ë¤·¤Þ¤¹¡£½èÍýñ°Ì¤Ç¤Þ¤È¤á¤Æ¤¤¤¯¤³¤È¤ò³Ð¤¨¤Æ¤¤¤­¤Þ¤·¤ç¤¦¡£

¡¡TODO ¤Î½èÍý¤Î¼ÂÁõ¤ò¹Ô¤¤¤Ê¤¬¤é¡¢CharaData ¤òÈ¿±Ç¤·¤ÆÇÛÃÖÍѤΥ­¥ã¥é¤Î¥Ç¡¼¥¿¤ò¥Ý¥Ã¥×¥¢¥Ã¥×¤Ø¤È°ú¿ô¤òÍøÍѤ·¤Æ¾ðÊó¤òÅϤ¹¤è¤¦¤Ë¤·¤Þ¤¹¡£
¤³¤Î½èÍý¤Ë¤è¤ê¡¢¥Ý¥Ã¥×¥¢¥Ã¥×Æâ¤Ç¥Ü¥¿¥óÍѤΥǡ¼¥¿¤Î¾ðÊó¤¬ÆϤ¯¤è¤¦¤Ë¤Ê¤ê¤Þ¤¹¤Î¤Ç¡¢³Æ¥Ü¥¿¥ó¤Î¾ðÊó¤Ë CharaData ¤ò£±¤Ä¤º¤ÄÈ¿±Ç¤µ¤»¤Æ¥Ü¥¿¥ó¤òÀ¸À®¤¹¤ë¤³¤È¤¬½ÐÍè¤ë¤è¤¦¤Ë¤Ê¤ê¤Þ¤¹¡£

¡¡½èÍý¤ÎÁ´ÂΤÎή¤ì¤òÇÄ°®¤·¤Ê¤¬¤é¼ÂÁõ¤ò¹Ô¤Ã¤Æ¤¤¤¯¤è¤¦¤Ë¤·¤Æ¤ß¤Æ¤¯¤À¤µ¤¤¡£
PlacementSelectCharaPopUp ¥¹¥¯¥ê¥×¥È¤È¤Î·Ò¤¬¤ê¤ò¤·¤Ã¤«¤ê¤ÈÍý²ò¤·¤Æ¤ª¤¯¤³¤È¤¬É¬Íפˤʤê¤Þ¤¹¡£
¡¡

CharaGenerator.cs
[+] <= ¥¯¥ê¥Ã¥¯¤¹¤ë¤È³«¤­¤Þ¤¹¡£
=|BOX|
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.Tilemaps;

public class CharaGenerator : MonoBehaviour
{
[SerializeField]
private GameObject charaPrefab;

[SerializeField]
private Grid grid; ¡¡¡¡¡¡¡¡// Base ¦¤Î Grid ¤ò»ØÄꤹ¤ë

[SerializeField]
private Tilemap tilemaps;¡¡¡¡¡¡// Walk ¦¤Î Tilemap ¤ò»ØÄꤹ¤ë

[SerializeField]
private PlacementCharaSelectPopUp placementCharaSelectPopUpPrefab;¡¡¡¡¡¡//¡¡PlacementCharaSelectPopUp ¥×¥ì¥Õ¥¡¥Ö¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤ò¥¢¥µ¥¤¥óÍÑ

[SerializeField]
private Transform canvasTran;¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡ //¡¡PlacementCharaSelectPopUp ¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤ÎÀ¸À®°ÌÃÖ¤ÎÅÐÏ¿ÍÑ


////* ¿·¤·¤¤ÊÑ¿ô¤ÎÀë¸À¤ò£±¤ÄÄɲà *////


[SerializeField, Header("¥­¥ã¥é¤Î¥Ç¡¼¥¿¥ê¥¹¥È")]
private List<CharaData> charaDatasList = new List<CharaData>();


////* ¤³¤³¤Þ¤Ç *////


private PlacementCharaSelectPopUp placementCharaSelectPopUp;¡¡¡¡¡¡¡¡¡¡¡¡//¡¡À¸À®¤µ¤ì¤¿ PlacementCharaSelectPopUp ¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤òÂåÆþ¤¹¤ë¤¿¤á¤ÎÊÑ¿ô

private GameManager gameManager;

private Vector3Int gridPos;


void Update()
{
// TODO ÇÛÃ֤Ǥ­¤ëºÇÂ祭¥ã¥é¿ô¤Ë㤷¤Æ¤¤¤ë¾ì¹ç¤Ë¤ÏÇÛÃ֤Ǥ­¤Ê¤¤


// ²èÌ̤ò¥¿¥Ã¥×(¥Þ¥¦¥¹¥¯¥ê¥Ã¥¯)¤·¡¢¤«¤Ä¡¢ÇÛÃÖ¥­¥ã¥é¥Ý¥Ã¥×¥¢¥Ã¥×¤¬Èóɽ¼¨¾õÂ֤ʤé
if (Input.GetMouseButtonDown(0) && !placementCharaSelectPopUp.gameObject.activeSelf) {

// ¥¿¥Ã¥×(¥Þ¥¦¥¹¥¯¥ê¥Ã¥¯)¤Î°ÌÃÖ¤ò¼èÆÀ¤·¤Æ¥ï¡¼¥ë¥ÉºÂɸ¤ËÊÑ´¹¤·¡¢¤½¤ì¤ò¤µ¤é¤Ë¥¿¥¤¥ë¤Î¥»¥ëºÂɸ¤ËÊÑ´¹
gridPos = grid.WorldToCell(Camera.main.ScreenToWorldPoint(Input.mousePosition));

// ¥¿¥Ã¥×¤·¤¿°ÌÃ֤Υ¿¥¤¥ë¤Î¥³¥é¥¤¥À¡¼¤Î¾ðÊó¤ò³Îǧ¤·¡¢¤½¤ì¤¬ None ¤Ç¤¢¤ë¤Ê¤é
if (tilemaps.GetColliderType(gridPos) == Tile.ColliderType.None) {

// ÇÛÃÖ¥­¥ã¥éÁªÂòÍѥݥåץ¢¥Ã¥×¤Îɽ¼¨
ActivatePlacementCharaSelectPopUp();
}
}
}

/// <summary>
/// ¥­¥ã¥éÀ¸À®
/// </summary>
/// <param name="gridPos"></param>
private void CreateChara(Vector3Int gridPos) {

¡¡¡¡¡¡¡¡// ¥¿¥Ã¥×¤·¤¿°ÌÃ֤˥­¥ã¥é¤òÀ¸À®¤·¤ÆÇÛÃÖ
GameObject chara = Instantiate(charaPrefab, gridPos, Quaternion.identity);

// ¥­¥ã¥é¤Î°ÌÃÖ¤¬¥¿¥¤¥ë¤Îº¸²¼¤ò 0,0 ¤È¤·¤ÆÀ¸À®¤·¤Æ¤¤¤ë¤Î¤Ç¡¢¥¿¥¤¥ë¤ÎÃæ±û¤Ë¤¯¤ë¤è¤¦¤Ë°ÌÃÖ¤òÄ´À°
chara.transform.position = new Vector2(chara.transform.position.x + 0.5f, chara.transform.position.y + 0.5f);
}

/// <summary>
/// ÀßÄê
/// </summary>
/// <param name="gameManager"></param>
/// <returns></returns>
public IEnumerator SetUpCharaGenerator(GameManager gameManager) {

this.gameManager = gameManager;

¡¡¡¡¡¡¡¡// TODO ¥¹¥Æ¡¼¥¸¤Î¥Ç¡¼¥¿¤ò¼èÆÀ


////* TODO ¤Î½èÍý¤ò¼ÂÁõ *////


// ¥­¥ã¥é¤Î¥Ç¡¼¥¿¤ò¥ê¥¹¥È²½
CreateHaveCharaDatasList();


////* ¤³¤³¤Þ¤Ç *////


¡¡¡¡¡¡¡¡// ¥­¥ã¥éÇÛÃÖÍѤΥݥåץ¢¥Ã¥×¤ÎÀ¸À®
yield return StartCoroutine(CreatePlacementCharaSelectPopUp());
}


/// <summary>
/// ÇÛÃÖ¥­¥ã¥éÁªÂòÍѥݥåץ¢¥Ã¥×À¸À®
/// </summary>
/// <returns></returns>
private IEnumerator CreatePlacementCharaSelectPopUp() {

¡¡¡¡¡¡¡¡// ¥Ý¥Ã¥×¥¢¥Ã¥×¤òÀ¸À®
placementCharaSelectPopUp = Instantiate(placementCharaSelectPopUpPrefab, canvasTran, false);


////* TODO ¤Î½èÍý¤ò¼ÂÁõ *////


// ¥Ý¥Ã¥×¥¢¥Ã¥×¤ÎÀßÄê¡£¥­¥ã¥éÀßÄêÍѤξðÊó¤âÅϤ¹
placementCharaSelectPopUp.SetUpPlacementCharaSelectPopUp(this, charaDatasList);¡¡¡¡//¡¡<=¡¡¡ù¡¡Âè2°ú¿ô¤òÄɲä·¤Þ¤¹


////* ¤³¤³¤Þ¤Ç *////


¡¡¡¡¡¡¡¡// ¥Ý¥Ã¥×¥¢¥Ã¥×¤òÈóɽ¼¨¤Ë¤¹¤ë
placementCharaSelectPopUp.gameObject.SetActive(false);

yield return null;
}


/// <summary>
/// ÇÛÃÖ¥­¥ã¥éÁªÂòÍѤΥݥåץ¢¥Ã¥×¤Îɽ¼¨
/// </summary>
public void ActivatePlacementCharaSelectPopUp() {

// TODO ¥²¡¼¥à¤Î¿Ê¹Ô¾õÂÖ¤ò¥²¡¼¥àÄä»ß¤ËÊѹ¹


// TODO ¤¹¤Ù¤Æ¤ÎŨ¤Î°ÜÆ°¤ò°ì»þÄä»ß


// ÇÛÃÖ¥­¥ã¥éÁªÂòÍѤΥݥåץ¢¥Ã¥×¤Îɽ¼¨
placementCharaSelectPopUp.gameObject.SetActive(true);
placementCharaSelectPopUp.ShowPopUp();
}

/// <summary>
/// ÇÛÃÖ¥­¥ã¥éÁªÂòÍѤΥݥåץ¢¥Ã¥×¤ÎÈóɽ¼¨
/// </summary>
public void InactivatePlacementCharaSelectPopUp() {

¡¡¡¡¡¡¡¡// ÇÛÃÖ¥­¥ã¥éÁªÂòÍѤΥݥåץ¢¥Ã¥×¤ÎÈóɽ¼¨
placementCharaSelectPopUp.gameObject.SetActive(false);


// TODO ¥²¡¼¥à¥ª¡¼¥Ð¡¼¤ä¥²¡¼¥à¥¯¥ê¥¢¤Ç¤Ï¤Ê¤¤¾ì¹ç


¡¡¡¡¡¡¡¡// TODO ¥²¡¼¥à¤Î¿Ê¹Ô¾õÂÖ¤ò¥×¥ì¥¤Ãæ¤ËÊѹ¹¤·¤Æ¡¢¥²¡¼¥àºÆ³«


¡¡¡¡¡¡¡¡// TODO ¤¹¤Ù¤Æ¤ÎŨ¤Î°ÜÆ°¤òºÆ³«


// TODO ¥«¥ì¥ó¥·¡¼¤Î²Ã»»½èÍý¤òºÆ³«

}


////* ¥á¥½¥Ã¥É¤ò£±¤ÄÄɲà *////


/// <summary>
/// ¥­¥ã¥é¤Î¥Ç¡¼¥¿¤ò¥ê¥¹¥È²½
/// </summary>
private void CreateHaveCharaDatasList() {

¡¡¡¡¡¡¡¡// CharaDataSO ¥¹¥¯¥ê¥×¥¿¥Ö¥ë¡¦¥ª¥Ö¥¸¥§¥¯¥ÈÆâ¤Î CharaData ¤ò£±¤Ä¤º¤Ä¥ê¥¹¥È¤ËÄɲÃ
// TODO ¥¹¥¯¥ê¥×¥¿¥Ö¥ë¡¦¥ª¥Ö¥¸¥§¥¯¥È¤Ç¤Ï¤Ê¤¯¡¢¼ÂºÝ¤Ë¥×¥ì¥¤¥ä¡¼¤¬½ê»ý¤·¤Æ¤¤¤ë¥­¥ã¥é¤ÎÈÖ¹æ¤ò¸µ¤Ë¥­¥ã¥é¤Î¥Ç¡¼¥¿¤Î¥ê¥¹¥È¤òºîÀ®
for (int i = 0; i < DataBaseManager.instance.charaDataSO.charaDatasList.Count; i++) {
charaDatasList.Add(DataBaseManager.instance.charaDataSO.charaDatasList[i]);
}
}


////* ¤³¤³¤Þ¤Ç *////


}
||=
[END]

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

----

**£´¡¥CharaGenerator ¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤Î³Îǧ¤ò¹Ô¤¦

¡¡¿·¤·¤¯Äɲä·¤¿ CharaDatasList ÊÑ¿ô¤¬É½¼¨¤µ¤ì¤Æ¤¤¤ë¤³¤È¤ò³Îǧ¤·¤Þ¤¹¡£
Size ¤Ï 0 ¤Î¤Þ¤Þ¤ÇÌäÂꤢ¤ê¤Þ¤»¤ó¡£¥²¡¼¥à¤ò¼Â¹Ô¤·¤¿ºÝ¤Ë CreateHaveCharaDatasList() ¥á¥½¥Ã¥É¤¬¼Â¹Ô¤µ¤ì¤Æ
¤³¤Á¤é¤Ë CharaDataSO ¥¹¥¯¥ê¥×¥¿¥Ö¥ë¡¦¥ª¥Ö¥¸¥§¥¯¥È¤ËÅÐÏ¿¤µ¤ì¤Æ¤¤¤ë¤¹¤Ù¤Æ¤Î CharaData ¤¬½çÈÖ¤ËÅÐÏ¿¤µ¤ì¤ë¤³¤È¤Ë¤Ê¤ê¤Þ¤¹¡£


''¥¤¥ó¥¹¥Ú¥¯¥¿¡¼²èÁü''
&ref(https://image02.seesaawiki.jp/i/o/i-school-memo/FbQ_wS0THX.png, 35%)

----

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

¡¡¿·¤·¤¯Àë¸À¤·¤¿ÊÑ¿ô¤¬¤¿¤¯¤µ¤ó¤¢¤ê¤Þ¤¹¤Î¤Ç¡¢´Ö°ã¤¨¤Ê¤¤¤è¤¦¤Ë¥¢¥µ¥¤¥ó¤ò¹Ô¤Ã¤Æ¤¯¤À¤µ¤¤¡£
¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤Î̾¾Î¤ÈÊÑ¿ô̾¤òƱ°ì¤Ë¤·¤Æ¤ª¤¯¤³¤È¤Ë¤è¤ê¡¢¥¢¥µ¥¤¥óÀè¤òʬ¤«¤ê¤ä¤¹¤¯¤Ç¤­¡¢¤«¤Ä¡¢¥¢¥µ¥¤¥ó´Ö°ã¤¨¤òËɻߤ¹¤ë¤³¤È¤ËÌòΩ¤Á¤Þ¤¹¡£
¤½¤¦¤¤¤Ã¤¿Éôʬ¤â¹Í¤¨¤Ê¤¬¤é̾¾Î¤Ë¤Ä¤¤¤Æ¤Ï½àÈ÷¤·¤Æ¤¯¤À¤µ¤¤¡£


''¥¤¥ó¥¹¥Ú¥¯¥¿¡¼²èÁü''
&ref(https://image02.seesaawiki.jp/i/o/i-school-memo/NqYPgjGJrf.png, 35%)


----

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

¡¡¥²¡¼¥à¤ò¼Â¹Ô¤·¤¿ºÝ¤Ë¡¢¤É¤Î½èÍý¤¬¡¢¤É¤Î¤è¤¦¤ËÆ°¤¤¤Æ¤¤¤ë¤³¤È¤Ç¡¢¥Ý¥Ã¥×¥¢¥Ã¥×Æâ¤Ë
ÇÛÃÖÍѤΥ­¥ã¥é¤Î¥Ü¥¿¥ó¤¬Ê¤ó¤ÇÀ¸À®¤µ¤ì¤ë¤è¤¦¤Ë¤Ê¤Ã¤Æ¤¤¤ë¤Î¤«¤òʬ¤«¤Ã¤¿¾å¤Ç³Îǧ¤·¤Æ¤¤¤¯¤è¤¦¤Ë¤·¤Þ¤·¤ç¤¦¡£

¡¡CharaGenerator ¥¯¥é¥¹¤Î List ¤Ë¤Ï¡¢DataBaseManager ¥¯¥é¥¹¤Î CharaDataSO ¥¹¥¯¥ê¥×¥¿¥Ö¥ë¡¦¥ª¥Ö¥¸¥§¥¯¥È¤ò»²¾È¤·¤Æ¡¢
ÅÐÏ¿¤µ¤ì¤Æ¤¤¤ë CharaData ¤Î List ¤¬ºîÀ®¤µ¤ì¤ë¤è¤¦¤Ë¤Ê¤ê¤Þ¤¹¡£

¡¡¤³¤Î¾ðÊó¤ò¥Ý¥Ã¥×¥¢¥Ã¥×¤ËÅϤ¹¤³¤È¤Ë¤è¤ê¡¢¥Ý¥Ã¥×¥¢¥Ã¥×¤¬É½¼¨¤µ¤ì¤¿ºÝ¤Ë¡¢Æ±¤¸¥­¥ã¥é¤Î¥Ü¥¿¥ó¤Ç¤¢¤ê¤Ê¤¬¤é¤â
°Û¤Ê¤ë²èÁü¤ä¾ðÊó¤ò»ý¤Ä¥Ü¥¿¥ó¤¬ List ¤Î¿ôʬ¤À¤±À¸À®¤µ¤ì¤Æ¤¤¤ë¤³¤È¤¬Ê¬¤«¤ê¤Þ¤¹¡£

¡¡PlacementSelectCharaPopUp ¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥ÈÆâ¤Î Content ¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤Î»Ò¥ª¥Ö¥¸¥§¥¯¥È¤È¤·¤Æ
SelectCharaDetail ¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤¬Ê£¿ôÀ¸À®¤µ¤ì¤Æ¥Ü¥¿¥ó¤È¤·¤Æɽ¼¨¤µ¤ì¤Æ¤¤¤Þ¤¹¤Î¤Ç¡¢¤½¤Á¤é¤â¥Ò¥¨¥é¥ë¥­¡¼¤«¤é³Îǧ¤ò¤·¤Æ¤ª¤¯¤³¤È¤Ç
¥¹¥¯¥ê¥×¥È¤Î½èÍý¤òÍý²ò¤¹¤ë½õ¤±¤Ë¤Ê¤ê¤Þ¤¹¡£


''CharaGenerator ¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤Î¥¤¥ó¥¹¥Ú¥¯¥¿¡¼²èÁü''
&ref(https://image02.seesaawiki.jp/i/o/i-school-memo/VXy9XkDoMC.png, 35%)


''¡ã¼ÂÁõÆ°²è¡ä''
&video(https://image02.seesaawiki.jp/i/o/i-school-memo/miON0lb1yi.webm){600, 350}

----


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

¡¡¼¡¤Ï¡¡''%%%[[¼ê½ç£²£²¡¡¡Ý¥Ý¥Ã¥×¥¢¥Ã¥×Æâ¤ÇÁªÂò¤·¤Æ¤¤¤ë¥­¥ã¥é¤ÎÀ¸À®½èÍý¤Î¼ÂÁõ¡Ý>£²£Ä¥¿¥ï¡¼¥Ç¥£¥Õ¥§¥ó¥¹¡¡¼ê½ç£²£²]]%%%''¡¡¤Ç¤¹¡£

´ÉÍý¿Í/Éû´ÉÍý¿Í¤Î¤ßÊÔ½¸¤Ç¤­¤Þ¤¹