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

¡¡°Ê²¼¤ÎÆâÍƤǽçÈ֤˼ÂÁõ¤ò¿Ê¤á¤Æ¤¤¤­¤Þ¤¹¡£

¼ê½ç£±£³¡¡¡¼¥²¡¼¥à´ÉÍýÍÑ¥¯¥é¥¹¤ÈUI¤È¤ÎϢư¤ò¼ÂÁõ¡¼
£²£³¡¥UI´ÉÍýÍѤÎUIManager¥¹¥¯¥ê¥×¥È¤òºîÀ®¤¹¤ë(¼êµå¤Î»Ä¿ô¥¢¥¤¥³¥ó¤ÎÀ¸À®¡¦´ÉÍý¤ò¹Ô¤¦)
£²£´¡¥¥Ð¥È¥ë¥·¡¼¥ó´ÉÍýÍѤÎBattleManager¥¹¥¯¥ê¥×¥È¤òºîÀ®¤¹¤ë¡¡



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

¡¦List¤Î»È¤¤Êý(Add¥á¥½¥Ã¥É¡¢forʸ¤ÈÁȤ߹ç¤ï¤»¤ë)
¡¦Start¥á¥½¥Ã¥É¤ÎÌá¤êÃͤòvoid¤«¤éIEnumerator·¿¤Ë¤·¤Æ»ÈÍѤ¹¤ë½èÍý
¡¦yield return StartCoroutine()½èÍý¤Ë¤è¤ëÂÔµ¡½èÍý



£²£³¡¥UI´ÉÍýÍѤÎUIManager¥¹¥¯¥ê¥×¥È¤òºîÀ®¤¹¤ë(¼êµå¤Î»Ä¿ô¥¢¥¤¥³¥ó¤ÎÀ¸À®¡¦´ÉÍý¤ò¹Ô¤¦)

Àß·×


¡¡¡Ú£²£²¡Û¤ÎºÇ¸å¤ËºîÀ®¤·¤¿¼êµå¤Î»Ä¿ôÍÑ¥¢¥¤¥³¥ó¡¡IconRemainingBall ¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤òÍøÍѤ·¤Æ¡¢¼êµå¤Î»Ä¿ô¤ò²èÌ̾å¤ËUI¤È¤·¤Æɽ¼¨¤·¤Þ¤¹¡£

¡¡¥²¡¼¥à¤Î¼Â¹Ô¤ÈƱ»þ¤Ë¡¢¥×¥ì¥Õ¥¡¥Ö¤Ë¤Ê¤Ã¤Æ¤¤¤ë IconRemainingBall ¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤ò¼êµå¤Î¿ô¤Ë¹ç¤ï¤»¤ÆÀ¸À®¤ò¹Ô¤¤¡¢¥¢¥¤¥³¥óɽ¼¨¤È¤·¤Þ¤¹¡£
¤½¤Î¸å¤Ï´ÉÍý¤ò¹Ô¤¤¤Þ¤¹¡£¼êµå¤Î»Ä¿ô¤Î¹¹¿·¤Ë¹ç¤ï¤»¤Æ²èÌ̤Υ¢¥¤¥³¥óɽ¼¨¤ò¹¹¿·¤·¤Þ¤¹¡£


UIManager¥¹¥¯¥ê¥×¥È¤òºîÀ®¤¹¤ë


¡¡¥á¥½¥Ã¥É¤ò£²¤ÄÍÑ°Õ¤·¡¢Å¬µ¹¤Ê¥¿¥¤¥ß¥ó¥°¤Ç¸Æ¤Ó½Ð¤·¤Æ»È¤¤¤Þ¤¹¡£

¡¡GenerateIconRemainingBalls¥á¥½¥Ã¥É¤Ç¤Ï¡¢¼êµå¥¢¥¤¥³¥ó¤ò²èÌ̤ËÀ¸À®¤¹¤ë½èÍý¤ò¹Ô¤¤¤Þ¤¹¡£°ú¿ô¤Ë¤è¤Ã¤ÆÀ¸À®¤¹¤ë¿ô¤òÊѹ¹¤¹¤ë¤³¤È¤¬¤Ç¤­¤ë¤è¤¦¤ÊÀ߷פˤʤäƤ¤¤Þ¤¹¡£
¤³¤ì¤Ï¼¡¤Î¼ê½ç¤ÇºîÀ®¤¹¤ë¡¢BattleManager¥¹¥¯¥ê¥×¥È¤ÎStart¥á¥½¥Ã¥É¤è¤ê¸Æ¤Ó½Ð¤µ¤ì¤ë¤³¤È¤Ç¼Â¹Ô¤µ¤ì¤Þ¤¹¡£

¡¡UpdateDisplayIconRemainingBall¥á¥½¥Ã¥É¤Ç¤Ï¡¢¼êµå¤Î¥¢¥¤¥³¥ó¤Îɽ¼¨¿ô¤ò¹¹¿·¤·¤Þ¤¹¡£
¼êµå¤¬Áý¤¨¤¿¤ê¡¢¸º¤Ã¤¿¤ê¤·¤¿¤ê¤·¤¿ºÝ¤Ë¸Æ¤Ó½Ð¤¹¤³¤È¤Ç¡¢²èÌ̤μêµå¥¢¥¤¥³¥ó¤Î¿ô¤ò¹¹¿·¤·¡¢¼ÂºÝ¤Î¼êµå¤Î¿ô¤È¥¢¥¤¥³¥ó¤Î¿ô¤È¤òƱ´ü¤¹¤ë¤è¤¦¤Ë¤·¤Þ¤¹¡£


UIManager.cs



¡ãList¤Î»È¤¤Êý(Add¥á¥½¥Ã¥É¡¢forʸ¤ÈÁȤ߹ç¤ï¤»¤ë)¡ä


¡¡List¥¯¥é¥¹¤Ï<T>¤Ë¥¸¥§¥Í¥ê¥Ã¥¯·¿¡ÊǤ°Õ¤Î·¿¡Ë¤ò»ØÄꤷ¤Æ¡¢Æ±¤¸¥Ç¡¼¥¿·¿¤ò¤Þ¤È¤á¤Æ´ÉÍý¤¹¤ë¥³¥ì¥¯¥·¥ç¥óµ¡Ç½¤ò»ý¤Ä¥¯¥é¥¹¤Ç¤¹¡£
ÇÛÎó¤È°Û¤Ê¤ê¡¢Í×ÁǤò¼«Í³¤ËÄɲᦺï½ü¤Ç¤­¤Þ¤¹¡£(Í×ÁÇ¿ô¤¬²ÄÊѤ¹¤ë)
List¤òÍøÍѤ¹¤ë¾ì¹ç¤Ë¤ÏÇÛÎó¤ÈƱÍͤ˽é´ü²½¤¬É¬ÍפǤ¹¤¬¡¢List¤Ç¤Ï½é´ü²½»þ¤ËÍ×ÁÇ¿ô¤ÎÀë¸À¤¬ÉÔÍפǤ¹¡£

¡¡¤½¤Î¤¿¤á¡¢Í½¤áÍ×ÁÇ¿ô¤Î³ÎÄꤷ¤Æ¤¤¤ë¥Ç¡¼¥¿¤ò°·¤¦¾ì¹ç¤Ë¤ÏÇÛÎó¤ò¡¢Í×ÁÇ¿ô¤¬Ì¤³ÎÄê¤Ç¤¢¤Ã¤¿¤ê²ÄÊÑŤǤ¢¤ë¥Ç¡¼¥¿¤Ë¤Ä¤¤¤Æ¤ÏList¤òÍøÍѤ¹¤ë¤è¤¦¤Ë¤·¤Þ¤¹¡£

»²¹Í
.net columnÍÍ
¡Ú½é´ü²½¤ÎÊýË¡¡ÛC#¤ÇÇÛÎó¤ä¥ê¥¹¥È¤ò½é´ü²½¤¹¤ë¤Ë¤Ï¡©
https://www.fenet.jp/dotnet/column/language/713/
¡¡
¡¡¤³¤³¤Ç¤Ïº£²óÍøÍѤ·¤Æ¤¤¤ëList¥¯¥é¥¹¤Î»ý¤Ä¥á¥½¥Ã¥É¤Ë¤Ä¤¤¤ÆÀâÌÀ¤·¤Þ¤¹¡£


List¤ÎÀë¸À¤È½é´ü²½

¡¡public List<GameObject> iconRemainingBallList = new List<GameObject>();



List.Add(T·¿)

¡¡List¤ÎËöÈø¤Ë°ú¿ô¤Ç»ØÄꤷ¤¿Í×ÁÇ(¥Ç¡¼¥¿)¤òÄɲä·¤Þ¤¹¡£List¤ÇÀë¸À¤·¤Æ¤¤¤ë·¿¤ÈƱ¤¸·¿¤Ç¤¢¤ì¤ÐAdd¤¹¤ë¤³¤È¤¬½ÐÍè¤Þ¤¹¡£

  // ¼êµå¥¢¥¤¥³¥ó¤ò£±¤ÄÀ¸À®¤·¡¢iconÊÑ¿ô¤ËÂåÆþ
  GameObject icon = Instantiate(iconRemainingBallPrefab, remainingBallTran, false);

  // List¤ËÄɲÃ(List¤Î·¿¤ÈiconÊÑ¿ô¤Î·¿¤¬¤É¤Á¤é¤âGameObject·¿¤Ê¤Î¤ÇiconÊÑ¿ô¤òÄɲäǤ­¤ë)
  iconRemainingBallList.Add(icon);



¡¡List¤ÏAdd¥á¥½¥Ã¥É¤òÍøÍѤ·¤Æ¡¢°ú¿ô¤Ë»ØÄꤷ¤¿¥Ç¡¼¥¿¤òListÆâ¤ËÍ×ÁǤȤ·¤ÆÄɲ䷤Ƥ¤¤¯¤³¤È¤¬²Äǽ¤Ç¤¹¡£
¡¡ºï½ü¤¹¤ë¾ì¹ç¤Ë¤Ï¤¤¤¯¤Ä¤«ÊýË¡¤¬¤¢¤ê¤Þ¤¹¤¬¡¢Remove¥á¥½¥Ã¥É¤òÍøÍѤ¹¤ì¤Ð¡¢Add¥á¥½¥Ã¥É¤ÈƱ¤¸¤è¤¦¤Ë°ú¿ô¤Ç»ØÄꤷ¤¿¥Ç¡¼¥¿¤òListÆ⤫¤éºï½ü¤¹¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£


»²¹Í
»ø¥¨¥ó¥¸¥Ë¥¢½ÎÍÍ
¡ÚC#ÆþÌç¡ÛList¤Î»È¤¤ÊýÁí¤Þ¤È¤á(ArrayList/Add/Remove/¥½¡¼¥È/¸¡º÷)
https://www.sejuku.net/blog/47378


forʸ¤ÈÁȤ߹ç¤ï¤»¤ë

¡¡List¤ÏÊ£¿ô¤ÎƱ¤¸·¿¤ò°·¤¦¥³¥ì¥¯¥·¥ç¥ó¤Ç¤¹¤Î¤Ç¡¢forʸ¤Ê¤É¤Î·«¤êÊÖ¤·½èÍý¤ÈÁêÀ­¤¬¤¤¤¤¤Ç¤¹¡£
º£²ó¤Ï¼êµå¥¢¥¤¥³¥ó¤ÎÁí¿ô(List¤ÎÍ×ÁÇ¿ô¤ÎºÇÂçÃÍ)¤òÌÜɸÃͤˤ·¤Æforʸ¤ò¼Â¹Ô¤·¡¢²èÌ̤Ëɽ¼¨¤¹¤ë¼êµå¥¢¥¤¥³¥ó¤Î¿ô¤òÀ©¸æ¤·¤Æ¤¤¤Þ¤¹¡£

¡¡ÇÛÎó¤Î¾ì¹ç¤Ë¤ÏÍ×ÁÇ¿ô¤ÎºÇÂçÃͤÏLenght¤Ç¼èÆÀ¤Ç¤­¤Þ¤·¤¿¤¬¡¢List¤Î¾ì¹ç¤Ë¤ÏCount¤Ç¼èÆÀ½ÐÍè¤Þ¤¹¡£
¤³¤ì¤ÏLenght¤ÈƱ¤¸¤¯ int·¿¤Ç¤¹¤Î¤Ç¡¢forʸ¤Î¾ò·ï¼°¤ËÍøÍѤǤ­¤Þ¤¹¡£

¡¡for (int i = 0; i < iconRemainingBallList.Count; i++) {
  ¡¡¡¡//¡¡½èÍý
  }

¡¡¿·¤·¤¯³Ø½¬¤¹¤ëÆâÍƤǤ¢¤Ã¤Æ¤â¡¢¤½¤ì¤òÍøÍѤ¹¤ëºÝ¤Ë¤Ï´ðÁù½Ê¸¤ò»È¤¤¤Þ¤¹¡£¤³¤ì¤é¤ÎÁȤ߹ç¤ï¤»¤ò¤É¤Î¤è¤¦¤Ë¹½ÃÛ¤·¤Æ¤¤¤¯¤«¤¬½ÅÍפˤʤê¤Þ¤¹¡£


UIManager¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤òºîÀ®¤·¤Æ¡¢UIManager¥¹¥¯¥ê¥×¥È¤ò¥¢¥¿¥Ã¥Á¤¹¤ë


¡¡¥Ò¥¨¥é¥ë¥­¡¼¾å¤Ç±¦¥¯¥ê¥Ã¥¯¤ò¤·¤Æ¥á¥Ë¥å¡¼¤òɽ¼¨¤·¡¢Create Empty ¤òÁªÂò¤·¤Þ¤¹¡£Ì¾Á°¤ò UIManager ¤ËÊѹ¹¤·¤Þ¤¹¡£
¤³¤Î¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤ÏCanvasÆâ¤Ë¤Ê¤¤¾õÂÖ¤ÇÌäÂꤢ¤ê¤Þ¤»¤ó¡£

¥Ò¥¨¥é¥ë¥­¡¼²èÁü



¡¡Àè¤Û¤ÉºîÀ®¤·¤¿ UIManager ¥¹¥¯¥ê¥×¥È¤ò¥É¥é¥Ã¥°¥¢¥ó¥É¥É¥í¥Ã¥×¤·¤Æ¥¢¥¿¥Ã¥Á¤·¤Æ¤¯¤À¤µ¤¤¡£
UIManager¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤òÁªÂò¤·¤Æ¡¢UIManager¥¹¥¯¥ê¥×¥È¤¬¥¢¥¿¥Ã¥Á¤µ¤ì¤¿¤«¤ò¥¤¥ó¥¹¥Ú¥¯¥¿¡¼¤Ë¤Æ³Îǧ¤·¤Æ¤¯¤À¤µ¤¤¡£
°ú¤­Â³¤­¡¢¥¢¥µ¥¤¥ó¾ðÊó¤òÀßÄꤷ¤Æ¤¤¤­¤Þ¤¹¡£


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



UIManager¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤Ë¥¢¥µ¥¤¥ó¾ðÊó¤òÀßÄꤹ¤ë


¡¡UIManager¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤Î¥¤¥ó¥¹¥Ú¥¯¥¿¡¼¤«¤é¡¢UIManager¥¹¥¯¥ê¥×¥È¤Î¥¢¥µ¥¤¥ó¾ðÊó¤òÀßÄꤷ¤Þ¤¹¡£

¡¡IconRemainingBallList ÊÑ¿ô¤Ï Size 0 ¤Ë¤Ê¤Ã¤Æ¤¤¤Þ¤¹¤¬¡¢¤³¤Á¤é¤Ï¤½¤Î¤Þ¤Þ¤ÇÌäÂꤢ¤ê¤Þ¤»¤ó¡£
¤³¤Á¤é¤Ë¤Ï¥²¡¼¥à¼Â¹Ô»þ¤Ë¡¢À¸À®¤µ¤ì¤¿¼êµå¥¢¥¤¥³¥ó¤Î¿ô¤À¤±¾ðÊó¤¬Æþ¤ê¹¹¿·¤µ¤ì¤Þ¤¹¡£

¡¡IconRemainingBallPrefab ÊÑ¿ô¤Ë¤Ï¡¢Prefabs ¥Õ¥©¥ë¥À¤è¤êºîÀ®¤·¤Æ¤ª¤¤¤¿ IconRemainingBall ¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤ò¥É¥é¥Ã¥°¥¢¥ó¥É¥É¥í¥Ã¥×¤·¤Æ¥¢¥µ¥¤¥ó¤·¤Þ¤¹¡£
¤³¤Î¾ðÊó¤ò»È¤Ã¤Æ¼êµå¤Î¥¢¥¤¥³¥ó¤òÀ¸À®¤·¤Þ¤¹¡£

¡¡RemainingBallTran ÊÑ¿ô¤Ë¤Ï¥Ò¥¨¥é¥ë¥­¡¼¤Ë¤¢¤ë RemainingBallTran ¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤ò¥É¥é¥Ã¥°¥¢¥ó¥É¥É¥í¥Ã¥×¤·¤Æ¥¢¥µ¥¤¥ó¤·¤Þ¤¹¡£
¤³¤Î°ÌÃ֤˼êµå¥¢¥¤¥³¥ó¤ò»ØÄê¿ô¤À¤±À¸À®¤·¤Þ¤¹¡£

¡¡»ØÄê¿ô¡¢¤È¤¤¤¦¤³¤È¤ÏÊ£¿ô¤Î¥¢¥¤¥³¥ó¤òÀ¸À®¤¹¤ë¤³¤È¤Ë¤Ê¤ê¤Þ¤¹¤Î¤Ç¡¢ËÜÍè¤Ç¤¢¤ì¤Ð¡¢Ê£¿ô¤Î¥ª¥Ö¥¸¥§¥¯¥È¤òƱ¤¸°ÌÃÖ¤ÇÀ¸À®¤¹¤ë¤ÈÅöÁ³½Å¤Ê¤Ã¤Æ¤·¤Þ¤¤¤Þ¤¹¡£

¡¡¤Ç¤¹¤¬¡¢¤³¤Î À¸À®°ÌÃ֤˻ØÄꤷ¤Æ¤¤¤ë RemainingBallTran ¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤Ï GridLayoutGroup ¥³¥ó¥Ý¡¼¥Í¥ó¥È¤ò»ý¤Ã¤Æ¤¤¤Þ¤¹¤Î¤Ç¡¢
¥¢¥¤¥³¥ó¤¬¤¹¤Ù¤ÆƱ¤¸°ÌÃÖ¤ËÀ¸À®¤µ¤ì¤Æ¤â¡¢¼«Æ°Åª¤ËÀ°Îó¤·¤ÆÊ¤Ùľ¤·¤Æ¤¯¤ì¤Þ¤¹¡£(¤¹¤Ç¤ËÊ£¿ôʤ־õÂ֤ϸ¡¾ÚºÑ¤Ç¤¹)
¡¡¤½¤Î¤¿¤áº£²ó¤ÏÀ¸À®»þ¤Ë°ÌÃÖ¤ò¤º¤é¤·¤ÆÀ¸À®¤¹¤ë¡¢¤È¤¤¤¦½èÍý¤¬ÉÔÍפˤʤäƤ¤¤Þ¤¹¡£


¥¢¥µ¥¤¥ó¼ê½çÆ°²è¡¡¥×¥ì¥Õ¥¡¥Ö¤Î¾ðÊó¤È¥¢¥¤¥³¥óÀ¸À®°ÌÃ֤ξðÊó¤ò¥¢¥µ¥¤¥ó¤¹¤ë
https://gyazo.com/f4f4121e02b2322e9c8e170ea93b1b07


UIManager¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¡¡¥¢¥µ¥¤¥ó¸å¤Î¥¤¥ó¥¹¥Ú¥¯¥¿¡¼²èÁü


¡¡
¡¡°Ê¾å¤ÇUIManager´ØÏ¢¤ÎºîÀ®¤Ï½ªÎ»¤Ç¤¹¡£
¡¡

£²£´¡¥¥Ð¥È¥ë¥·¡¼¥ó´ÉÍýÍѤÎBattleManager¥¹¥¯¥ê¥×¥È¤òºîÀ®¤¹¤ë

Àß·×


¡¡Battle¥·¡¼¥óÁ´ÂΤò´ÉÍý¤¹¤ë¥Þ¥Í¡¼¥¸¥ã¡¼¥¯¥é¥¹¤È¤·¤ÆÀ߷פò¹Ô¤¤¤Þ¤¹¡£

¡¡º£²ó¤Ï¤Þ¤º¡¢Start¥á¥½¥Ã¥ÉÆâ¤ÇUIManager¥¯¥é¥¹¤Ø¤ÈÌ¿Îá¤ò½Ð¤·¡¢¼êµå¥¢¥¤¥³¥ó¤òÀ¸À®¤¹¤ë¤è¤¦¤Ë½èÍý¤ò¹Ô¤Ã¤Æ¤¤¤Þ¤¹¡£

¡¡º£¸å¤ÏŨ¤ÎÀ¸À®¡¢¥Ð¥È¥ëÆâ»þ´Ö¤Î´ÉÍý¤Ê¤É¡¢¥²¡¼¥à¤Î¿Ê¹Ô´ÉÍý¤â´Þ¤á¤ÆBattle¥·¡¼¥óÁ´ÂΤδÉÍý¤ò¹Ô¤¦¥¯¥é¥¹¤Ë¤·¤Þ¤¹¡£


BattleManager¥¹¥¯¥ê¥×¥È¤òºîÀ®¤¹¤ë


¡¡Àë¸À¥Õ¥£¡¼¥ë¥É¤Ç¤ÏUIManager¥¹¥¯¥ê¥×¥È¤Ø¤Îɳ¤Å¤±¤Î¤¿¤á¤ÎÊÑ¿ô¤òÍÑ°Õ¤·¤Þ¤¹¡£¤¢¤È¤Ç˺¤ì¤º¤Ë¥¢¥µ¥¤¥ó¤·¤Þ¤¹¡£

¡¡Start¥á¥½¥Ã¥É¤Ïvoid·¿¤Ç¤Ï¤Ê¤¯¡¢IEnumerator·¿¤ÇºîÀ®¤·¤Þ¤¹¡£¤³¤¦¤¹¤ë¤³¤È¤ÇStart¥á¥½¥Ã¥ÉÆâ¤Ç¥³¥ë¡¼¥Á¥ó½èÍý¤òµ­½Ò¤Ç¤­¤Þ¤¹¡£

¡¡¤³¤³¤Ç¤Ï yield return StartCoroutine(Initialize())¥á¥½¥Ã¥É¤ò¼Â¹Ô¤·¤Æ¤¤¤Þ¤¹¡£
¤³¤ì¤Ë¤è¤ê¡¢Initialize¥á¥½¥Ã¥É¤Î½èÍý¤¬¤¹¤Ù¤Æ½ªÎ»¤¹¤ë¤Þ¤Ç¤Ï¡¢¤³¤³¤Ç¥×¥í¥°¥é¥à¤ò°ì»þÄä»ß¤¹¤ë¡¢¤È¤¤¤¦ÃÙ±ä½èÍý¤ò¼ÂÁõ¤¹¤ë¤³¤È¤¬½ÐÍè¤Þ¤¹¡£

¡¡Initialize¥á¥½¥Ã¥É¤Ç¤Ï¡¢UIManager¥¯¥é¥¹¤Î»ý¤ÄGenerateIconRemainingBalls¥á¥½¥Ã¥É¤ò¸Æ¤Ó½Ð¤·¡¢¤³¤³¤Ç¼êµå¤ÎÀ¸À®½èÍý¤òÌ¿Îᤷ¤Æ¤¤¤Þ¤¹¡£
°ú¿ô¤Ë¤Ï¡¢GameData.instance.charaBallHp ÊÑ¿ô¤ò»ØÄꤷ¤Æ¤¤¤Þ¤¹¡£GameData¥¯¥é¥¹¤Ï¥·¥ó¥°¥ë¥È¥óÀ߷פˤʤäƤ¤¤ë¤¿¤á¡¢¤³¤Î¤è¤¦¤Ë¥¯¥é¥¹¤òľÀÜ»ØÄꤷ¤ÆÊÑ¿ô¤ò»²¾È¤Ç¤­¤Þ¤¹¡£

¡¡¤Þ¤¿¤³¤Î¥á¥½¥Ã¥É¤Î¸Æ¤Ó½Ð¤·¤Ë¤â yield return ¤ÇStartCoroutine¤ò¼Â¹Ô¤·¤Æ¤¤¤ë¤¿¤á¡¢¼êµå¥¢¥¤¥³¥ó¤ÎÀ¸À®¤¬½ªÎ»¤¹¤ë¤Þ¤Ç¡¢¤³¤³¤Ç¥×¥í¥°¥é¥à¤ò°ì»þÄä»ß¤·¤Æ¤¤¤Þ¤¹¡£


BattleManager.cs



¡ãStart¥á¥½¥Ã¥É¤ÎÌá¤êÃͤòvoid¤«¤éIEnumerator·¿¤Ë¤·¤Æ»ÈÍѤ¹¤ë½èÍý¡ä


¡¡Ä̾ï¤ÎStart¥á¥½¥Ã¥É¤ÎÌá¤êÃÍ¤Ï void ¤Ç¤¹¤¬¡¢ÍÑÅӤ˱þ¤¸¤ÆÌá¤êÃͤò IEnumerator·¿ ¤ËÊѹ¹¤·¤ÆÍøÍѤ¹¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£
¤½¤Î¾ì¹ç¡¢Ä̾ï¤ÈƱ¤¸¤è¤¦¤Ë¥²¡¼¥à¤Î¼Â¹Ô¤ÈƱ»þ¤ËStart¥á¥½¥Ã¥É¤¬¸Æ¤Ð¤ì¤ëÉôʬ¤ÏÊѤï¤ê¤Þ¤»¤ó¤¬¡¢
¥³¥ë¡¼¥Á¥ó¥á¥½¥Ã¥É¤È¤·¤Æµ¡Ç½¤¹¤ë¤è¤¦¤Ë¤Ê¤ê¤Þ¤¹¤Î¤Ç¡¢ÃÙ±ä½èÍý¤äÂÔµ¡½èÍý¤Ê¤É¤ò¼ÂÁõ¤¹¤ë¤³¤È¤¬²Äǽ¤Ë¤Ê¤ê¤Þ¤¹¡£

¡¡º£²ó¤Î¥±¡¼¥¹¤Ç¤Ï¡¢¼êµå¤Î¥¢¥¤¥³¥ó¤ò¤¹¤Ù¤ÆÀ¸À®¤·¤Æ¤«¤é¼¡¤Î½èÍý¤Ø¤È°Ü¤ê¤¿¤¤¤¿¤á¡¢¤½¤Î¤¿¤á¤Î¥á¥½¥Ã¥É¤ÎÂÔµ¡½èÍý¤ò¼ÂÁõ¤¹¤ë¤¿¤á¤ËStart¤Ç¤Î½èÍý¤òÍøÍѤ·¤Æ¤¤¤Þ¤¹¡£


¡ãyield return StartCoroutine()½èÍý¤Ë¤è¤ëÂÔµ¡½èÍý¡ä


¡¡¥³¥ë¡¼¥Á¥ó(Coroutine)¤È¤Ï°ìÄê¤Î»þ´Ö¤ä¾ò·ï¤ò¤â¤È¤Ë¡¢½èÍý¤òÃæÃÇ¡¦ºÆ³«¡¦½ªÎ»¤µ¤»¤ë¤³¤È¤¬¤Ç¤­¤ë½èÍý¤Î¤³¤È¤Ç¤¹¡£

¡¡¥³¥ë¡¼¥Á¥ó¤Ë¤Ä¤¤¤Æ¤Î¾ÜºÙ¤ÊÀâÌÀ¤Ï³ä°¦¤·¤Þ¤¹¡£¤³¤Á¤é¤Îµ­»ö¤ä¡¢¥µ¥¤¥È¤Ç¹­¤¯¾ðÊó¤ò¼èÆÀ¤Ç¤­¤Þ¤¹¤Î¤Ç¡¢¤½¤Á¤é¤ò»²¹Í¤Ë¤·¤Æ¤¯¤À¤µ¤¤¡£
XR-HU3ÍÍ
¡ÚUnity¡Û¥³¥ë¡¼¥Á¥ó¤Ç½èÍý¤òÃæÃÇ¡¦ºÆ³«¡¦Ää»ß¤µ¤»¤ëÊýË¡¤ò³Ø¤Ö
https://xr-hub.com/archives/20368


¡¡¥³¥ë¡¼¥Á¥ó¥á¥½¥Ã¥ÉÆâ¤Ë¤Ï¡¢yield ¤òÍøÍѤ·¤¿½èÍý¤òµ­½Ò¤¹¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£
Î㤨¤Ð¡¢¿ôÉô֤ÎÃÙ±ä½èÍý¤ä¡¢¾ò·ïãÀ®¤Þ¤ÇÂÔµ¡¤µ¤»¤ë½èÍý¤Ê¤É¤ò¡¢¤³¤Î yield ¤òÍøÍѤ¹¤ë¤È¼ÂÁõ¤Ç¤­¤Þ¤¹¡£
¡¡º£²ó¤Ï £²¤«½ê¤Ç³¤±¤Æ½èÍý¤ò¹Ô¤Ã¤Æ¤¤¤Þ¤¹¡£

    // ­¡½é´ü²½(¤³¤Î½èÍý¤¬½ªÎ»¤¹¤ë¤Þ¤Ç¡¢¼¡¤Î½èÍý¤ÏÆ°¤«¤Ê¤¤)
    yield return StartCoroutine(Initialize());
         ¢­
¡¡¡¡// ­¢»Ä¤ê¤Î¼êµå¤Î¿ô¤À¤±¼êµå¤Î¥¢¥¤¥³¥ó¤ÎÀ¸À®¤¹¤ë(¤³¤Î½èÍý¤¬½ªÎ»¤¹¤ë¤Þ¤Ç¡¢¼¡¤Î½èÍý¤ÏÆ°¤«¤Ê¤¤)
    yield return StartCoroutine(uiManager.GenerateIconRemainingBalls(currentHp));

¡¡Ä̾ï¤Î¥³¥ë¡¼¥Á¥ó¥á¥½¥Ã¥É¤Î¸Æ¤Ó½Ð¤·¤È°ã¤¤¤Þ¤·¤Æ¡¢¸Æ¤Ó½Ð¤¹Á°¤Ë yield return ¤¬¤¢¤ê¤Þ¤¹¡£
¤³¤Î¾ì¹ç¡¢¸Æ¤Ó½Ð¤µ¤ì¤¿¥³¥ë¡¼¥Á¥ó¥á¥½¥Ã¥É¤Î½èÍý¤¬¤¹¤Ù¤Æ½ªÎ»¤¹¤ë¤Þ¤Ç¡¢¤³¤³¤Ç¥×¥í¥°¥é¥à¤ò°ì»þÂÔµ¡¤µ¤»¤ë¡¢¤È¤¤¤¦½èÍý¤¬¼Â¹Ô¤µ¤ì¤Þ¤¹¡£

¡¡¸Æ¤Ó½Ð¤¹¥³¥ë¡¼¥Á¥ó¥á¥½¥Ã¥É¤Î½èÍý¤Ï¡¢

­¡¡¡¡ÖInitialize¥á¥½¥Ã¥É¤ò¼Â¹Ô¤¹¤ë¡£¤½¤Î¥á¥½¥Ã¥É¤Î½èÍý¤¬¤¹¤Ù¤Æ½ªÎ»¤¹¤ë¤Þ¤Ç¡¢¥×¥í¥°¥é¥à¤ò°ì»þÂÔµ¡¤µ¤»¤ë¡×
­¢¡¡¡ÖUIManager¥¯¥é¥¹¤Ë¤¢¤ëGenerateIconRemainingBalls¥á¥½¥Ã¥É¤ò¼Â¹Ô¤¹¤ë¡£¤½¤Î¥á¥½¥Ã¥É¤Î½èÍý¤¬¤¹¤Ù¤Æ½ªÎ»¤¹¤ë¤Þ¤Ç¡¢¥×¥í¥°¥é¥à¤ò°ì»þÂÔµ¡¤µ¤»¤ë¡×

¤È¤¤¤¦ÆâÍƤǤ¹¡£

¡¡¤Ä¤Þ¤ê¡¢­¢¤ÎÆâÍƤ¬½ªÎ»¤¹¤ë¤Þ¤Ç­¡¤Î½èÍý¤Ï½ªÎ»¤·¤Ê¤¤¤³¤È¤Ë¤Ê¤ê¤Þ¤¹¡£
¤½¤Î·ë²Ì¡¢¼êµå¤Î¥¢¥¤¥³¥ó¤ÎÀ¸À®¤¬½ªÎ»¤·¤Æ¤«¤é¡¢¤Ï¤¸¤á¤Æ¼¡¤Î½èÍý¤¬¹Ô¤ï¤ì¤ë¡¢¤È¤¤¤¦½èÍý¤¬¼ÂÁõ¤µ¤ì¤Æ¤¤¤Þ¤¹¡£

¡¡¤³¤Î¤è¤¦¤ÊÂÔµ¡½èÍý¤ò¶´¤à¤³¤È¤Ë¤è¤Ã¤Æ¡¢¼êµå¤Î¥¢¥¤¥³¥ó¤¬¤¹¤Ù¤Æ²èÌ̤Ëɽ¼¨¤µ¤ì¤ëÁ°¤Ë½èÍý¤¬¤É¤ó¤É¤ó¤ÈÀè¤Ë¿Ê¹Ô¤·¤Æ¤·¤Þ¤¦¤Î¤òËɤ¤¤Ç¤¤¤Þ¤¹¡£


BattleManager¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤òºîÀ®¤·¤Æ¡¢BattleManager¥¹¥¯¥ê¥×¥È¤ò¥¢¥¿¥Ã¥Á¤¹¤ë


¡¡¥Ò¥¨¥é¥ë¥­¡¼¾å¤Ç±¦¥¯¥ê¥Ã¥¯¤ò¤·¤Æ¥á¥Ë¥å¡¼¤òɽ¼¨¤·¡¢Create Empty ¤òÁªÂò¤·¤Þ¤¹¡£Ì¾Á°¤ò BattleManager ¤ËÊѹ¹¤·¤Þ¤¹¡£
¤³¤Î¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤ÏCanvasÆâ¤Ë¤Ê¤¤¾õÂÖ¤ÇÌäÂꤢ¤ê¤Þ¤»¤ó¡£


¥Ò¥¨¥é¥ë¥­¡¼²èÁü



¡¡UIManager¥¯¥é¥¹¤Î¥¢¥µ¥¤¥ó¤¬É¬Íפˤʤê¤Þ¤¹¤Î¤Ç¡¢¥Ò¥¨¥é¥ë¥­¡¼¤Ë¤¢¤ëUIManager¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤ò¥É¥é¥Ã¥°¥¢¥ó¥É¥É¥í¥Ã¥×¤·¤Æ¥¢¥µ¥¤¥ó¤·¤Þ¤¹¡£
¤³¤ì¤ÇUIManager¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤Ë¥¢¥¿¥Ã¥Á¤µ¤ì¤Æ¤¤¤ëUIManager¥¯¥é¥¹¤Ø¤Î¥¢¥µ¥¤¥ó¤¬½ÐÍè¤Þ¤·¤¿¡£

¡¡¥¹¥¯¥ê¥×¥È¡Ê¥¯¥é¥¹¡Ë¤ò¥¢¥µ¥¤¥ó¤¹¤ë¾ì¹ç¤Ë¤Ï¡¢¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤Ë¥¢¥¿¥Ã¥Á¤µ¤ì¤Æ¤¤¤ë¥¯¥é¥¹¤ò»ØÄꤹ¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£
¥¹¥¯¥ê¥×¥È¡¦¥Õ¥¡¥¤¥ë¤ò¤½¤Î¤Þ¤Þ¥É¥é¥Ã¥°¥¢¥ó¥É¥É¥í¥Ã¥×¤·¤Æ¤â¥¢¥µ¥¤¥ó¤Ç¤­¤Þ¤»¤ó¤Î¤Ç¡¢µ¤¤òÉÕ¤±¤Æ¤¯¤À¤µ¤¤¡£


¼ê½çÆ°²è
https://gyazo.com/44de0fb4ce6aeeec4b12ba35d8c575d2


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



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


¡¡¤¹¤Ù¤Æ¤Î½àÈ÷¤¬´°Î»¤·¤Þ¤·¤¿¤Î¤Ç¡¢¥²¡¼¥à¤ò¼Â¹Ô¤·¤ÆÆ°ºî¤ò³Îǧ¤·¤Æ¤¤¤­¤Þ¤¹¡£

¡¡¤Þ¤º¡¢GameData¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤ò¤â¤¦°ìÅÙ³Îǧ¤·¡¢CharaBallHp ÊÑ¿ô¤ËÃͤ¬Æþ¤Ã¤Æ¤¤¤ë¤«¤ò³Îǧ¤·¤Þ¤¹¡£
¤³¤ÎÃͤ¬¼êµå¥¢¥¤¥³¥ó¤Î¿ô¤Ë¤Ê¤ë¤¿¤á¡¢Ê£¿ô¤Î¥¹¥¯¥ê¥×¥È¤ò¤Þ¤¿¤¤¤Ç½èÍý¤ò¹Ô¤¦¾ì¹ç¤Ë¤Ï¡¢É¬¤º´ØÏ¢¤¹¤ë¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤ä¥¹¥¯¥ê¥×¥È¤ò³Îǧ¤·¤Þ¤¹¡£
¡¡

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

¡¡
¡¡
¡¡ÌäÂê¤Ê¤±¤ì¤Ð¥²¡¼¥à¤ò¼Â¹Ô¤·¤Þ¤¹¡£¼êµå¥¢¥¤¥³¥ó¤¬½çÈÖ¤ËÀ¸À®¤µ¤ì¤ì¤ÐÀ®¸ù¤Ç¤¹¡£
¤Þ¤¿¡¢UIManager¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤Î¥¤¥ó¥¹¥Ú¥¯¥¿¡¼¤â³Îǧ¤·¤Æ¡¢IconRemainingBallList ÊÑ¿ô¤Î Size ¤¬ 0 ¤«¤é 3 ¤Ë¤Ê¤ê¡¢List¤ÎÃæ¿È¤âÄɲ䵤ì¤Æ¤¤¤ë¤«¸«¤Þ¤·¤ç¤¦¡£
¡¡

¼Â¹ÔÆ°²è¡¡¼êµå¥¢¥¤¥³¥ó¤¬½çÈÖ¤ËÀ¸À®¤µ¤ì¤ë
https://gyazo.com/29ef8fb29bf764f1e5058509abd7b390


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



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

¥³¥á¥ó¥È¤ò¤«¤¯


¡Öhttp://¡×¤ò´Þ¤àÅê¹Æ¤Ï¶Ø»ß¤µ¤ì¤Æ¤¤¤Þ¤¹¡£

ÍøÍѵ¬Ìó¤ò¤´³Îǧ¤Î¤¦¤¨¤´µ­Æþ²¼¤µ¤¤

Menu



´ðÁÃ

µ»½Ñ/Ãμ±(¼ÂÁõÎã)

3D¥¢¥¯¥·¥ç¥ó¥²¡¼¥à

2D¤ª¤Ï¤¸¤­¥²¡¼¥à(ȯŸÊÔ)

2D¶¯À©²£¥¹¥¯¥í¡¼¥ë¥¢¥¯¥·¥ç¥ó(ȯŸÊÔ)

2D¥¿¥Ã¥×¥·¥å¡¼¥Æ¥£¥ó¥°(³ÈÄ¥ÊÔ)

¥ì¡¼¥¹¥²¡¼¥à(È´¿è)

2DÊüÃÖ¥²¡¼¥à(ȯŸÊÔ)

3D¥ì¡¼¥ë¥¬¥ó¥·¥å¡¼¥Æ¥£¥ó¥°(±þÍÑÊÔ)

3Dæ½Ð¥²¡¼¥à(È´¿è)

2D¥ê¥¢¥ë¥¿¥¤¥à¥¹¥È¥é¥Æ¥¸¡¼

3D¥¿¥Ã¥×¥¢¥¯¥·¥ç¥ó(NavMeshAgent »ÈÍÑ)

2D¥È¥Ã¥×¥Ó¥å¡¼¥¢¥¯¥·¥ç¥ó(¥«¥¨¥ë¤Î°Ù¤Ë¡Á¡¢¥Ü¥³¥¹¥«¥¦¥©¡¼¥ºÉ÷)

VideoPlayer ¥¤¥Ù¥ó¥ÈϢư¤Î¼ÂÁõÎã

VideoPlayer ¥ê¥¹¥ÈÆ⤫¤é¥à¡¼¥Ó¡¼ºÆÀ¸¤Î¼ÂÁõÎã(ȯŸ)

AR ²èÁüÉÕ¤­¥ª¥Ö¥¸¥§¥¯¥ÈÀ¸À®¤Î¼ÂÁõÎã

AR ¥ê¥¹¥ÈÆ⤫¤éÀ¸À®¤Î¼ÂÁõÎã(ȯŸ)

2D¥È¥Ã¥×¥Ó¥å¡¼¥¢¥¯¥·¥ç¥ó(¥µ¥Ð¥¤¥Ð¡¼É÷)

private



¤³¤Î¥µ¥¤¥ÈÆâ¤ÎºîÉʤϥæ¥Ë¥Æ¥£¤Á¤ã¤ó¥é¥¤¥»¥ó¥¹¾ò¹à¤Î¸µ¤ËÄ󶡤µ¤ì¤Æ¤¤¤Þ¤¹¡£

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