ºÇ½ª¹¹¿·¡§
orika_ex_miyako 2024ǯ12·î26Æü(ÌÚ) 14:31:42ÍúÎò
¡¡¥²¡¼¥àÆâ¤Ë¸À¸ìÀßÄê¤òÍÑ°Õ¤·¡¢¤³¤ÎÀßÄê¤òÀÚ¤êÂؤ¨¤ë¤È¡¢²èÌ̤κÆÆɤ߹þ¤ß¤ò¹Ô¤ï¤º¡¢Æ°Åª¤Ëɽ¼¨¤µ¤ì¤ëʸ»ú¤Î¸À¸ìÀÚ¤êÂؤ¨¤ò¹Ô¤¤¤Þ¤¹¡£
¡ã´°À®Æ°²è¡ä

¡¡Json ·Á¼°¤Î¥Õ¥¡¥¤¥ë¤ä¡¢¥¹¥¯¥ê¥×¥¿¥Ö¥ë¡¦¥ª¥Ö¥¸¥§¥¯¥ÈÍѤΥǡ¼¥¿¤ò¼èÆÀ¤·¤Æ¥²¡¼¥àÆâ¤ÇÍøÍѤ¹¤ë¤¿¤á¤Î¥¯¥é¥¹¤òÍÑ°Õ¤·¤Þ¤¹¡£
System.Serializable °À¤ò˺¤ì¤º¤ËÉÕÍ¿¤·¤Æ¤¯¤À¤µ¤¤¡£
LocalizeMasterData.cs
¡¡¼¡¤Î¼ê½ç¤Ï¡¢¥Þ¥¹¥¿¡¼¥Ç¡¼¥¿¤ò´ÉÍý¤¹¤ëÊýË¡¤Ë¤è¤Ã¤Æ°Û¤Ê¤ê¤Þ¤¹¡£
¼ÂÁõÊýË¡¤Ë¤è¤ê¡¢¡Ú£²¡Û¤«¡Ú£³¡Û¤Î¤¤¤º¤ì¤«¤Ë¿Ê¤ó¤Ç¤¯¤À¤µ¤¤¡£
¡¡Project Æâ¤Ë Datas ¥Õ¥©¥ë¥À¤Ê¤É¤òºîÀ®¤·¡¢¤½¤Î¥Õ¥©¥ë¥ÀÆâ¤ËLocalizeMasterDataSO ¥¹¥¯¥ê¥×¥¿¥Ö¥ë¡¦¥ª¥Ö¥¸¥§¥¯¥È¤òºîÀ®¤·¤Þ¤¹¡£
¡¡Ç¤°Õ¤Î¾ðÊó¤òÅÐÏ¿¤·¤Æ¤¯¤À¤µ¤¤¡£
¡¡¤¢¤ë¤¤¤Ï¡¢¥¹¥×¥ì¥Ã¥É¥·¡¼¥È¤Î¾ðÊó¤ò¤½¤Î¤Þ¤Þ¥¹¥¯¥ê¥×¥¿¥Ö¥ë¡¦¥ª¥Ö¥¸¥§¥¯¥È¤Ë¼è¤ê¹þ¤àÊýË¡¤ò¼ÂÁõ¤·¤Æ¤¯¤À¤µ¤¤¡£
¡¡¡¡=>¡¡¥¹¥×¥ì¥Ã¥É¥·¡¼¥È¤Î¥·¡¼¥ÈÊ̤ξðÊó¤ò°Û¤Ê¤ë¥¹¥¯¥ê¥×¥¿¥Ö¥ë¡¦¥ª¥Ö¥¸¥§¥¯¥È¤Ë¼è¤ê¹þ¤à
¡¡Unity Æâ¤Ë Json ¥Ç¡¼¥¿¤ò¼è¤ê¹þ¤àºÝ¡¢JsonHelper ¥¯¥é¥¹¤òÍøÍѤ·¤Þ¤¹¡£
using System.Collections; using System.Collections.Generic; using UnityEngine; using System; using System.IO; using System.Text; public class JsonHelper { /// <summary> /// Json¥Õ¥¡¥¤¥ë¤òstring¤ÇÆɤ߹þ¤à /// </summary> /// <param name="filePath"></param> /// <param name="fileName"></param> /// <returns></returns> public static string GetJsonFile(string filePath, string fileName) { string fileText = ""; // JsonFile¤òÆɤ߹þ¤à FileInfo info = new FileInfo(Application.streamingAssetsPath + filePath + fileName); try { // °ì¹ÔËèÆɤà¹þ¤ß using (StreamReader reader = new StreamReader(info.OpenRead(), Encoding.UTF8)) { fileText = reader.ReadToEnd(); } } catch (Exception e) { // ²þ¹Ô¥³¡¼¥É fileText += e + "\n"; } //Debug.Log(fileText); return fileText; } public static List<T> ListFromJson<T>(string json) { var newJson = "{ \"list\": " + json + "}"; Wrapper<T> wrapper = JsonUtility.FromJson<Wrapper<T>>(newJson); return wrapper.list; } [Serializable] class Wrapper<T> { public List<T> list; } }
¡¡¥·¥ó¥°¥ë¥È¥ó¥¯¥é¥¹¤È¤·¤ÆºîÀ®¤·¤Æ¤¤¤Þ¤¹¡£
¡¡¸½ºß¥²¡¼¥àÆâ¤ÇÁªÂò¤·¤Æ¤¤¤ë¸À¸ìÀßÄê¤òÊÝ»ý¤·¤¿¤ê¡¢PlayFab ¤Î¥¿¥¤¥È¥ë¥Ç¡¼¥¿¤Î¾ðÊó¤ò¼èÆÀ¤·¡¢Unity Æâ¤Ç¥¥ã¥Ã¥·¥å¤·¤Æ¤ª¤¯¤¿¤á¤Î¥¯¥é¥¹¤Ç¤¹¡£
¥µ¡¼¥Ð¡¼¤òÍøÍѤ¹¤ë¾ì¹ç¡¢¥¹¥¯¥ê¥×¥¿¥Ö¥ë¡¦¥ª¥Ö¥¸¥§¥¯¥È¤ÎÂå¤ï¤ê¤Ë¡¢ÀìÍѤΥ¯¥é¥¹¤Ç¥í¡¼¥«¥é¥¤¥ºÂбþÍѤξðÊó¤òÊÝ»ý¤·¤Æ¤ª¤¤Þ¤¹¡£
¡¡PlayFab ¤Ø¤Î¥í¥°¥¤¥ó½èÍý¤ä¡¢¥¿¥¤¥È¥ë¥Ç¡¼¥¿¤«¤é¾ðÊó¤ò¼èÆÀ¤¹¤ë½èÍý¼«ÂΤˤĤ¤¤Æ¤Ï¤³¤³¤Ç¤Ï¾Êά¤·¤Æ¤¤¤Þ¤¹¡£
µ»ö¤¬Â¿¤¯½Ð¤Æ¤¤¤Þ¤¹¤Î¤Ç¡¢¤½¤ì¤é¤ò»²¹Í¤Ë¼ÂÁõ¤·¤Æ¤¯¤À¤µ¤¤¡£
¡¡enum ¤Ç¤¢¤ë Language ·¿¤Î¾ðÊó¤ò ReactiveProperty ¤ÇÍÑ°Õ¤·¤Æ¤¤¤Þ¤¹¤Î¤Ç¡¢¤³¤Á¤é¤Î¾ðÊó¤ò¹ØÆɤ¹¤ë¤³¤È¤Ë¤è¤ê¡¢¥²¡¼¥àÆâ¤Ç¤ÎưŪ¤Ê¸À¸ìÀÚ¤êÂؤ¨¤òɽ¸½¤·¤Þ¤¹¡£
¡¡¤³¤³¤«¤é¤Ï¶¦Ä̤μÂÁõ½èÍý¤Ë¤Ê¤ê¤Þ¤¹¡£
¡¡¥í¡¼¥«¥é¥¤¥ºÂбþ¤·¤¿¤¤ TextMeshPro ¥³¥ó¥Ý¡¼¥Í¥ó¥È¤ä TextMeshProUGUI ¥³¥ó¥Ý¡¼¥Í¥ó¥È¤òÀ©¸æ¤¹¤ë¤¿¤á¤Î¥¯¥é¥¹¤Ç¤¹¡£
¤³¤Î¥¯¥é¥¹¤â¡¢¤½¤ì¤é¤Î¥³¥ó¥Ý¡¼¥Í¥ó¥È¤ÈƱ¤¸¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤Ë¥¢¥¿¥Ã¥Á¤·¤ÆÍøÍѤ·¤Þ¤¹¡£
¡¡¤³¤Î¥¯¥é¥¹Æâ¤Ç StringManager ¥¯¥é¥¹¤Î ReactiveProperty<Language> ·¿¤Î CurrentLanguage ÊÑ¿ô¤ò¹ØÆɤ·¡¢
¸À¸ì¤ÎÀÚ¤êÂؤ¨¤¬È¯À¸¤·¤¿¥¿¥¤¥ß¥ó¥°¤Ç¡¢²èÌ̤Îɽ¼¨¹¹¿·¤ò¹Ô¤¤¡¢¿·¤·¤¤¸À¸ì¤ËÂбþ¤·¤¿É½¼¨¤ò¼«Æ°Åª¤Ë¹Ô¤¦¤è¤¦¤Ëɳ¤Å¤±¤Æ¤¤¤Þ¤¹¡£
¡¡Àè¤Û¤ÉºîÀ®¤·¤¿ LocalizeText ¥¹¥¯¥ê¥×¥È¤ò¥¢¥¿¥Ã¥Á¤·¤Æ¡¢¸À¸ìɽ¼¨¤ò¹Ô¤¦¤¿¤á¤Î¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤òºîÀ®¤·¤Þ¤¹¡£
¤¹¤Ç¤ËºîÀ®ºÑ¤Î¾ì¹ç¤Ë¤Ï¡¢¥¹¥¯¥ê¥×¥È¤ò¥¢¥¿¥Ã¥Á¤·¤Æ¤¯¤À¤µ¤¤¡£

¡¡´°À®¤·¤¿¤é¥×¥ì¥Ï¥Ö²½¤·¤Æ¤ª¤¤Þ¤¹¡£
¡¡¤¢¤È¤Ï¡¢¥²¡¼¥àÆâ¤ÇÍøÍѤ¹¤ë¤¹¤Ù¤Æ¤Î¸À¸ìɽ¼¨¤Ë¡¢¤³¤Á¤é¤Î¥×¥ì¥Ï¥Ö¤òÍøÍѤ¹¤ë¤è¤¦¤Ë¤·¤Æ¤¯¤À¤µ¤¤¡£
¡¡¤½¤¦¤¹¤ì¤Ð¡¢¸À¸ìɽ¼¨¤ÎÀÚ¤êÂؤ¨µ¡Ç½¤À¤±¤Ç¤Ï¤Ê¤¯¡¢¥¢¥¦¥È¥é¥¤¥ó¤Ê¤É¤Î¥¨¥Õ¥§¥¯¥È¡¢¥Õ¥©¥ó¥È¤Îº¹¤·Âؤ¨Âбþ¤â°ì³ç¤ÇÊѹ¹²Äǽ¤Ç¤¹¡£
¡¡¥²¡¼¥à¤ò¼Â¹Ô¤·¤ÆÆ°ºî¤ò³Îǧ¤·¤Þ¤¹¡£
¡¡PlayFab ¤Î¾ì¹ç¡¢¥í¥°¥¤¥ó¸å¡¢¥¿¥¤¥È¥ë¥Ç¡¼¥¿¤«¤é¥í¡¼¥«¥é¥¤¥ºÂбþÍѤΥޥ¹¥¿¡¼¥Ç¡¼¥¿¤ò¼èÆÀ¤·¡¢
StringManager ¥¯¥é¥¹¤Ë¥¥ã¥Ã¥·¥å¤·¤Æ¤ª¤¤Þ¤¹¡£

¡¡¥²¡¼¥àÆâ¤ÇÍøÍѤ¹¤ë LocalizeText ¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤Ë¤Ï¡¢¥¿¥°¤ÎÀßÄ꤬½ÐÍè¤Þ¤¹¤Î¤Ç¡¢
¤½¤Á¤é¤òǤ°Õ¤Î¥¿¥°¤ËÀßÄꤷ¤Þ¤¹¡£
¡¡¤½¤Î¤è¤¦¤Ë¤·¤Æ¤ª¤¯¤³¤È¤Ç¡¢LocalizeMasterData Æâ¤Î¥¿¥°¤È¾È¹ç¤·¡¢É½¼¨¤¹¤ëÆâÍƤò¼«Æ°²½¤Ç¤¤Þ¤¹¡£
Ʊ»þ¤Ë¸À¸ìÀÚ¤êÂؤ¨»þ¤Î¥í¡¼¥«¥é¥¤¥ºÂбþ¤â²Äǽ¤Ë¤Ê¤ê¤Þ¤¹¡£

¡ã¼ÂÁõÆ°²è¡ä

¡¡°Ê¾å¤Ç´°À®¤Ç¤¹¡£
¡¡¤³¤³¤Þ¤Ç¤Çʸ»úÎó¤ò¤½¤Î¤Þ¤Þ¥í¡¼¥«¥é¥¤¥º¤¹¤ë¾ì¹ç¤Ë¤Ä¤¤¤Æ¤Ï½èÍý¤Ï½ªÎ»¤Ç¤¹¡£
¡¡Ê¸»úÎóÆâ¤Î¾ðÊó¤ò¥²¡¼¥àÆâ¤Î¾ðÊó¤ò»²¾È¤·¤Æ¡¢£±¤Ä¤Îʸ»úÎó¤òºî¤ë¾ì¹ç¤Ë¤Ï¡¢°ú¤Â³¤¡¢¥í¡¼¥«¥é¥¤¥ºÂбþ¤Î¼ÂÁõ¤ò¹Ô¤¤¤Þ¤¹¡£
¡¡Î㤨¤Ð¡Ö¤³¤ó¤Ë¤Á¤Ï ¡û¡û ¤µ¤ó¡×¤Î¤è¤¦¤Ê¡¢¡û¡ûÉôʬ¤¬¥²¡¼¥àÆâ¤Î¾ðÊó¤Ë°Í¸¤¹¤ëʸ»úÎó¤ò¥í¡¼¥«¥é¥¤¥ºÂбþ¤¹¤ë¥±¡¼¥¹¤Ç¤¹¡£
¡¡¡¡=>¡¡¥í¡¼¥«¥é¥¤¥ºÂбþ¤Î¼ÂÁõÎã£
- ¥«¥Æ¥´¥ê¡§
- ¿Ê³Ø/¥¹¥¯¡¼¥ë
- ¥×¥í¥°¥é¥ß¥ó¥°
¥³¥á¥ó¥È¤ò¤«¤¯