ºÇ½ª¹¹¿·¡§ orika_ex_miyako 2023ǯ11·î21Æü(²Ð) 13:46:54ÍúÎò
¡¡¿·¤·¤¤½èÍý¤¬Â¿¤¯¤¢¤ë¾ì¹ç¡¢¤½¤ÎÅÔÅÙÄ´¤Ù¤Æ¡¢Íý²ò¤ò¿¼¤á¤Æ¤«¤é¿Ê¤á¤Æ¤¯¤À¤µ¤¤¡£
¶µºà¤ÎÄ̤ê¤Ë¼ÂÁõ¤Ç¤¤ë¤³¤È¤È¡¢¼ÂºÝ¤Ë¼«Ê¬¤Ç¹Í¤¨¤ÆºÇ½é¤«¤éºî¤ì¤ë¤è¤¦¤Ë¤Ê¤ë¤³¤È¤È¤Ç¤Ï¡¢¤Þ¤Ã¤¿¤¯°Û¤Ê¤ê¤Þ¤¹¡£
¤½¤Î¾ì¹ç¡¢Íý²òÅ٤κ¹¤¬Â礤¯½Ð¤Þ¤¹¤Î¤Ç¡¢¤·¤Ã¤«¤ê¤ÈÉü½¬¤ò¹Ô¤¦¤è¤¦¤Ë¤·¤Þ¤·¤ç¤¦¡£
¡¡°Ê²¼¤Ï´°À®»þ¤Î¥µ¥ó¥×¥ëÆ°²è¤Ç¤¹¡£¤³¤Á¤é¤òÌÜɸ¤Ë¤·¤ÆÀ©ºî¤·¤Þ¤·¤ç¤¦¡£
¡ã´°À®Æ°²è¡ä
¡¡¥¥ã¥é¤ÎÀ©¸æ¤ò¹Ô¤¦¥¯¥é¥¹¤Î´ðÄ쥯¥é¥¹¤Ç¤¹¡£
¤¤¤ï¤æ¤ë CharacterController ¥¯¥é¥¹¤Î¤è¤¦¤Ê°ÌÃÖÉÕ¤±¤Î¥¯¥é¥¹¤Ç¤¹¡£
¡¡º£²ó¤Ï¤³¤³¤Ë¤Ï¥Õ¥©¡¼¥«¥¹¤·¤Æ¤¤¤Þ¤»¤ó¤Î¤Ç¡¢¥¯¥é¥¹¤òÀ©ºî¤¹¤ë¤Î¤ß¤Ëα¤á¤Æ¤¤¤Þ¤¹¡£
¼ÂºÝ¤Ë¤Ï¼«Ê¬¤Î¥×¥í¥¸¥§¥¯¥È¤Ë¹ç¤ï¤»¤Æ¥«¥¹¥¿¥Þ¥¤¥º¤·¤Æ¼ÂÁõ¤·¤Æ¤¯¤À¤µ¤¤¡£
CharacterBase.cs
¡¡Î㤨¤Ð¡¢¥×¥ì¥¤¥ä¡¼¤Î¾ðÊó¤ä¥¢¥¤¥Æ¥à¤Î¾ðÊó¤Ê¤É¥Ç¡¼¥¿¤ò°·¤¦¾ì¹ç¤Ë¡¢Ê£¿ô¤Î¥Ç¡¼¥¿¤ò£±¤Ä¤Î¤Þ¤È¤Þ¤ê¤È¤·¤Æ´ÉÍý¤Ç¤¤ëÊýË¡¤¬¤¢¤ë¤È°·¤¤¤¬³Ú¤Ë¤Ê¤ê¤Þ¤¹¡£
¡¡°Ê²¼¤Î¤è¤¦¤Ë¡¢ÌîµåÁª¼ê¤ä¥µ¥Ã¥«¡¼Áª¼ê£±Ì¾Ê¬¤ò¥Ç¡¼¥¿¤È¤·¤Æ°·¤¦¤³¤È¤ò¹Í¤¨¤Æ¤ß¤Æ¤¯¤À¤µ¤¤¡£
¡ãÌîµåÁª¼ê¤Î¾ì¹ç¡ä
¡¡¡¦ÇØÈÖ¹æ ¡¡¡¦ÆÀ°Õ¤Ê¼éÈ÷°ÌÃÖ ¡¡¡¦ÂÇΨ ¡¡¡¦ÁöÎÏ ¡¡¡¡¡¡¡¡¤Ê¤É
¡ã¥µ¥Ã¥«¡¼Áª¼ê¤Î¾ì¹ç¡ä
¡¡¡¦¥Ý¥¸¥·¥ç¥ó¡¦Ìò³ä(¥´¡¼¥ë¥¡¼¥Ñ¡¼¡¢¥Ç¥£¥Õ¥§¥ó¥À¡¼¡¢¥ß¥Ã¥É¥Õ¥£¥ë¥À¡¼¡¢¥Õ¥©¥ï¡¼¥É) ¡¡¡¦ÂÎ³Ê ¡¡¡¦¥·¥å¡¼¥ÈÎÏ ¡¡¡¦¥É¥ê¥Ö¥ëÎÏ ¡¡¡¦ÁöÎÏ ¡¡¡¡¡¡¡¡¤Ê¤É
¡¡¤³¤Î¤è¤¦¤Ë¡¢£±¤Ä¤ÎÁª¼ê¤Î¥Ç¡¼¥¿¤ò´ÉÍý¤¹¤ë¤Ë¤¢¤¿¤Ã¤Æ¤ÏÊ£¿ô¤Î¾ðÊó¤¬É¬ÍפǤ¹¤¬¡¢¤½¤ì¤é¤Ï¥Ð¥é¥Ð¥é¤Ë¤Ê¤Ã¤Æ¤¤¤Æ¤Ï´ØÏ¢À¤¬Ê¬¤«¤ê¤Þ¤»¤ó¡£
¡¡¥×¥í¥°¥é¥à¤Ç¤Ï¤³¤Î¤è¤¦¤Ê¥Ç¡¼¥¿¤ò´ÉÍý¤¹¤ë¤¿¤á¤Ë¥¯¥é¥¹¤¬ÍÑ°Õ¤µ¤ì¤Æ¤¤¤Þ¤¹¡£
¡¡
¡¡¥¯¥é¥¹¤ÎÌò³ä¤ÏÊÑ¿ô¤ÎÀë¸À¤È¥á¥½¥Ã¥É¤ÎÀë¸À¤¬¹Ô¤¨¤ë¤³¤È¤Ç¤¹¤¬¡¢ÊÑ¿ô¤ÎÉôʬ¤ò¡¢¤½¤ì¤¾¤ì¤ÎÁª¼ê¤Î¾ðÊó¤ò°·¤¦ÃͤȤ·¤ÆÍøÍѤ·¤Þ¤¹¡£
¡¡¤³¤Î¤è¤¦¤Ê´ÑÅÀ¤ÇÁª¼êÍѤΥǡ¼¥¿¤ò´ÉÍý¤¹¤ë¤¿¤á¤Î¥¯¥é¥¹¤òºîÀ®¤·¡¢¤½¤ÎÃæ¤Ë´ØÏ¢¤·¤Æ¤¤¤ëÊ£¿ô¤Î¥Ç¡¼¥¿¤òÊÑ¿ô¤È¤·¤ÆÀë¸À¤·¤Æ´ÉÍý¤¹¤ë¤³¤È¤Ç¡¢
£±¤Ä¤Î¥¯¥é¥¹¤ÇÁª¼ê¤Î¾ðÊó¤òɽ¸½¤¹¤ë¤³¤È¤¬¤Ç¤¤Þ¤¹¡£
¡¡ÌîµåÁª¼ê¤òÎã¤Ë¤¹¤ë¤È¡¢¤³¤Î¤è¤¦¤Ê¥¯¥é¥¹¤Ë¤Ê¤ê¤Þ¤¹¡£
public class BaseBallPlayerData { public int uniform number; // ÇØÈÖ¹æ ¡¡ public string defensivePositon; // ÆÀ°Õ¤Ê¼éÈ÷°ÌÃÖ ¡¡ public float battingAverage; // ÂÇΨ ¡¡ public float runSpeed; // ÁöÎÏ }
¡¡¤³¤Î¤è¤¦¤Ë¥¯¥é¥¹¤ò³èÍѤ¹¤ë¤³¤È¤Ç¡¢£±¤Ä¤Î¾ðÊó¤ò¹½À®¤¹¤ë¤¿¤á¤ËɬÍפÊÊ£¿ô¤Î¥Ç¡¼¥¿¤ò´ÉÍý¤¹¤ë¤³¤È¤¬²Äǽ¤Ë¤Ê¤ê¤Þ¤¹¡£
¡¡¤³¤Î¹Í¤¨Êý¤ò¥Ù¡¼¥¹¤Ë¡¢º£²ó¤Î¾ì¹ç¤Ë¤Ï¡¢¥¥ã¥é´Ø·¸¤Î¥Ç¡¼¥¿¤ò´ÉÍý¤¹¤ë¤¿¤á¤Î¥¯¥é¥¹¤È¡¢¤½¤ì¤ò«¤Í¤Æ¥Ç¡¼¥¿¥Ù¡¼¥¹¤Ë¤¹¤ëµ¡Ç½¤òºîÀ®¤·¤Æ¤¤¤¤Þ¤¹¡£
¡¡
¡¡Àè¤Û¤ÉÌîµåÁª¼ê¤Î¥Ç¡¼¥¿¤ò BaseBallPlayerData ¥¯¥é¥¹¤È¤·¤Æɽ¸½¤·¤Þ¤·¤¿¡£
¡¡¤³¤Î¥¯¥é¥¹¤Ë¤ÏÁª¼ê£±Ì¾Ê¬¤Î¥Ç¡¼¥¿¤ò´ÉÍý¤¹¤ë¤³¤È¤¬¤Ç¤¤Þ¤¹¡£¤Ç¤¹¤¬¡¢Ìîµå¤ä¥µ¥Ã¥«¡¼¡¢¤½¤ì°Ê³°¤Î¤â¤Î¤Î¿¤¯¤Ï¡¢£±¤Ä¤Î¥Ç¡¼¥¿¤À¤±¤Ç¤Ï¾ðÊó¤¬Â¤ê¤Þ¤»¤ó¡£
¾¯¤Ê¤¯¤Æ¤âÌîµå¤Î¾ì¹ç¤Ë¤Ï£¹Ì¾(Áê¼ê¤âɬÍפʤΤǣ±£¸Ì¾)ʬ¤Î BaseBallPlayerData ¤¬É¬Íפˤʤê¤Þ¤¹¡£
¤Ê¤¼¤Ê¤é¡¢BaseBallPlayerData ¤Ë¤Ï£±Ì¾Ê¬¤Î¥Ç¡¼¥¿¤·¤«´ÉÍý½ÐÍè¤Þ¤»¤ó¤Î¤Ç¡¢¤½¤ì¤ò¿Í¿ôʬÍÑ°Õ¤·¤Ê¤±¤ì¤Ð¤Ê¤é¤Ê¤¤Ìõ¤Ç¤¹¡£
¡¡¤³¤¦¤·¤¿¤È¤¡¢Æ±Ì¾¤Î¥¯¥é¥¹·²¤ò£±¤Ä¤Î¤Þ¤È¤Þ¤ê¤È¤·¤Æ´ÉÍý¤Ç¤¤ëÆþ¤ìʪ¤Î¤è¤¦¤Ê¤â¤Î¤¬¤¢¤ë¤È°·¤¤¤¬³Ú¤Ë¤Ê¤ê¤Þ¤¹¡£
£¹Ì¾Ê¬¤Î BaseBallPlayerData ¥¯¥é¥¹¤ÎÊÑ¿ô¤ò£¹¸ÄÍÑ°Õ¤·¤¿¤Î¤Ç¤Ï´ÉÍý¤·¤Æ¤¤¤ë¤³¤È¤Ë¤Ï¤Ê¤ê¤Þ¤»¤ó¡£
¡¡BaseBallPlayerData ¥¯¥é¥¹£¹Ì¾Ê¬¤ò£±¤Ä¤ÎÊÑ¿ô¤Ç¤Þ¤È¤á¤Æ´ÉÍý¤·¤Æ¤¯¤ì¤ë¤â¤Î¤È¤·¤Æ¡¢C# ¤Ç¤Ï¥³¥ì¥¯¥·¥ç¥ó¤È¤¤¤¦µ¡Ç½¤òÍøÍѤ¹¤ë¤³¤È¤Ç¼Â¸½¤Ç¤¤Þ¤¹¡£
¡¡C# ¤Î¥³¥ì¥¯¥·¥ç¥ó¤Ë¤Ï¡¢List¡¢Dectionary ¤È¤¤¤¦µ¡Ç½¤¬ÍÑ°Õ¤µ¤ì¤Æ¤¤¤Þ¤¹¡£(ÇÛÎó¤Ï¥³¥ì¥¯¥·¥ç¥ó¤Ç¤Ï¤Ê¤¤¤Î¤ÇÃí°Õ¤·¤Æ¤¯¤À¤µ¤¤¡£)
¡ã³Æ¥¯¥é¥¹¤ò£±¤Ä¤º¤ÄÀë¸À¡¡¢ª¡¡¤³¤ì¤Ï£±¤Ä¤ÎÊÑ¿ô¤Ë¤Þ¤È¤Þ¤Ã¤Æ¤¤¤Ê¤¤¡ä
¡¡BaseBallPlayerData player0; BaseBallPlayerData player1; BaseBallPlayerData player2; ¡¡¡¡¡¡¡¡¡§ BaseBallPlayerData player8;¡¡
¡¡¡¡¢
¡ã¥³¥ì¥¯¥·¥ç¥óµ¡Ç½¤ò»È¤¤¡¢£±¤Ä¤ÎÊÑ¿ô¤ÇƱ¥¯¥é¥¹¤Î°Û¤Ê¤ë¥Ç¡¼¥¿¤òɽ¸½¤¹¤ë¡ä
¡¡List<BaseBallPlayerData> playerList;¡¡¡¡// List
¡¡Unity ¤Ç¤Ï¤³¤Î¤¦¤Á¡¢ScriptableObject ¥¯¥é¥¹¤È List ¤Îµ¡Ç½¤ò³èÍѤ·¤ÆºîÀ®¤Ç¤¤ë¥¹¥¯¥ê¥×¥¿¥Ö¥ë¡¦¥ª¥Ö¥¸¥§¥¯¥È¤È¤¤¤¦µ¡Ç½¤¬ÍÑ°Õ¤µ¤ì¤Æ¤¤¤Þ¤¹¡£
¤³¤Î¥¹¥¯¥ê¥×¥¿¥Ö¥ë¡¦¥ª¥Ö¥¸¥§¥¯¥È¤Îµ¡Ç½¤òÍøÍѤ¹¤ë¤³¤È¤Ç¡¢¥Ç¡¼¥¿¥Ù¡¼¥¹¤òºîÀ®¤¹¤ë¤³¤È¤¬¤Ç¤¤Þ¤¹¡£
¡¡¤Ê¤ª¡¢¥³¥ì¥¯¥·¥ç¥óµ¡Ç½¤Ï¤¢¤¯¤Þ¤Ç¤âÊ£¿ô¤ÎƱ¥¯¥é¥¹¤Î¾ðÊó¤ò¤Þ¤È¤á¤Æ´ÉÍý¤¹¤ë¤³¤È¤¬¥á¥¤¥ó¤Ç¤¹¡£
¤½¤Î¤¿¤á¡¢¥³¥ì¥¯¥·¥ç¥óµ¡Ç½¤ò»È¤¨¤Ð¤½¤ì¤¬¥Ç¡¼¥¿¥Ù¡¼¥¹¤Ë¤Ê¤ë¡¢¤È¤¤¤¦¤³¤È¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó¡£
¤¢¤¯¤Þ¤Ç¤â Unity ¤ÎÍÑ°Õ¤·¤Æ¤¤¤ë ScriptableObject ¥¯¥é¥¹¤È List ¤ò³èÍѤ¹¤ë¤³¤È¤Ç¥Ç¡¼¥¿¥Ù¡¼¥¹¤òºîÀ®¤·¤Æ¤¤¤Þ¤¹¡£
¡¡¤³¤ÎÉôʬ¤Îǧ¼±¤ò´Ö°ã¤¨¤Ê¤¤¤è¤¦¤Ë¤·¤Æ¤¯¤À¤µ¤¤¡£
»²¹Í¥µ¥¤¥È
MicroSoft
¥³¥ì¥¯¥·¥ç¥ó
¡¡ÃΤé¤Ê¤¤Ã±¸ì¤¬½Ð¤Æ¤¤¿¤È¤¤Ë¤ÏÀѶËŪ¤Ë¡¢¥Í¥Ã¥È¤Ë¸ø³«¤µ¤ì¤Æ¤¤¤ë¸ø¼°¤Î¥Þ¥Ë¥å¥¢¥ë¡¢¤ï¤«¤ê¤ä¤¹¤¯¤Þ¤È¤á¤¿µ»ö¤Ê¤É¤ò¸«¤Ä¤±¤ÆÄ´¤Ù¤Æ¤ß¤Æ¤¯¤À¤µ¤¤¡£
¡¡ScriptableObject(¥¹¥¯¥ê¥×¥¿¥Ö¥ë¡¦¥ª¥Ö¥¸¥§¥¯¥È)¤Ï¡¢Unity¥¨¥Ç¥£¥¿¾å¤Ç´Êñ¤Ë¥Ç¡¼¥¿¤ò´ÉÍý¤Ç¤¤ëµ¡Ç½¤Ç¤¹
¡¡¥¹¥¯¥ê¥×¥¿¥Ö¥ë¡¦¥ª¥Ö¥¸¥§¥¯¥È¤òºîÀ®¤¹¤ë¤¿¤á¤Ë¤Ï¡¢ÀìÍѤΥ¹¥¯¥ê¥×¥È¤òºîÀ®¤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£¤½¤ÎºîÀ®ÊýË¡¤ò³Ø½¬¤·¤Þ¤¹¡£
¡¡º£²óºîÀ®¤¹¤ë¥¹¥¯¥ê¥×¥¿¥Ö¥ë¡¦¥ª¥Ö¥¸¥§¥¯¥È¤Ï¥¥ã¥é´ØÏ¢¤Î¥Ç¡¼¥¿¤ò´ÉÍý¤¹¤ëÌÜŪ¤ÇºîÀ®¤ò¹Ô¤¤¤Þ¤¹¡£
¤½¤Î¤¿¤á¡¢¥¹¥¯¥ê¥×¥ÈÆâ¤Ë¤Ï¡¢¥¥ã¥é´ØÏ¢¤Î¥Ç¡¼¥¿¤ò¤Þ¤È¤á¤ë¤¿¤á¤Î CharaData ¥¯¥é¥¹¤òÍÑ°Õ¤·¤Þ¤¹¡£
¡¡CharaData ¥¯¥é¥¹¤Ï¡¢¥¥ã¥é´ØÏ¢¤Î¥Ç¡¼¥¿¤ò£±¤Ä¤Ë¤Þ¤È¤á¤Æ¤¤¤ë¾ðÊ󷲤Ǥ¹¡£
¥¥ã¥é¤ÎÄ̤·Èֹ桢¥¥ã¥é¤Î²èÁü¤Ê¤É¡¢¤³¤ì¤é¤ò£±¤Ä¤Î¥Ç¡¼¥¿·²¤È¤·¤Æ¤Þ¤È¤á¤Æ´ÉÍý¤¹¤ë¤¿¤á¤Î¥¯¥é¥¹¤Ë¤Ê¤ê¤Þ¤¹¡£
¡¡¤³¤Î CharaData ¥¯¥é¥¹¤Ï¡¢¥²¡¼¥à¤ËÅо줹¤ë¥¥ã¥é¤Î¿ô¤À¤±ÍÑ°Õ¤¹¤ë¤³¤È¤Ë¤Ê¤ê¤Þ¤¹¤Î¤Ç¡¢¤½¤ì¤ò´ÉÍý¤¹¤ë¤¿¤á¤Ë List µ¡Ç½¤òÍøÍѤ·¤Þ¤¹¡£
¡¡¤³¤Î£²¤Ä¤Î¾ðÊó¤ò´ÉÍý¤·¤Æ´°À®¤¹¤ë¤Î¤¬¥¹¥¯¥ê¥×¥¿¥Ö¥ë¡¦¥ª¥Ö¥¸¥§¥¯¥È¤Ë¤Ê¤ê¤Þ¤¹¡£
¤½¤Î¤¿¤á¤Ë¥¯¥é¥¹¤È¤·¤Æ¡¢CharaDataSO ¥¯¥é¥¹¤òºîÀ®¤·¤Þ¤¹¡£
¡¡¤É¤Î¤è¤¦¤Ê¹½À®¤Ë¤Ê¤Ã¤Æ¤¤¤ë¤«¤Ï¥¹¥¯¥ê¥×¥ÈºîÀ®¸å¤ËÀâÌÀ¤ò¤·¤Æ¤¤¤Þ¤¹¤Î¤Ç¡¢¤½¤Á¤é¤ò¤·¤Ã¤«¤ê¤È³Ø½¬¤·¤Æ¤ª¤¤¤Æ¤¯¤À¤µ¤¤¡£
¿¿»÷¤ò¤·¤Æºî¤Ã¤Æ¤ß¤¿¤ê¡¢Éü½¬¤ò½Å¤Í¤Æ¤¤¤¯¤³¤È¤Ç¥×¥í¥°¥é¥à¤ÏÍý²ò¤¬¿¼¤Þ¤ê¡¢½èÍý¤Î¥¤¥á¡¼¥¸¤¬¤ï¤¯¤è¤¦¤Ë¤Ê¤ê¡¢½ñ¤±¤ë¤è¤¦¤Ë¤Ê¤ê¤Þ¤¹¡£
¡¡¥¥ã¥é¤Î¥Ç¡¼¥¿¡¢¤ª¤è¤Ó¡¢¥¥ã¥é¤Ê¤É¤Î¥Ç¡¼¥¿¤òÅÐÏ¿¤¹¤ë¤¿¤á¤Î¥¯¥é¥¹¤òºîÀ®¤·¤Þ¤¹¡£
¥¯¥é¥¹¤Ï·Ñ¾µ¤·¤Þ¤»¤ó¤Î¤Ç¡¢MonoBehaviour ¥¯¥é¥¹¤Ïºï½ü¤·¤Æ¤¯¤À¤µ¤¤¡£
¡¡MonoBehaviour ¥¯¥é¥¹¤ò·Ñ¾µ¤·¤Ê¤¤¥¯¥é¥¹¤È¤·¤ÆºîÀ®¤¹¤ë¤³¤È¤Ç¡¢
¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤Ëɳ¤Å¤«¤Ê¤¤¡¢¥Ç¡¼¥¿´ÉÍý¤Î¤ß¤Î¥¯¥é¥¹¤È¤·¤ÆÀ©ºî¤·¤Æ¤ª¤¤Þ¤¹¡£
¡¡¥¹¥¯¥ê¥×¥¿¥Ö¥ë¡¦¥ª¥Ö¥¸¥§¥¯¥È¤òºîÀ®¤·¤¿ºÝ¡¢¥¤¥ó¥¹¥Ú¥¯¥¿¡¼¤«¤é CharaData ¥¯¥é¥¹¤Î¾ðÊó¤òÀßÄê¤Ç¤¤ë¤è¤¦¤Ë
[System.Serializable] °À¤ò¥¯¥é¥¹¤Î¾å¤ËÉÕÍ¿¤·¤Æ¤¯¤À¤µ¤¤¡£
CharaData.cs
¡¡¥¹¥¯¥ê¥×¥È¤òºîÀ®¤·¤¿¤é¥»¡¼¥Ö¤·¤Þ¤¹¡£
¡¡Æþ¤ì»Ò¤Ë¤Ê¤Ã¤Æ¤¤¤ë¥¯¥é¥¹¤Î£±¹Ô¾å¤Ë¤Ï¾åµ¤ÎÀë¸À¤¬¤¢¤ê¤Þ¤¹¡£[ ]¤ÇÀë¸À¤µ¤ì¤¿ÀßÄêÃͤϡÖ°À¡×¤È¸Æ¤Ð¤ì¤ë¾ðÊó¤Ë¤Ê¤ê¡¢ÆÃÊ̤ʰÕÌ£¤ò»ý¤Á¤Þ¤¹¡£
¡¡º£²óÍøÍѤ·¤Æ¤¤¤ë[System.Serializable]°À¤Ï¡¢System¤Ë´Þ¤Þ¤ì¤Æ¤¤¤ëÀßÄêÃͤǤ¢¤ê¡¢¤³¤Á¤é¤òÀë¸À¤¹¤ë¤³¤È¤ÇÆþ¤ì»Ò¥¯¥é¥¹¤Î¾ðÊó¤ò¥¤¥ó¥¹¥Ú¥¯¥¿¡¼¤Ëɽ¼¨¤¹¤ë¤³¤È¤¬½ÐÍè¤Þ¤¹¡£
¤³¤ì¤ò½ñ¤Ëº¤ì¤Æ¤·¤Þ¤¦¤È¡¢¥¤¥ó¥¹¥Ú¥¯¥¿¡¼¤Ë CharaData ¤¬É½¼¨¤µ¤ì¤º¡¢¥Ç¡¼¥¿¤ò¥¤¥ó¥¹¥Ú¥¯¥¿¡¼¤«¤éÅÐÏ¿¤¹¤ë¤³¤È¤¬½ÐÍè¤Þ¤»¤ó¡£
using System; ¤òÀë¸À¤·¤Æ¤¤¤ë¾ì¹ç¤Ë¤Ï [Serializable] ¤È¤À¤±µ½Ò¤¹¤ì¤ÐŬÍѤµ¤ì¤Þ¤¹¡£Àë¸À¤·¤Æ¤¤¤Ê¤¤¾ì¹ç¤Ë¤Ï [System.Serializable] ¤Èµ½Ò¤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£
¡¡¥¹¥¯¥ê¥×¥¿¥Ö¥ë¡¦¥ª¥Ö¥¸¥§¥¯¥È¤òºîÀ®¤¹¤ë¤¿¤á¤ËɬÍ×¤Ê CharaDataSO ¥¹¥¯¥ê¥×¥È¤òºîÀ®¤·¤Þ¤¹¡£
¥¹¥¯¥ê¥×¥¿¥Ö¥ë¡¦¥ª¥Ö¥¸¥§¥¯¥ÈÀìÍѤΠScriptableObject ¥¯¥é¥¹¤ò·Ñ¾µ¤·¡¢[CreateAssetMenu] °À¤òµ½Ò¤¹¤ë¤³¤È¤ÇºîÀ®²Äǽ¤Ë¤Ê¤ê¤Þ¤¹¡£
¡¡
¡¡¥¹¥¯¥ê¥×¥¿¥Ö¥ë¡¦¥ª¥Ö¥¸¥§¥¯¥È¤Ç¤Ï¡¢»ØÄꤷ¤¿¥Ç¡¼¥¿¤òÊ£¿ô¤Î¥Ç¡¼¥¿¤È¤·¤Æ¤Þ¤È¤á¤Æ´ÉÍý¤¹¤ë¤³¤È¤¬½ÐÍè¤Þ¤¹¡£
¤½¤Î¤¿¤á¡¢¥Ç¡¼¥¿¥Ù¡¼¥¹¤È¤·¤Æ¤ÎÌò³ä¤ò²Ì¤¿¤¹¤³¤È¤¬²Äǽ¤Ë¤Ê¤Ã¤Æ¤¤¤Þ¤¹¡£
¡¡º£²ó»ØÄꤷ¤Æ´ÉÍý¤·¤¿¤¤¥Ç¡¼¥¿¤Ï¥¥ã¥é´ØÏ¢¤Î¥Ç¡¼¥¿¤Ç¤¹¡£
¤½¤Î¤¿¤á¡¢¥¹¥¯¥ê¥×¥¿¥Ö¥ë¡¦¥ª¥Ö¥¸¥§¥¯¥ÈÆâ¤ËɬÍפʾðÊó¤Ï°Ê²¼¤Î£²¤Ä¤Ç¤¹¡£
¡¡£±¡¥¥¥ã¥é´ØÏ¢¤Î¾ðÊóñ°Ì¤Ç¤Î¥Ç¡¼¥¿(¥¥ã¥é¥Ç¡¼¥¿¤ÎÄ̤·Èֹ桢¥µ¥à¥Í¥¤¥ë¤Ë»È¤¦²èÁü¤Ê¤É¤Î¥Ç¡¼¥¿·²)¤ò°·¤¦¥¯¥é¥¹ ¡¡£²¡¥¥¥ã¥é´ØÏ¢¤Î¥Ç¡¼¥¿¤ò¤Þ¤È¤á¤ë List(¥ê¥¹¥È)¤È ScriptableObject ¤ò·Ñ¾µ¤·¤¿¥¯¥é¥¹
¡¡¤³¤Î¤¦¤Á£±¤ÏÀè¤Û¤ÉºîÀ®¤·¤¿ CharaData ¤¬Åö¤¿¤ê¤Þ¤¹¡£
¤³¤³¤Ç¤Ï£²¤Î¥¹¥¯¥ê¥×¥È¤òºîÀ®¤·¤Þ¤¹¡£
¡¡CharaDataSO ¥¹¥¯¥ê¥×¥È¤òºîÀ®¤·¤Þ¤¹¡£
¤³¤Î¥¹¥¯¥ê¥×¥È¤òÍøÍѤ¹¤ë¤³¤È¤Ç¡¢CharaData ¤ò«¤Í¤¿¥¹¥¯¥ê¥×¥¿¥Ö¥ë¡¦¥ª¥Ö¥¸¥§¥¯¥È¤ò¥¢¥»¥Ã¥È¤È¤·¤ÆºîÀ®¤¹¤ë¤³¤È¤¬½ÐÍè¤Þ¤¹¡£
¡¡[CreateAssetMenu]°À¤ÎÉÕÍ¿¤È¡¢ScriptableObject ¥¯¥é¥¹¤ò·Ñ¾µ¤¹¤ë¤³¤È¤ò˺¤ì¤Ê¤¤¤è¤¦¤Ë¤·¤Æ¤¯¤À¤µ¤¤¡£
¡¡¤Þ¤¿ CharaData ¤Î List Æ⤫¤é¡¢»ØÄꤷ¤¿ ID ¤Î¥Ç¡¼¥¿¤ò¼èÆÀ¤¹¤ë¤¿¤á¤Î¥á¥½¥Ã¥É¤òÍÑ°Õ¤·¤Æ¤ª¤¤Þ¤¹¡£
CharaDataSO.cs
¡¡¥¹¥¯¥ê¥×¥È¤òºîÀ®¤·¤¿¤é¥»¡¼¥Ö¤·¤Þ¤¹¡£
¡¡List¤Ë¤Ï Find ¤È¤¤¤¦¥á¥½¥Ã¥É¤¬ÍÑ°Õ¤µ¤ì¤Æ¤Þ¤¹¡£
List Æâ¤ÎÍ×ÁǤòÀèƬ¤«¤é¸¡º÷¤·¤Æ¡¢»ØÄꤷ¤¿¾ò·ï¤Ë¹çÃפ·¤¿ºÇ½é¤ÎÍ×ÁÇ£±¤Ä¤ò¼è¤ê½Ð¤·¤ÆÌá¤êÃͤȤ·¤ÆÊÖ¤·¤Æ¤¯¤ì¤ë½èÍý¤Ç¤¹¡£
Find ¥á¥½¥Ã¥É¤Ï foreach ʸ¤Çµ½Ò¤¹¤ëÆâÍƤÈƱ¤¸½èÍý¤ò£±¹Ô¤Ç½èÍý¤Ç¤¤Þ¤¹¡£
Find ¤Î¾ì¹ç
/// <summary> /// ID ¤Ë¤è¤ë¥¥ã¥é¤Î¸¡º÷¤È¼èÆÀ /// </summary> /// <param name="searchId"></param> /// <returns></returns> public CharaData GetCharaDataFromId(int searchId) { return charaDataList.Find(data => data.id == searchId); }
foreach ¤ÇƱ¤¸½èÍý¤ò½ñ¤¤¤¿¾ì¹ç
foreach (CharaData data in charaDataList) { if (data.id == searchId) { return data; } }
¡¡¤³¤Î£²¤Ä¤Î½èÍý¤ÏƱ¤¸ÆâÍƤˤʤê¤Þ¤¹¡£
ºÇ½é¤Ë¹çÃפ·¤¿Ãͤ¬Âоݤˤʤê¤Þ¤¹¤Î¤Ç¡¢¤Þ¤È¤á¤ÆÊ£¿ô¼èÆÀ¤·¤¿¤¤¾ì¹ç¤ä¡¢¹çÃפ¹¤ë¾ò·ï¤òËþ¤¿¤¹Í×ÁǤ¬Ê£¿ô¤¢¤ë¾ì¹ç¤Ë¤Ï¡¢¤³¤Î½èÍý¤À¤±¤Ç¤Ï¼ÂÁõ¤Ç¤¤Þ¤»¤ó¡£
»²¹Í¥µ¥¤¥È
Samurai BlogÍÍ
¡ÚC#ÆþÌç¡ÛList¤ÎÍ×ÁǤò¸¡º÷¤¹¤ëFind¤Î»È¤¤Êý(FindAll/FindIndex)
¡¡½èÍý¤ÎÆâÍƤˤĤ¤¤Æ¡¢½çÈ֤˳Îǧ¤·¤Æ¤¤¤¤Þ¤¹¡£
¡¡£±¡¥¥¥ã¥é´ØÏ¢¤Î¾ðÊóñ°Ì¤Ç¤Î¥Ç¡¼¥¿(¥¥ã¥é¥Ç¡¼¥¿¤ÎÄ̤·Èֹ桢¥µ¥à¥Í¥¤¥ë¤Ë»È¤¦²èÁü¤Ê¤É¤Î¥Ç¡¼¥¿·²)¤ò°·¤¦¥¯¥é¥¹ ¡¡£²¡¥¥¥ã¥é´ØÏ¢¤Î¥Ç¡¼¥¿¤ò¤Þ¤È¤á¤ë List(¥ê¥¹¥È)¤È ScriptableObject ¤ò·Ñ¾µ¤·¤¿¥¯¥é¥¹
£±¡¥¥¥ã¥é´ØÏ¢¤Î¾ðÊóñ°Ì¤Ç¤Î¥Ç¡¼¥¿(¥¥ã¥é¥Ç¡¼¥¿¤ÎÄ̤·Èֹ桢¥µ¥à¥Í¥¤¥ë¤Ë»È¤¦²èÁü¤Ê¤É¤Î¥Ç¡¼¥¿·²)¤ò°·¤¦¥¯¥é¥¹
ÍøÅÀ¤Ï¡¢£±¤Ä¤Î CharaData ¥¯¥é¥¹Æâ¤Ë¤Ï£±¤Äʬ¤Î¥¥ã¥é´ØÏ¢¤ÎÁ´¥Ç¡¼¥¿¤¬ÅÐÏ¿¤Ç¤¤ë¤³¤È¤Ç¤¹¡£¤½¤Î¤¿¤á¡¢¥¥ã¥é¥Ç¡¼¥¿¤ÎÄ̤·ÈÖ¹æÍÑ¡¢¥¥ã¥é¤Î²èÁüÍѤȤ¤¤¦¤è¤¦¤ËÊÑ¿ô¤ò¸ÄÊ̤˺î¤ëɬÍפϤʤ¯¡¢
CharaData ¤Î id¡¢CharaData ¤Î sprite ¤È¤¤¤¦·Á¤Ç CharaData ¤ò»²¾È¤·¤ÆÍøÍѤǤ¤ëÉôʬ¤Ç¤¹¡£
¡¡Î㤨¤Ð¡¢CharaData.id ¤Èµ½Ò¤¹¤ì¤Ð¡¢¤½¤ì¤Ï¤½¤Î CharaData ¥¯¥é¥¹¤ËÅÐÏ¿¤µ¤ì¤Æ¤¤¤ë id ¤ÎÃͤò»²¾È¤¹¤ë¤³¤È¤Ë¤Ê¤ê¤Þ¤¹¡£
¡¡¤³¤³¤«¤é¤Ï¥Ô¥ê¥ª¥É¤Ë¤è¤ë»²¾È½èÍý¤¬Áý¤¨¤Æ¤¤¤¤Þ¤¹¤Î¤Ç¡¢¤·¤Ã¤«¤ê¤È½èÍý¤òÆɤ߲ò¤¤¤Æ¤¤¤¤Þ¤·¤ç¤¦¡£
[System.Serializable]¡¡¡¡//¡¡¢«¡¡¥¯¥é¥¹¤Ë System.Serializable °À¤òÉÕÍ¿¤¹¤ë public class CharaData { public int id; public string name; public Sprite sprite; // ¥¥ã¥é¤Î²èÁü public CharacterBase CharacterPrefab; // À¸À®¤¹¤ë¥¥ã¥é public int hp; public float moveSpeed; public float jumpPower; }
¡¡¤³¤Î¤è¤¦¤Ë¥¥ã¥é´ØÏ¢¤Î¾ðÊó¤ËɬÍפˤʤë¥Ç¡¼¥¿¤ò¥¯¥é¥¹¤È¤·¤Æ¤Þ¤È¤á¤Æ¤ª¤¯¤³¤È¤Ç´ÉÍý¤ÈÍøÍѤ¬Íưפˤʤê¤Þ¤¹¡£
¡¡¤Þ¤¿¡¢´ÉÍý¤¹¤ë¾ðÊó¤òÁý¤ä¤·¤¿¤¤(¥¥ã¥é¤Î¹¶·âÎÏ¡¢É¬»¦µ»¤Î̾Á°¤Ê¤É)¾ì¹ç¤Ë¤Ï¡¢
¤³¤Î CharaData ¥¯¥é¥¹Æâ¤Ë·¿¤ÈÊÑ¿ô¤òÄɵ¤¹¤ì¤Ð¡¢¹¥¤¤Ê¤À¤±Áý¤ä¤¹¤³¤È¤â½ÐÍè¤Þ¤¹¡£
¡¡CharaData ¥¯¥é¥¹¤Ë¤Ï¥¥ã¥é´ØÏ¢¤Î¾ðÊó¤ò¤Þ¤È¤á¤ÆÅÐÏ¿¤Ç¤¤ë¤è¤¦¤Ë¤·¤Þ¤·¤¿¡£
¤³¤Î¥Ç¡¼¥¿¤Ï¥¥ã¥é´ØÏ¢£±¤Äʬ¤Ç¤¹¤Î¤Ç¡¢¤â¤·¤âÊ£¿ô¤Î¥Ç¡¼¥¿¤òÍÑ°Õ¤·¤ÆÅÐÏ¿¤·¤¿¤¤¾ì¹ç¡¢
¤³¤Î CharaData ¥¯¥é¥¹¤òÊ£¿ôÍÑ°Õ¤·¤Æ¡¢¤½¤ì¤ò´ÉÍý¤¹¤ë¤¿¤á¤ÎÊÑ¿ô¤¬É¬Íפˤʤê¤Þ¤¹¡£
¡¡¤³¤¦¤¤¤Ã¤¿£±¤Ä¤ÎƱ¤¸¥Ç¡¼¥¿·²¤ò¤Þ¤È¤Þ¤Ã¤¿¤â¤Î¤ò¥³¥ì¥¯¥·¥ç¥ó¤È¤¤¤¤¤Þ¤¹¡£
C# ¤Ë¤Ï¥³¥ì¥¯¥·¥ç¥ó¤ò´ÉÍý¤¹¤ëÊýË¡¤È¤·¤Æ¡¢Dictinary(¥Ç¥£¥¯¥·¥ç¥Ê¥ê¡¼) ¤È List(¥ê¥¹¥È) ¤¬¤¢¤ê¤Þ¤¹¡£
¡¡List ¥¯¥é¥¹¤Ï <T> ¤Ë¥¸¥§¥Í¥ê¥Ã¥¯·¿¡ÊǤ°Õ¤Î·¿¡Ë¤ò»ØÄꤷ¤Æ¡¢Æ±¤¸¥Ç¡¼¥¿·¿¤ò¤Þ¤È¤á¤Æ´ÉÍý¤¹¤ë¥³¥ì¥¯¥·¥ç¥óµ¡Ç½¤ò»ý¤Ä¥¯¥é¥¹¤Ç¤¹¡£
ÇÛÎó¤È°Û¤Ê¤ê¡¢Í×ÁǤò¼«Í³¤ËÄɲᦺï½ü¤Ç¤¤Þ¤¹¡£(Í×ÁÇ¿ô¤¬²ÄÊѤ¹¤ë)
List ¤Ï¥µ¥¤¥º(Ťµ)¤¬²ÄÊѲÄǽ¤ÊÇÛÎó¤Î¥¤¥á¡¼¥¸¤Ç¤¹¡£
¡¡List ¤òÍøÍѤ¹¤ë¾ì¹ç¤Ë¤ÏÇÛÎó¤ÈƱÍͤ˽é´ü²½¤¬²Äǽ¤Ç¤¹¤¬¡¢List¤Ç¤Ï½é´ü²½»þ¤ËÍ×ÁÇ¿ô¤ÎÀë¸À¤¬ÉÔÍפǤ¹¡£
¡ãÇÛÎó¤Î½é´ü²½¡ä
CharaData [] charaDatas = new CharaData [3]; // <= Í×ÁÇ¿ô¤ÎÀë¸À¤¬É¬Í×
¡ãList ¤Î½é´ü²½¡¡ä
List<CharaData> charaDataList = new List<CharaData>(); // <= Í×ÁÇ¿ô¤ÎÀë¸À¤¬ÉÔÍ×
¡ãList ¤Î½é´ü²½¢¡¡¤³¤Á¤é¤Ç¤â½é´ü²½¤Ç¤¤Þ¤¹¡ä
List<CharaData > charaDataList = new (); // <= Í×ÁÇ¿ô¤ÎÀë¸À¤¬ÉÔÍ×
¡¡¤½¤Î¤¿¤á´ðËÜŪ¤Ë¤Ï¡¢Í½¤áÍ×ÁÇ¿ô¤Î³ÎÄꤷ¤Æ¤¤¤ë¥Ç¡¼¥¿¤ò°·¤¦¾ì¹ç¤Ë¤ÏÇÛÎó¤ò¡¢Í×ÁÇ¿ô¤¬Ì¤³ÎÄê¤Ç¤¢¤Ã¤¿¤ê²ÄÊÑŤǤ¢¤ë¥Ç¡¼¥¿¤Ë¤Ä¤¤¤Æ¤ÏList¤òÍøÍѤ¹¤ë¤è¤¦¤Ë¹Í¤¨¤Æ¤¯¤À¤µ¤¤¡£
»²¹Í¥µ¥¤¥È
.net columnÍÍ
¡Ú½é´ü²½¤ÎÊýË¡¡ÛC#¤ÇÇÛÎó¤ä¥ê¥¹¥È¤ò½é´ü²½¤¹¤ë¤Ë¤Ï¡©
¡¡public ½¤¾þ»Ò¤Ë¤Æ List ¤òÀë¸À¤¹¤ë¤³¤È¤Ç¡¢¥¤¥ó¥¹¥Ú¥¯¥¿¡¼¾å¤Ç¥µ¥¤¥º¤ÎÊѹ¹¤¬²Äǽ¤Ç¤¹¡£
¡¡Î㤨¤Ð¥Ç¡¼¥¿¤ò£³¤Äʬºî¤Ã¤ÆÅÐÏ¿¤·¤¿¤¤¾ì¹ç¤Ë¤Ï¡¢¥¤¥ó¥¹¥Ú¥¯¥¿¡¼¤Ç List ¤Î¥µ¥¤¥º¤ò 3 ¤ËÀßÄꤹ¤ì¤Ð
CharaData ¥¯¥é¥¹¤¬ 3 ¤Ä¡¢Element 0 ¡Á Element 2 ¤È¤·¤ÆºîÀ®¤µ¤ì¤Þ¤¹¤Î¤Ç¡¢¤³¤³¤Ë¥¥ã¥é´ØÏ¢¤Î¥Ç¡¼¥¿¤ò£±¤Ä¤º¤Ä¡¢¹ç·×£³¤ÄʬÅÐÏ¿¤¹¤ë¤³¤È¤¬½ÐÍè¤Þ¤¹¡£
¡ãCharaData ¥¯¥é¥¹¤ò°·¤¦ List¡ä
public List<CharaData> charaDataList = new ();
¡¡CharaDataSO ¥¹¥¯¥ê¥×¥È¤ò¸µ¤Ë CharaData SO ¥¹¥¯¥ê¥×¥¿¥Ö¥ë¡¦¥ª¥Ö¥¸¥§¥¯¥È¤òºîÀ®¤·¤Þ¤¹¡£
CharaDataSO ¥¹¥¯¥ê¥×¥È¤ËÍÑ°Õ¤·¤Æ¤¢¤ë CharaData ·¿¤Î List ¤Ç¤¢¤ë CharaDataList ÊÑ¿ô¤¬¥Ç¡¼¥¿¥Ù¡¼¥¹¤ÎÌò³ä¤ò»ý¤Ã¤Æ¤¤¤Þ¤¹¡£
¡ã¥¯¥é¥¹¤Î¥ê¥¹¥È²½¤Ë¤è¤ë¥Ç¡¼¥¿¥Ù¡¼¥¹ºîÀ®¡ä
¡¡CharaData ¥¯¥é¥¹¤Ï£±¤Ä¤Î¥Ç¡¼¥¿¾ðÊó¤ò°·¤¦¤³¤È¤¬½ÐÍè¤Þ¤¹¡£º£²ó¤Ç¤¢¤ì¤Ð¥¥ã¥é´ØÏ¢¤Î£±¤Äʬ¤Î¾ðÊó¤Ç¤¹¡£
¤½¤Î¤¿¤áÊ£¿ô¤Î¥¥ã¥é´ØÏ¢¤Î¾ðÊó¤ò°·¤¦É¬Íפ¬¤¢¤ëº£²ó¤Î¤è¤¦¤Ê¾ì¹ç¤Ë¤Ï¡¢¤½¤Îʬ¤À¤± CharaData ¥¯¥é¥¹¤òÄɲ䷤ƺîÀ®¤·¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó¡£
¡¡¤½¤ì¤é¤ò´ÉÍý¤¹¤ë¤¿¤á¤Ë CharaData ·¿¤Î List ¤òºî¤ê¡¢¤Þ¤È¤á¤Æ´ÉÍý¤ò½ÐÍè¤ë¤è¤¦¤Ë¤·¤Æ¤¤¤Þ¤¹¡£
¤³¤³¤ÇÂçÀڤʤ³¤È¤Ï¡¢£±¤Ä£±¤Ä¤ÎÊ̤ÎÊÑ¿ô¤Ë¸ÄÊÌ¤Ë CharaData ¤¬Â¸ºß¤·¤Æ¤¤¤¿¤Î¤Ç¤Ï¤Þ¤È¤á¤Æ´ÉÍý¤·¤Æ¤¤¤ë¤³¤È¤Ë¤Ï¤Ê¤ê¤Þ¤»¤ó¡£
CharaData ¤Î¥ê¥¹¥È¤È¤Ï¤¹¤Ê¤ï¤Á¡¢CharaData ¤ò¤Þ¤È¤á¤Æ°·¤Ã¤Æ¤¤¤ë¥Ç¡¼¥¿¤Î½¸¹çÂΤˤʤê¤Þ¤¹¤Î¤Ç¡¢¤³¤³¤Ë¥Ç¡¼¥¿¥Ù¡¼¥¹¤È¤·¤ÆÌò³ä¤òÀ®Î©¤µ¤»¤ë¤³¤È¤¬½ÐÍè¤Þ¤¹¡£
¡¡¤½¤ì¤Ç¤ÏºîÀ®¤·¤Þ¤·¤ç¤¦¡£
¡¡Asset ¥Õ¥©¥ë¥ÀÆâ¤Ç Create ¢ª Create CharaDataSO ¤òÁªÂò¤·¤Æ¡¢¿·¤·¤¤¥¹¥¯¥ê¥×¥¿¥Ö¥ë¡¦¥ª¥Ö¥¸¥§¥¯¥È¤Î¥¢¥»¥Ã¥È¤òºîÀ®¤·¤Þ¤¹¡£
ͽ¤á Datas ¥Õ¥©¥ë¥À¤Ê¤É¤òºîÀ®¤·¤Æ¤ª¤¤¤Æ¡¢¤½¤ÎÃæ¤ÇºîÀ®¤¹¤ë¤È´ÉÍý¤·¤ä¤¹¤¯¤Ê¤ê¤Þ¤¹¡£
¤½¤Î¾ì¹ç¤Ë¤Ï¡¢Datas ¥Õ¥©¥ë¥ÀÆâ¤Ç±¦¥¯¥ê¥Ã¥¯¤ò¤·¤Æ¥á¥Ë¥å¡¼¤ò³«¤¡¢Create ¢ª Create CharaDataSO ¤òÁªÂò¤·¤Þ¤¹¡£
¡¡¥Õ¥©¥ë¥ÀÆâ¤Ë CharaDataSO ¥¹¥¯¥ê¥×¥¿¥Ö¥ë¡¦¥ª¥Ö¥¸¥§¥¯¥È¤Î¥¢¥»¥Ã¥È¤¬ºîÀ®¤µ¤ì¤Þ¤¹¡£Ì¾Á°¤Ï¤½¤Î¤Þ¤Þ¤ÇÌäÂꤢ¤ê¤Þ¤»¤ó¡£
¥á¥Ë¥å¡¼
Datas ¥Õ¥©¥ë¥À
¡¡¤³¤Î¥¢¥¤¥³¥ó¤Î·Á¤¬°ã¤¦¥Õ¥¡¥¤¥ë¤¬¥¹¥¯¥ê¥×¥¿¥Ö¥ë¡¦¥ª¥Ö¥¸¥§¥¯¥È¤Ë¤Ê¤ê¤Þ¤¹¡£
¤³¤ì¤Ï¥¢¥»¥Ã¥È¤È¤·¤Æ¼è¤ê°·¤ï¤ì¤ë¤è¤¦¤Ë¤Ê¤ë¾ðÊó¤Ç¤¢¤ë¤³¤È¤ò¼¨¤·¤Æ¤¤¤Þ¤¹¡£
¡¡ºîÀ®¤µ¤ì¤¿ CharaDataSO ¥¹¥¯¥ê¥×¥¿¥Ö¥ë¡¦¥ª¥Ö¥¸¥§¥¯¥È¤òÁªÂò¤·¤Æ¥¤¥ó¥¹¥Ú¥¯¥¿¡¼¤ò³Îǧ¤·¤Þ¤¹¡£
CharaDataSO ¥¹¥¯¥ê¥×¥È¤Ë¤ÆÀë¸À¤·¤¿ CharaDataList ÊÑ¿ô¤¬¥¤¥ó¥¹¥Ú¥¯¥¿¡¼¤Ëɽ¼¨¤µ¤ì¤Æ¡¢ Size¤¬ 0 ¤Ë¤Ê¤Ã¤Æ¤¤¤Þ¤¹¡£
¤³¤ì¤¬¥¹¥¯¥ê¥×¥¿¥Ö¥ë¡¦¥ª¥Ö¥¸¥§¥¯¥È¤ÎÃæ¿È¤Ç¤¹¡£
¡¡Size ¤ËǤ°Õ¤Î¿ô¤òÆþÎϤ¹¤ë¤È¡¢Æ±¿ô¤Î Element ¤¬ºîÀ®¤µ¤ì¤Þ¤¹¡£¤³¤ì¤¬ List ¤Ç´ÉÍý¤¹¤ë CharaData ¥¯¥é¥¹¤Î¾ðÊ󷲤ˤʤê¤Þ¤¹¡£
¡¡CharaDataSO ¥¹¥¯¥ê¥×¥¿¥Ö¥ë¡¦¥ª¥Ö¥¸¥§¥¯¥È¤Î¥¢¥»¥Ã¥È¤òÁªÂò¤·¡¢¥¤¥ó¥¹¥Ú¥¯¥¿¡¼¤«¤é CharaData ¤Ë¥¥ã¥é¤Î¾ðÊó¤òÅÐÏ¿¤·¤Þ¤¹¡£
¡¡¤Þ¤º¤Ï¥Ç¡¼¥¿¤ò£²¤ÄʬÅÐÏ¿¤·¤Æ¤ª¤¤¿¤¤¤È»×¤¤¤Þ¤¹¡£
CharaDataList ÊÑ¿ô¤Î Size ¤ò 2 ¤ËÊѹ¹¤·¤Æ¤¯¤À¤µ¤¤¡£Element 0 ¡Á 1 ¤¬²¼¤ËºîÀ®¤µ¤ì¤Þ¤¹¡£
¡¡Element ¤È¤Ï List ¤ÎÍ×ÁÇ(Ãæ¿È)¤Î¤³¤È¤Ç¤¹¡£
¤½¤Î¤¿¤á¡¢Element £±¤Ä¤¬ CharaData £±¤Ä¤Ë¤Ê¤ê¤Þ¤¹¡£Element ¤ÎÈÖ¹æ¤Ï 0 ¤«¤é»Ï¤Þ¤ê¤Þ¤¹¡£
¡¡°Ê¾å¤Î¤³¤È¤«¤é¡¢£±¤Ä¤Î Element ¤Ë¤Ï£±¤Ä¤Î CharaData ¥¯¥é¥¹¤ÎÆâÍƤòÀßÄê¤Ç¤¤ë¤è¤¦¤Ë¤Ê¤Ã¤Æ¤¤¤Þ¤¹¡£
¤³¤Î¤È¤¡¢CharaData ¥¯¥é¥¹¤Î¾å¤Ë [Serializable] °À¤òÀë¸À¤·¤Æ¤¤¤ë¤Î¤Ç¡¢CharaData ¥¯¥é¥¹¤ÎÆâÍƤ¬¥¤¥ó¥¹¥Ú¥¯¥¿¡¼¤Ëɽ¼¨¤µ¤ì¤Æ¤¤¤Þ¤¹¡£
[Serializable] °À¤ò³èÍѤ¹¤ë¤³¤È¤Ë¤è¤Ã¤Æ¡¢¥¤¥ó¥¹¥Ú¥¯¥¿¡¼¤«¤é¾ðÊó¤ò£±¤Ä¤º¤Ä¡¢CharaData ñ°Ì¤ÇÅÐÏ¿½ÐÍè¤ë¤è¤¦¤Ë¤Ê¤Ã¤Æ¤¤¤Þ¤¹¡£
¡¡¤Þ¤º¤Ï id ÊÑ¿ô¤ò 0 ¤«¤éÏ¢ÈÖ¤ÇÀßÄꤷ¡¢Æ±¤¸ÈÖ¹æ¤ò»È¤ï¤Ê¤¤¤è¤¦¤Ë¤·¤Æ¤¯¤À¤µ¤¤¡£
¡¡³Æ¿ôÃͤ䥥ã¥é¤ÏǤ°Õ¤Ç¤¹¤¬¡¢No ¤ÎÃͤÀ¤±¤Ï°Û¤Ê¤ëÈÖ¹æ¤ÇÀßÄꤷ¤Æ¤¯¤À¤µ¤¤¡£¤Ç¤¤ì¤Ð 0 ¤«¤éÏ¢ÈÖ¤¬ÍýÁۤǤ¹¡£
¤³¤ÎÈÖ¹æ¤Ï¥Ç¡¼¥¿ÍѤθÄÂÎÈÖ¹æ¤È¤·¤ÆÍøÍѤ¹¤ë²ÄǽÀ¤¬¤¢¤ê¤Þ¤¹¤Î¤Ç¡¢Æ±¤¸ÈÖ¹æ¤ò½ÅÊ£¤·¤ÆÀßÄꤷ¤Æ¤·¤Þ¤¦¤È¡¢
Ʊ¤¸ÈÖ¹æ¤Î¸ÄÂΤ¬Ê£¿ô¸ºß¤¹¤ë¤³¤È¤Ë¤Ê¤ê¡¢ÈÖ¹æ¤Ë¤è¤Ã¤Æ¥Ç¡¼¥¿¤òÆÃÄꤹ¤ë¤³¤È¤¬½ÐÍè¤Ê¤¯¤Ê¤ê¤Þ¤¹¡£
¡¡name ÊÑ¿ô¤Ë¤Ï¥¥ã¥é¤Î̾Á°¤òÅÐÏ¿¤·¤Þ¤¹¡£
¡¡sprite ÊÑ¿ô¤Ë¤Ï¡¢¥¥ã¥é¤Î²èÁü¤ò¥¢¥µ¥¤¥ó¤·¤Þ¤¹¡£Ç¤°Õ¤Î²èÁü¤ò¥¤¥ó¥Ý¡¼¥È¤·¤Æ¥¢¥µ¥¤¥ó¤·¤Æ¤¯¤À¤µ¤¤¡£
¡¡¤½¤ì°Ê³°¤ÎÉôʬ¤Ï°ìö¡¢ÀßÄê¤Ê¤·¤ÇÌäÂꤢ¤ê¤Þ¤»¤ó¡£
¥¤¥ó¥¹¥Ú¥¯¥¿¡¼²èÁü(¥µ¥ó¥×¥ë¡£¤³¤Î¥¥ã¥é¤Î¤è¤¦¤Ë¤¹¤ëɬÍפϤ¢¤ê¤Þ¤»¤ó)
¡¡°Ê¾å¤Ç¥¹¥¯¥ê¥×¥¿¥Ö¥ë¡¦¥ª¥Ö¥¸¥§¥¯¥È¤Ï´°À®¤Ç¤¹¡£
¡¡¥²¡¼¥àÆâ¤Î¥Ç¡¼¥¿¤òÊÝ»ý¤¹¤ë¥¯¥é¥¹¤Ç¤¹¡£
¡¡¥·¥ó¥°¥ë¥È¥ó¥¯¥é¥¹¤Ç¡¢¤«¤Ä¥·¡¼¥óÁ«°Ü»þ¤Ë¤âÇË´þ¤µ¤ì¤Ê¤¤¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤È¤¹¤ë¤³¤È¤Ç
¤É¤Î¥¯¥é¥¹¤«¤é¤Ç¤âÊÑ¿ô¤ä¥á¥½¥Ã¥É¤Ë¥¢¥¯¥»¥¹¤Ç¤¡¢¥·¡¼¥óÁ«°Ü¸å¤âÍøÍѤ¹¤ë¤³¤È¤¬¤Ç¤¤ë¥¯¥é¥¹¤È¤·¤ÆÀ߷פ·¤Þ¤¹¡£
¡¡enum ¤ò£²¤ÄºîÀ®¤·¤Æ¤¤¤Þ¤¹¤¬¡¢¤³¤Á¤é¤Ï¥¯¥é¥¹³°Éô¤Ë¤ÆÀë¸À¤·¤Æ¤¤¤Þ¤¹¤Î¤Ç¡¢
ÊÌ¥Õ¥¡¥¤¥ë¤È¤·¤ÆºîÀ®¤·¤Æ¤âÌäÂꤢ¤ê¤Þ¤»¤ó¡£
GameData.cs
¡¡ÆâÉô¥Ç¡¼¥¿¤Ë¤Ä¤¤¤Æ¤Ï¥×¥í¥Ñ¥Æ¥£¤òÍøÍѤ·¤Æ³°Éô¥¯¥é¥¹¤ËÄ󶡤·¤Æ¤¤¤Þ¤¹¡£
¡¡C# ¤Ë¤ÏÆÃÄê¤ÎÃͤ·¤«¼è¤é¤Ê¤¤¥Ç¡¼¥¿¤Ë´Ø¤·¤Æ¡¢¤¢¤é¤«¤¸¤áÅÐÏ¿¤·¤Æ¤ª¤¤¤Æ¡¢¤½¤ÎÈÏ°ÏÆâ¤Ç¤Î¤ß¥Ç¡¼¥¿¤ò°·¤¦¤è¤¦¤Ë»ØÄ꤬½ÐÍè¤Þ¤¹¡£
¤³¤ì¤ò enum (ÆɤßÊý¤Ï¤¤¤¯¤Ä¤«¤¢¤ê¤Þ¤¹¤¬¡¢¥¤¥Ë¥å¡¼¥à¤¬°ìÈÌŪ¤Ç¤¹) ¤È¤¤¤¦¥¡¼¥ï¡¼¥É¤òÍøÍѤ¹¤ë¤³¤È¤ÇºîÀ®¤Ç¤¤Þ¤¹¡£
enum ¤ò¥¡¼¥ï¡¼¥É¤È¤·¤ÆÀë¸À¤·¡¢¤½¤Î¸å¤Ë·¿Ì¾¤ò½ñ¤¤Þ¤¹¡£¤½¤Î¸å¡¢{¡¡}¥Ö¥í¥Ã¥¯¤ÎÃæ¤ËÎóµó»Ò¤È¤¤¤¦·Á¤ÇÅÐÏ¿¤·¤¿¤¤¥Ç¡¼¥¿¤òÀë¸À¤·¤Þ¤¹¡£
/// <summary> /// ¥¥ã¥é¤Î¥ª¡¼¥Ê¡¼¤Î¼ïÎà /// </summary> public enum OwnerType { Player, Opponent }
/// <summary> /// ¥·¡¼¥ó¤Î̾Á° /// </summary> public enum SceneName { CharaSelect, Battle }
¡¡¤Þ¤¿ enum ¤ÎÎóµó»Ò¤Ë¤ÏÆüËܸì¤Ç¤âÀë¸À¤Ç¤¤Þ¤¹¡£
/// <summary> /// ¥¥ã¥é¤Î¥ª¡¼¥Ê¡¼¤Î¼ïÎà /// </summary> public enum OwnerType { ¥×¥ì¥¤¥ä¡¼, ÂÐÀïÁê¼ê }
»²¹Í¥µ¥¤¥È
MicroSoft
Îóµó·¿ (C# ¥ê¥Õ¥¡¥ì¥ó¥¹)
https://docs.microsoft.com/ja-jp/dotnet/csharp/lan...
SamuraiBlog ÍÍ
¡ÚC#ÆþÌç¡Ûenum(Îóµó·¿)¤Î»È¤¤ÊýÁí¤Þ¤È¤á(ʸ»úÎó/int/foreach)
https://www.sejuku.net/blog/50547
¡¡¥·¥ó¥°¥ë¥È¥ó¤È¤Ï¡¢¿ô¿¤¯¤¢¤ë¥Ç¥¶¥¤¥ó¥Ñ¥¿¡¼¥ó¤Î£±¤Ä¤Ç¤¹¡£¤½¤Î¥¯¥é¥¹¤Î¥¤¥ó¥¹¥¿¥ó¥¹¤¬É¬¤º£±¤Ä¤Ç¤¢¤ë¤³¤È¤òÊݾڤ¹¤ë¥Ç¥¶¥¤¥ó¥Ñ¥¿¡¼¥ó¤Î¤³¤È¤ò¸À¤¤¤Þ¤¹¡£
¡¡GameData ¥¯¥é¥¹¤Ç¤Ï¡¢¤³¤Î¥·¥ó¥°¥ë¥È¥ó¤òºÎÍѤ·¤Æ¤¤¤Þ¤¹¡£¤Ä¤Þ¤ê¡¢¥²¡¼¥àÃæ¤òÄ̤¸¤Æ¡¢¤³¤ÎGameData ¥¯¥é¥¹¤¬£±¤Ä¤·¤«Â¸ºß¤Ç¤¤Ê¤¤¤è¤¦¤Ë¤Ê¤ê¤Þ¤¹¡£
¼ÂÁõÎã¤ÏÊ£¿ô¤¢¤ê¤Þ¤¹¤¬¡¢°ìÈÖÆɤߤ䤹¤¤Êý¼°¤Çµ½Ò¤·¤Æ¤¤¤Þ¤¹¡£
¡¡¤³¤Î¥·¥ó¥°¥ë¥È¥ó¤Ë¤è¤Ã¤Æ¥¤¥ó¥¹¥¿¥ó¥¹¤¬£±¤Ä¤«À¸À®¤µ¤ì¤Ê¤¤¤³¤È¤¬Êݾڤµ¤ì¤Þ¤¹¤Î¤Ç¡¢¤³¤ÎGameData ¥¯¥é¥¹¤Ø¤Î»²¾È¤Ï¡¢¤¤¤º¤ì¤Î¥¯¥é¥¹¤«¤é¤Ç¤¢¤Ã¤Æ¤âÊÑ¿ô¤ò²ð¤µ¤º¤Ë»²¾È¤ò¹Ô¤¨¤ë¤è¤¦¤Ë¤Ê¤ê¤Þ¤¹¡£
¡¡Î㤨¤Ð¡¢Enemy¤È¤¤¤¦¥¯¥é¥¹¤¬¤¢¤ê¡¢¤½¤ÎEmeny¥¯¥é¥¹¤ò»ý¤Ä¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤¬£µ¤Ä¤¢¤Ã¤¿¾ì¹ç¡¢¡Ö¤É¤Î¡×Enemy¥¯¥é¥¹¤Ç¤¢¤ë¤«¤ò³ÎÄê¤Ç¤¤Ê¤¤¤È¡¢ÂоݤȤʤëEnemy¥¯¥é¥¹¤Ø¤Ï»²¾È¤Ç¤¤Þ¤»¤ó¡£
¤½¤Î¤¿¤á¡¢Enemy·¿¤ÎÊÑ¿ô¤òÍÑ°Õ¤·¤Æ¡¢¤½¤ÎÊÑ¿ô¤Ø»²¾È¤·¤¿¤¤Enemy¥¯¥é¥¹¤òÂåÆþ¤¹¤ë¤³¤È¤Ë¤è¤Ã¤Æ¡¢¤Ï¤¸¤á¤ÆEnemy¥¯¥é¥¹¤Î¾ðÊó¤ò°·¤¦¤³¤È¤¬¤Ç¤¤ë¤è¤¦¤Ë¤Ê¤ê¤Þ¤¹¡£
¡¡¤Ç¤¹¤¬¥·¥ó¥°¥ë¥È¥ó¤Ç¤¢¤ëGameData ¥¯¥é¥¹¤Î¾ì¹ç¤Ë¤Ï¡¢¤³¤Î¥¤¥ó¥¹¥¿¥ó¥¹¤Ï¾ï¤Ë£±¤Ä¤·¤«¤Ê¤¤¤³¤È¤¬Êݾڤµ¤ì¤Æ¤¤¤Þ¤¹¤Î¤Ç¡¢¡Ö¤É¤Î¡×¤È¤¤¤¦»ØÄê¤ÎÉôʬ¤¬ÉÔÍפˤʤê¤Þ¤¹¡£
¤Ä¤Þ¤êÊÑ¿ô¤Ø¤ÎÂåÆþ¤¬ÉÔÍפˤʤê¤Þ¤¹¡£
¡¡GameData ¤È¤¤¤¦»ØÄê¤Ï¤¹¤Ê¤ï¤Á¡¢¼«Æ°Åª¤Ë¤¿¤À£±¤Ä¤Î GameData ¤Ø¤Î»²¾È¤¬¹Ô¤ï¤ì¤Þ¤¹¡£
¡¡¥Ò¥¨¥é¥ë¥¡¼¤Ë¤Æ Create Empty ¤Ç¿·¤·¤¤¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤òºîÀ®¤·¡¢GameData ¥¹¥¯¥ê¥×¥È¤ò¥¢¥¿¥Ã¥Á¤·¤Þ¤¹¡£
¥¤¥ó¥¹¥Ú¥¯¥¿¡¼¥¥ã¥é
¡¡°Ê¾å¤Ç¤³¤Î¼ê½ç¤Ï´°Î»¤Ç¤¹¡£
¡¡¢ª¡¡¼¡¤Ï ¥¥ã¥éÁªÂòµ¡Ç½¤Î¼ÂÁõ£ ¤Ç¤¹¡£
- ¥«¥Æ¥´¥ê¡§
- ¿Ê³Ø/¥¹¥¯¡¼¥ë
- ¥×¥í¥°¥é¥ß¥ó¥°
¥³¥á¥ó¥È¤ò¤«¤¯