¡¡¡¦¥¹¥¯¥ê¥×¥¿¥Ö¥ë¡¦¥ª¥Ö¥¸¥§¥¯¥È¤ò¥²¡¼¥àÆâ¤ÇÍøÍѤǤ¤ë¤è¤¦¤Ë¤¹¤ëÊýË¡ ¡¡¡¦Linq¤Îµ¡Ç½¤Î¼ÂÁõÎã¡¡¡ÁWhere ¥á¥½¥Ã¥É¡¢ToList ¥á¥½¥Ã¥É¡¢Sum ¥á¥½¥Ã¥É¡¢Select ¥á¥½¥Ã¥É¡¢ToArray ¥á¥½¥Ã¥É¡Á
¡¡£±¡¥¤É¤Î¼ïÎà¤Î¥È¥ì¥¸¥ã¡¼¥Ü¥Ã¥¯¥¹¤òÍøÍѤ¹¤ë¤Î¤«¡¢ÃêÁª¤¹¤ë¡£ ¡¡¡¡¡¡¡¡¡¡¢ª¡¡¥È¥ì¥¸¥ã¡¼¥Ü¥Ã¥¯¥¹¤Î¼ïÎब¡Ö¥Ö¥í¥ó¥º¡×¡Ö¥·¥ë¥Ð¡¼¡×¡Ö¥´¡¼¥ë¥É¡×¤À¤È¤·¤¿¤é¡¢¤½¤Î¤É¤ì¤ò»È¤¦¤Î¤«·è¤á¤ë¡£ ¡¡£²¡¥¡Ú£±¡Û¤Ç·è¤Þ¤Ã¤¿¥È¥ì¥¸¥ã¡¼¥Ü¥Ã¥¯¥¹¤ËÀßÄꤵ¤ì¤Æ¤¤¤ë¡¢Ë«¾Þ¤Î½Ð¤ä¤¹¤µ(¥ì¥¢¥ê¥Æ¥£)¤òÃêÁª¤¹¤ë¡£ ¡¡¡¡¡¡¡¡¡¡¢ª¡¡¥È¥ì¥¸¥ã¡¼¥Ü¥Ã¥¯¥¹¤Ë¤Ï¡Ö¥³¥â¥ó¡×¡Ö¥¢¥ó¥³¥â¥ó¡×¡Ö¥ì¥¢¡×¤ÎÀßÄêÃͤ¬¤¢¤ê¡¢¤½¤Î¤É¤ì¤ò»È¤¦¤Î¤«·è¤á¤ë¡£ ¡¡£³¡¥Ë«¾Þ¥Ç¡¼¥¿¥Ù¡¼¥¹¤ÎÃ椫¤é¡¢¡Ú£²¡Û¤Ç·è¤Þ¤Ã¤¿¥ì¥¢¥ê¥Æ¥£¤ËÀßÄꤵ¤ì¤Æ¤¤¤ëË«¾Þ¤Î¥Ç¡¼¥¿¤Î¤ß¤òÃê½Ð¤¹¤ë ¡¡¡¡¡¡¡¡¡¡¢ª¡¡Ë«¾Þ¥Ç¡¼¥¿¥Ù¡¼¥¹¤Ë¤Ï¡¢¤¹¤Ù¤Æ¤ÎË«¾Þ¥Ç¡¼¥¿¤¬ÅÐÏ¿¤µ¤ì¤Æ¤¤¤ë¤¿¤á¡¢¤Þ¤ººÇ½é¤Ë¡Ú£²¡Û¤Î¥ì¥¢¥ê¥Æ¥£¤Ë³ºÅö¤¹¤ëË«¾Þ¥Ç¡¼¥¿¤Î¤ß¤ò½¦¤¤½Ð¤¹¡£ ¡¡¡¡¡¡¡¡¡¡¡¡¡¡Î㤨¤Ð¡¢¡Ú£²¡Û¤ÎÃêÁª·ë²Ì¤¬¡Ö¥¢¥ó¥³¥â¥ó¡×¤Ç¤¢¤ë¾ì¹ç¡¢Ë«¾Þ¥Ç¡¼¥¿¥Ù¡¼¥¹¤ÎÃæ¤Ë¤¢¤ë¡¢¥ì¥¢¥ê¥Æ¥£¤¬¡Ö¥¢¥ó¥³¥â¥ó¡×¤ÎË«¾Þ¥Ç¡¼¥¿¤Î¤ß¤òÃê½Ð¤·¤Æ¥ê¥¹¥È²½¤¹¤ë¡£ ¡¡£´¡¥¡Ú£³¡Û¤ÇÃê½Ð¤·¤¿¡¢¡Ú£²¡Û¤ÎÃêÁª·ë²Ì¤Î¤ß¤Ç¹½À®¤µ¤ì¤Æ¤¤¤ëË«¾Þ¥Ç¡¼¥¿¤Î¥ê¥¹¥È¤«¤é¡¢¤½¤ì¤¾¤ì¤ÎË«¾Þ¥Ç¡¼¥¿¤ËÀßÄꤵ¤ì¤Æ¤¤¤ëÇÓ½ÐΨ¤ò¹ç·×¤·¤¿¾å¤Ç¡¢ ¡¡¡¡¡¡ºÇ½ªÅª¤ËÇӽФ¹¤ëË«¾Þ¥Ç¡¼¥¿¤òÃêÁª¤·¡¢³ÎÄꤹ¤ë¡£
¡¡¡¦¥ì¥¢¥ê¥Æ¥£(´õ¾¯ÅÙ)¤È½Ð¤ä¤¹¤µ ¡¡¡¡¡¡£±¡¥¥³¥â¥ó¡¡¡¡¡¡¡¡¡¡700 ¡¡¡¡¡¡£²¡¥¥¢¥ó¥³¥â¥ó¡¡¡¡¡¡200 ¡¡¡¡¡¡£³¡¥¥ì¥¢¡¡¡¡¡¡¡¡¡¡¡¡100
¡¡¡¦¥Ç¡¼¥¿¤È½Ð¤ä¤¹¤µ ¡¡¡¡£±¡¥¥Ý¡¼¥·¥ç¥ó¡¡¡¡250 ¡¡¡¡£²¡¥´¬Êª¡¡¡¡¡¡¡¡¡¡100 ¡¡¡¡£³¡¥¥ì¥¤¥Ô¥¢¡¡¡¡¡¡ 30
Unity ¸ø¼°¥Þ¥Ë¥å¥¢¥ë
ScriptableObject
Unity ¸ø¼°¥µ¥¤¥È
SCRIPTABLEOBJECT ¤ò»ÈÍѤ·¤Æ¥²¡¼¥à¤ò¹½ÃÛ¤¹¤ë 3 ¤Ä¤ÎÊýË¡
¤¯¤í¤¯¤Þ¤½¤Õ¤È ÍÍ
¡ÚUnity¡ÛScriptableObject¤Îºî¤êÊý¡¦»È¤¤Êý
using System.Linq;
SamuraiBlogÍÍ
¡ÚC#ÆþÌç¡ÛLINQ¤Î»È¤¤ÊýÁí¤Þ¤È¤á(Select¡¢Where¡¢GroupBy¤Ê¤É)
https://www.sejuku.net/blog/56519
ÃÏÊ¿Àþ¤Ë¹Ô¤¯ÍÍ
LINQ¤Î³ÈÄ¥¥á¥½¥Ã¥É°ìÍ÷¤È¡¢¤Û¤ÜÁ´Éô¤Î¥µ¥ó¥×¥ë¤òºî¤Ã¤Æ¤ß¤Þ¤·¤¿¡£
https://yujisoftware.hatenablog.com/entry/20111031...
// º£²óÂоݤȤʤë´õ¾¯Å٤Υǡ¼¥¿¤À¤±¤Î¥ê¥¹¥È¤òºîÀ® List<RewardData> rewardDatas = new List<RewardData>(rewardDataSO.rewardDataList.Where(x => x.rarityType == rarityType).ToList());
MicroSoft
Enumerable.Where ¥á¥½¥Ã¥É
https://docs.microsoft.com/ja-jp/dotnet/api/system...
±¢´³¤·Ãæ¤Î¥²¡¼¥à³«È¯¥á¥â
¡ÚC#,LINQ¡ÛWhere¡ÁÇÛÎó¤ä¥ê¥¹¥È¤ò»ØÄꤷ¤¿¾ò·ï¤Ç¥Õ¥£¥ë¥¿¥ê¥ó¥°¤·¤¿¤¤¤È¤¡Á
https://www.urablog.xyz/entry/2018/06/27/070000
.NET Column ÍÍ
¡ÚLINQ¤Î¥á¥½¥Ã¥É¾Ò²ð¤½¤Î3¡ÛWhere¤Ç¾ò·ï¤Ë¹ç¤¦¥Ç¡¼¥¿¤ò¼èÆÀ¤¹¤ë
https://www.fenet.jp/dotnet/column/language/1458/
// º£²óÂоݤȤʤë´õ¾¯Å٤Υǡ¼¥¿¤À¤±¤Î¥ê¥¹¥È¤òºîÀ® List<RewardData> rewardDatas = new List<RewardData>(rewardDataSO.rewardDataList.Where(x => x.rarityType == rarityType).ToList());
MicroSoft
Enumerable.ToList<TSource>(IEnumerable<TSource>) ¥á¥½¥Ã¥É
https://docs.microsoft.com/ja-jp/dotnet/api/system...
Qiita @mounntainn ÍÍ
LINQ¤Ë¤Ä¤¤¤Æ¤ÎÈ÷˺Ͽ
https://qiita.com/mounntainn/items/e8b8f94a15ec4fe...
¡¡// ÁªÂò¤µ¤ì¤¿¥È¥ì¥¸¥ã¡¼¥Ü¥Ã¥¯¥¹¤Ë¤è¤ë¡¢Ë«¾Þ¥Ç¡¼¥¿¤Î´õ¾¯Å٤ιç·×Ãͤò»»½Ð¤·¤¿¾å¤Ç¡¢¤½¤ÎÃ椫¤é¥é¥ó¥À¥à¤ÊÃͤò·èÄê int randomRarityValue = UnityEngine.Random.Range(0, treasureBoxDataSO.treasureBoxDataList[(int)treasureType].rewardRates.Sum());
MicroSoft
Enumerable.Sum ¥á¥½¥Ã¥É
https://docs.microsoft.com/ja-jp/dotnet/api/system...
Qiita @RyotaMurohoshi ÍÍ
~https://qiita.com/RyotaMurohoshi/items/d4a6750a798...
Qitta @logikuma ÍÍ
¡ÚC#¡ÛLINQÈ÷˺Ͽ2 ¡Á½¸·×ÊÔ¡Á
https://qiita.com/logikuma/items/d4f87ff4c308a7606...
// Ʊ¤¸´õ¾¯ÅÙ¤ÎË«¾Þ¤ÎÄ󶡳ä¹ç¤ÎÃͤιç·×Ãͤò»»½Ð¤·¤Æ¡¢¥é¥ó¥À¥à¤ÊÃͤò·èÄê int randomRewardValue = UnityEngine.Random.Range(0, rewardDatas.Select(x => x.rate).ToArray().Sum());
MicroSoft
Enumerable.Select ¥á¥½¥Ã¥É
https://docs.microsoft.com/ja-jp/dotnet/api/system...
.NET Column ÍÍ
¡ÚLINQ¤ÎSelect¥á¥½¥Ã¥É¤Î½ñ¤Êý3Áª¡ÃLINQ¤Ë¤Ä¤¤¤Æ¤Ê¤É¤ò¾Ò²ð
https://www.fenet.jp/dotnet/column/language/1454/
Qiita @t_takahari ÍÍ
LINQ¤Î¤½¤ÎForEach¡¢¼Â¤ÏSelect¤Ç½ñ¤´¹¤¨¤é¤ì¤ë¤«¤â
https://qiita.com/t_takahari/items/6dc72f48b1ebdfe...
// Ʊ¤¸´õ¾¯ÅÙ¤ÎË«¾Þ¤ÎÄ󶡳ä¹ç¤ÎÃͤιç·×Ãͤò»»½Ð¤·¤Æ¡¢¥é¥ó¥À¥à¤ÊÃͤò·èÄê int randomRewardValue = UnityEngine.Random.Range(0, rewardDatas.Select(x => x.rarityRate).ToArray().Sum());¡¡
// Ʊ¤¸´õ¾¯ÅÙ¤ÎË«¾Þ¤ÎÄ󶡳ä¹ç¤ÎÃͤιç·×Ãͤò»»½Ð¤·¤Æ¡¢¥é¥ó¥À¥à¤ÊÃͤò·èÄê int randomRewardValue = UnityEngine.Random.Range(0, [ ÇÛÎó¤Ç¤¢¤ë rewardDatas ¥¯¥é¥¹¤Î»ý¤Ä³Æ rarityRate ÊÑ¿ô¤ÎÃͤΤ߼è¤ê½Ð¤·¤Æ¤½¤ì¤òÇÛÎó¤Ë¤·¡¢¤½¤ÎÇÛÎó¤ÎÍ×ÁǤÎÃͤιç·×ÃÍ ]);
MicroSoft
Enumerable.ToArray<TSource>(IEnumerable<TSource>) ¥á¥½¥Ã¥É
https://docs.microsoft.com/ja-jp/dotnet/api/system...
Qiita @Marimoiro ÍÍ
LINQ¥Á¡¼¥È¥·¡¼¥ÈŪ¤Ê¤â¤Î
https://qiita.com/Marimoiro/items/0e119b47d65bf138...
£±¡¥¤É¤Á¤é¤«¤Î¥¹¥¯¥ê¥×¥¿¥Ö¥ë¡¦¥ª¥Ö¥¸¥§¥¯¥È¤Î¥¢¥µ¥¤¥ó¤¬½ÐÍè¤Æ¤¤¤Ê¤¤ £²¡¥TreasureBoxDataSO ¥¹¥¯¥ê¥×¥¿¥Ö¥ë¡¦¥ª¥Ö¥¸¥§¥¯¥È¤Î Size ¤¬ 0¡¢¤¢¤ë¤¤¤Ï Size ¤ò 1 °Ê¾å¤ËÀßÄꤷ¤Æ¤¤¤ë¤¬¡¢Element ¤ÎÆâÍƤ¬ÅÐÏ¿¤µ¤ì¤Æ¤¤¤Ê¤¤