£³£¸¡¥GameData ¥¹¥¯¥ê¥×¥È¤ò½¤Àµ¤·¤Æ½ê»ý¤·¤Æ¤¤¤ë¥¢¥¤¥Æ¥à¤Î¾ðÊó¤Î¥»¡¼¥Öµ¡Ç½¤òÄɲä¹¤ë £³£¹¡¥GameData ¥¹¥¯¥ê¥×¥È¤ò½¤Àµ¤·¤Æ½ê»ý¤·¤Æ¤¤¤ë¥¢¥¤¥Æ¥à¤Î¾ðÊó¤Î¥í¡¼¥Éµ¡Ç½¤òÄɲä·¡¢°ÊÁ°¤ÈƱ¤¸½ê»ý½ç¤Çʤ٤ë
¡¡¡¦PlayerPrefs ¥¯¥é¥¹¡¡¡¼SetString¥á¥½¥Ã¥É¡¢Save ¥á¥½¥Ã¥É¡¢HasKey ¥á¥½¥Ã¥É¡¢GetString ¥á¥½¥Ã¥É¡¼ ¡¡¡¦String.Split ¥á¥½¥Ã¥É ¡¡¡¦¥³¥ó¥¹¥È¥é¥¯¥¿¡¡¡¼¥¤¥ó¥¹¥¿¥ó¥¹¤·¤¿¥¯¥é¥¹¤Ë¥³¥ó¥¹¥È¥é¥¯¥¿¤òÍøÍѤ·¤ÆÃͤòÂåÆþ¤¹¤ëÊýË¡¡¼ ¡¡¡¦Linq¤Îµ¡Ç½¤Î¼ÂÁõÎ㢡¡¡ÁOrderBy ¥á¥½¥Ã¥É¡Á ¡¡¡¦Enum.Parse ¥á¥½¥Ã¥É ¡¡¡¦int.Parse ¥á¥½¥Ã¥É
https://docs.unity3d.com/ja/current/ScriptReferenc...
// ½ê»ý¤·¤Æ¤¤¤ë¥¢¥¤¥Æ¥à¤Î¿ô¤À¤±½èÍý¤ò¹Ô¤¦ for (int i = 0; i < itemInventryDatasList.Count; i++) { // ½ê»ý¤·¤Æ¤¤¤ë¥¢¥¤¥Æ¥à¤Î¾ðÊó¤ò£±¤Ä¤Îʸ»úÎó¤È¤·¤Æ¥»¡¼¥Ö¤¹¤ë¤¿¤á¤Î½àÈ÷¤ò¹Ô¤¦ PlayerPrefs.SetString(itemInventryDatasList[i].itemName.ToString(), itemInventryDatasList[i].itemName.ToString() + "," + itemInventryDatasList[i].count.ToString() + "," + i.ToString()); }
Unity¸ø¼°¥¹¥¯¥ê¥×¥È¥ê¥Õ¥¡¥ì¥ó¥¹
PlayerPrefs.SetString
https://docs.unity3d.com/ja/current/ScriptReferenc...
// ½ê»ý¤·¤Æ¤¤¤ë¥¢¥¤¥Æ¥à¤Î¿ô¤À¤±½èÍý¤ò¹Ô¤¦ for (int i = 0; i < itemInventryDatasList.Count; i++) { // ½ê»ý¤·¤Æ¤¤¤ë¥¢¥¤¥Æ¥à¤Î¾ðÊó¤ò£±¤Ä¤Îʸ»úÎó¤È¤·¤Æ¥»¡¼¥Ö¤¹¤ë¤¿¤á¤Î½àÈ÷¤ò¹Ô¤¦ PlayerPrefs.SetString(itemInventryDatasList[i].itemName.ToString(), itemInventryDatasList[i].itemName.ToString() + "," + itemInventryDatasList[i].count.ToString() + "," + i.ToString()); } // ¥»¡¼¥Ö PlayerPrefs.Save();
Unity¸ø¼°¥¹¥¯¥ê¥×¥È¥ê¥Õ¥¡¥ì¥ó¥¹
PlayerPrefs.Save
https://docs.unity3d.com/ja/current/ScriptReferenc...
// ItemName ¤Ç¥»¡¼¥Ö¤·¤Æ¤¢¤ë¥Ç¡¼¥¿¤¬ PlayerPrefs Æâ¤Ë¤¢¤ë¤« if (!PlayerPrefs.HasKey(DataBaseManager.instance.GetItemDataFromItemNo(i).itemName.ToString())) { ¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡ ¡¡ // ¥»¡¼¥Ö¥Ç¡¼¥¿¤¬¤Ê¤±¤ì¤Ð¤³¤³¤Ç½èÍý¤ò½ªÎ»¤·¡¢¼¡¤Î¥»¡¼¥Ö¥Ç¡¼¥¿¤ò³Îǧ¤¹¤ë½èÍý¤Ø°Ü¤ë continue; }
Unity¸ø¼°¥¹¥¯¥ê¥×¥È¥ê¥Õ¥¡¥ì¥ó¥¹
PlayerPrefs.HasKey
https://docs.unity3d.com/ja/current/ScriptReferenc...
// ¥»¡¼¥Ö¤µ¤ì¤Æ¤¤¤ë¥Ç¡¼¥¿¤òÆɤ߹þ¤ó¤ÇÇÛÎó¤ËÂåÆþ string[] stringArray = PlayerPrefs.GetString(DataBaseManager.instance.GetItemDataFromItemNo(i).itemName.ToString()).Split(',');
Unity¸ø¼°¥¹¥¯¥ê¥×¥È¥ê¥Õ¥¡¥ì¥ó¥¹
PlayerPrefs.GetString
https://docs.unity3d.com/ja/current/ScriptReferenc...
// ItemName ¤Ç¥»¡¼¥Ö¤·¤Æ¤¢¤ë¥Ç¡¼¥¿¤¬¤¢¤ë¤« string[] stringArray = PlayerPrefs.GetString(DataBaseManager.instance.GetItemDataFromItemNo(i).itemName.ToString()).Split(',');
stringArray[0] = "ÌôÁð" stringArray[1] = "1" stringArray[2] = "0"
MicroSoft C# ¥É¥¥å¥á¥ó¥È
C# ¤Ç String.Split ¤ò»ÈÍѤ·¤Æʸ»úÎó¤òʬ³ä¤¹¤ëÊýË¡
https://docs.microsoft.com/ja-jp/dotnet/csharp/how...
SAMURAI ¥¨¥ó¥¸¥Ë¥¢¥Ö¥í¥° ÍÍ
¡ÚC#ÆþÌç¡ÛString.Split¤Çʸ»úÎó¤òʬ³ä(Ê£¿ôʸ»ú¡¢Ê¸»ú¿ô¤Ç¤âʬ³ä)
https://www.sejuku.net/blog/44242
[System.Serializable] public class ItemInventryData { public ItemName itemName; // ¥¢¥¤¥Æ¥à¤Î̾Á° public int count; // ½ê»ý¿ô public int number; // ½ê»ý¤·¤Æ¤¤¤ëÄ̤·ÈÖ¹æ /// <summary> /// ItemInventryData ¥¯¥é¥¹¤Î¥³¥ó¥¹¥È¥é¥¯¥¿ /// </summary> /// <param name="name">¥¢¥¤¥Æ¥à¤Î̾Á°</param> /// <param name="value">¥¢¥¤¥Æ¥à¤Î½ê»ý¿ô</param> /// <param name="num">¥¢¥¤¥Æ¥à¤ò½ê»ý¤·¤¿ºÝ¤ÎÄ̤·ÈÖ¹æ</param> public ItemInventryData(ItemName name, int value, int num) {¡¡¡¡¡¡//¡¡Ìá¤êÃͤ¬¤¢¤ê¤Þ¤»¤ó itemName = name; count = value; number = num; } }
// ¥»¡¼¥Ö¥Ç¡¼¥¿¤«¤é¥¢¥¤¥Æ¥à¤Î¥Ç¡¼¥¿¤ò¥³¥ó¥¹¥È¥é¥¯¥¿¡¦¥á¥½¥Ã¥É¤òÍøÍѤ·¤ÆÉü¸µ itemInventryDatasList.Add(new ItemInventryData((ItemName)Enum.Parse(typeof(ItemName), stringArray[0]), int.Parse(stringArray[1]), int.Parse(stringArray[2])));
new ItemInventryData((ItemName)Enum.Parse(typeof(ItemName), stringArray[0]), int.Parse(stringArray[1]), int.Parse(stringArray[2]))
public ItemInventryData(ItemName name, int value, int num) { // <= ¤³¤³¤Ë°ú¿ô¤Î¾ðÊó¤¬ÆϤ¯ itemName = name;¡¡¡¡//¡¡name ÊÑ¿ô¤Ë¤Ï¡¢Âè1°ú¿ô¤ÎÃͤǤ¢¤ë (ItemName)Enum.Parse(typeof(ItemName), stringArray[0]) ¤ÎÌá¤êÃͤ¬ÂåÆþ¤µ¤ì¤Æ¤¤¤ë count = value; // value ÊÑ¿ô¤Ë¤Ï¡¢Âè2°ú¿ô¤ÎÃͤǤ¢¤ë int.Parse(stringArray[1]) ¤ÎÌá¤êÃͤ¬ÂåÆþ¤µ¤ì¤Æ¤¤¤ë number = num; // num ÊÑ¿ô¤Ë¤Ï¡¢Âè3°ú¿ô¤ÎÃͤǤ¢¤ë int.Parse(stringArray[2]) ¤ÎÌá¤êÃͤ¬ÂåÆþ¤µ¤ì¤Æ¤¤¤ë }
// ¤½¤Î£± public ItemInventryData(ItemName name, int value, int num) { itemName = name; count = value; number = num; } // ¤½¤Î£² public ItemInventryData(ItemName name, int value, int num, ItemType type) { itemName = name; count = value; number = num; itemType = type; } // ¤½¤Î£³ public ItemInventryData(ItemName name) { itemName = name; }
̤³ÎǧÈô¹ÔCÍÍ
¥³¥ó¥¹¥È¥é¥¯¥¿
https://ufcpp.net/study/csharp/oo_construct.html
// °ÊÁ°¤Ë½ê»ý¤·¤Æ¤¤¤¿ÈÖ¹æ½ç¤Ç½ê»ý¥¢¥¤¥Æ¥à¤Îʤӽç¤ò¥½¡¼¥È itemInventryDatasList = itemInventryDatasList.OrderBy(x => x.number).ToList();
MicroSoft C# ¥É¥¥å¥á¥ó¥È
Enumerable.OrderBy ¥á¥½¥Ã¥É
https://docs.microsoft.com/ja-jp/dotnet/api/system...
±¢´³¤·Ãæ¤Î¥²¡¼¥à³«È¯¥á¥â ÍÍ
¡ÚC#,LINQ¡ÛOrderBy,OrderByDescending¡ÁÇÛÎó¤ä¥ê¥¹¥È¤òʤÙÂؤ¨¤¿¤¤¤È¤¡Á
https://www.urablog.xyz/entry/2018/06/28/070000
¡¡using System; // ¥»¡¼¥Ö¥Ç¡¼¥¿¤«¤é¥¢¥¤¥Æ¥à¤Î¥Ç¡¼¥¿¤ò¥³¥ó¥¹¥È¥é¥¯¥¿¡¦¥á¥½¥Ã¥É¤òÍøÍѤ·¤ÆÉü¸µ itemInventryDatasList.Add(new ItemInventryData((ItemName)Enum.Parse(typeof(ItemName), stringArray[0]), int.Parse(stringArray[1]), int.Parse(stringArray[2])));
(ItemName)Enum.Parse(typeof(ItemName), stringArray[0])
DOBON.NET ÍÍ
¿ôÃͤäʸ»úÎó¤òÎóµóÂΤËÊÑ´¹¤¹¤ë
https://dobon.net/vb/dotnet/programing/enumparse.h...
Qiita @TomoProg ÍÍ
¡ÚC#¡Ûʸ»úÎó¤Èenum¤ÎÊÑ´¹¥Æ¥¯¥Ë¥Ã¥¯½¸
https://qiita.com/TomoProg/items/061861c784853b587...
MicroSoft C# ¥É¥¥å¥á¥ó¥È
Enum.TryParse ¥á¥½¥Ã¥É
https://docs.microsoft.com/ja-jp/dotnet/api/system...
// ¥»¡¼¥Ö¥Ç¡¼¥¿¤«¤é¥¢¥¤¥Æ¥à¤Î¥Ç¡¼¥¿¤ò¥³¥ó¥¹¥È¥é¥¯¥¿¡¦¥á¥½¥Ã¥É¤òÍøÍѤ·¤ÆÉü¸µ itemInventryDatasList.Add(new ItemInventryData((ItemName)Enum.Parse(typeof(ItemName), stringArray[0]), int.Parse(stringArray[1]), int.Parse(stringArray[2])));
int.Parse(stringArray[1]) ¡¡int.Parse(stringArray[2])
MicroSoft C# ¥É¥¥å¥á¥ó¥È
ʸ»úÎó¤ò¿ôÃͤËÊÑ´¹¤¹¤ëÊýË¡ (C# ¥×¥í¥°¥é¥ß¥ó¥° ¥¬¥¤¥É)
https://docs.microsoft.com/ja-jp/dotnet/csharp/pro...
¤ï¤ì¤³ ¤ï¤ì¤³ÍÍ
¡Ú¥ï¥ì¥³¤Î¹ÖºÂ¡ÛC#¤Îint.Parse¤ÈConvert.ToInt32¤Î°ã¤¤¤ò¥Þ¥¹¥¿¡¼¡Ú´°àú¤ä¡Û
https://www.wareko.jp/blog/master-difference-betwe...
SAMURAI ¥¨¥ó¥¸¥Ë¥¢¥Ö¥í¥° ÍÍ
¡ÚC#ÆþÌç¡Ûʸ»úÎó¤ò¿ôÃͤˡ¢¿ôÃͤòʸ»úÎó¤ËÊÑ´¹¤¹¤ëÊýË¡
https://www.sejuku.net/blog/44977