diff --git a/Editor/GuruManager/Helper/GuruServiceConverterHelper.cs b/Editor/GuruManager/Helper/GuruServiceJsonBuilder.cs similarity index 88% rename from Editor/GuruManager/Helper/GuruServiceConverterHelper.cs rename to Editor/GuruManager/Helper/GuruServiceJsonBuilder.cs index 5d89127..ff65b84 100644 --- a/Editor/GuruManager/Helper/GuruServiceConverterHelper.cs +++ b/Editor/GuruManager/Helper/GuruServiceJsonBuilder.cs @@ -1,4 +1,5 @@ -#if GURU_SDK_DEV + + namespace Guru.Editor { @@ -12,8 +13,30 @@ namespace Guru.Editor public class GuruServiceJsonBuilder: EditorWindow { - const string GuruProjectSettingsName = "guru-project-settings.cfg"; - + public enum GuruProjects + { + Default = 0, + BallSortPlus, + DOF, + D2, + DO, + TileConnect, + FindOut, + FindIt, + AP, + TileBurst, + Parking3D, + BallSort, + BallSort2, + WaterSort, + WaterSort2, + Arrow, + APFindDifference, + CookingBlitz, + WoodNuts, + MahjongSolitaire, + GoodsSort, + } // Tool Version public const string Version = "0.2.0"; @@ -34,20 +57,35 @@ namespace Guru.Editor private static GuruServiceJsonBuilder _instance; private List _projectNames; private int _selectedProjectIndex = 0; - private static Dictionary _publishLinks; - public static Dictionary PublishLinks - { - get - { - if (_publishLinks == null) _publishLinks = LoadProjectSettingsCfg(); - return _publishLinks; - } - } + #region Link & Keys private const string TSVLink = "https://docs.google.com/spreadsheets/d/e/{0}/pub?gid=0&single=true&output=tsv"; - + private static readonly Dictionary PublishLinks = new Dictionary() + { + [GuruProjects.BallSortPlus.ToString()] = "2PACX-1vTa324nQIwNmXNtHC5sZZXYBdpUryKXdb8rFbTAwBa4KVlQ5ZXnErx2IvifkRxD8qKcNupfO1Kv5pJw", + [GuruProjects.DOF.ToString()] = "2PACX-1vSDpYZEUrCioCBRSkoZLra5nWk53Ks1f180TD1g2dnKcm-MZtAYvFSXDieAF4xromZCmxIoZuIfGyCJ", + [GuruProjects.D2.ToString()] = "2PACX-1vS1V35WTTPx2Jdeu6sVjPbaqFpjVwFu1Rn9tZkvxm8aEHbuRWibxt2pxPkLdDzwmCmrGBtU-PilABJm", + [GuruProjects.DO.ToString()] = "2PACX-1vT981NxQldx3qXELplYPoyFSfrMC3QvGciUwRu1sJmsHOu7dB3WSOPDGF4R55cXTq-Q5k_Dq4pmNpF2", + [GuruProjects.TileConnect.ToString()] = "2PACX-1vRfSd9UbrLilele8Fw1BafFjlvHG5EMnODfbppPiUaacr7wZ62IvgM65SYSjGEXJmU9g9AczollaFCf", + [GuruProjects.FindOut.ToString()] = "2PACX-1vQA3R66yWRHmUn6sneeIUU1qXEiaXv6h9QdzYzVRTEOg-yZf7WCJ6tuvXMWzwcOgGihiSnr9shMX__d", + [GuruProjects.FindIt.ToString()] = "2PACX-1vQs75JLsmTv1PESzOP6ANRqVk4zA3Y7PD5OV0yQbA5MM3wmp-hu4qE9gztZy7ETCP2nHJgDziwVpcFE", + [GuruProjects.AP.ToString()] = "2PACX-1vSvXTqbTcNCuHZYbKGA-fPKQj8XuixYUB9UXWqTQXz5QLXNurCtmBlziMbUxte_eqsGO0tB2GXe-sEC", + [GuruProjects.TileBurst.ToString()] = "2PACX-1vS5wvSZ5eSlK8TmYwVvgScJstaqN8cAB7Uxlq_nsbQwQ4VeD1BkhQuDbRdcO9ncuOCtoKjzSnviHVmc", + [GuruProjects.Parking3D.ToString()] = "2PACX-1vQY18hIrYjYNOqQNE12BcPtF4gtFMhBbfDrakBcIVQKoStmfPBY7C4O_Efj1Y8sNbytbKZr-0lPmBml", + [GuruProjects.BallSort.ToString()] = "2PACX-1vSPus7415l66-zScY1B1JOgLfSkm0yRPnRDG-BW0JgtnVZJziGDzvtBZr8D9oEZL2x478SdCS2yh0S_", + [GuruProjects.BallSort2.ToString()] = "2PACX-1vSZIZYbFuURK_ZMeMHV9ruL0SWBGMPA13er_J_DLRPVw5HBnU8_6c4mvek5UBFo1Ebbk63TMr-rsY6y", + [GuruProjects.WaterSort.ToString()] = "2PACX-1vTPxWbpP7KnT-e2xg9Uz-nukbLmqYc8SjwNL9MgycIhInNgmAjOmRnmyH6PWm3-hsEugKTJHKDcoKdI", + [GuruProjects.WaterSort2.ToString()] = "2PACX-1vQnZNtE7ZpT6eYagQDt686Be9Jr0tg22sRFg5cGiqFIsCVhWLu6jxDUg7qmyfIrX3iL5awat8FFnN7B", + [GuruProjects.Arrow.ToString()] = "2PACX-1vS5w8rNcJycK-VYgum7gkrLAx2Ln_7wykXLBX4EulI8XNGnlPsVlENQ8LupDdtiIu-JlngJaTw5dIzR", + [GuruProjects.APFindDifference.ToString()] = "2PACX-1vSmodKOvKjxmiNoYbrXFI6n1XC0aqvlnbYkEGyabLKqS6-C3Yi3nstmC89Hc31cdIzCk1FAl54beW2P", + [GuruProjects.CookingBlitz.ToString()] = "2PACX-1vShqtSSpwYQ8CvK-BVr-wQ5ygGeKKLdpaaWysSN_QumoDZYATemayAQIOdnFRzMP69nEwFYSx51oey8", + [GuruProjects.WoodNuts.ToString()] = "2PACX-1vQhtRg354eThBpWGCEk5f_2cLVbz1clQXv0n6w4Cyip0Knl6EQ4XwWMlcCec-legZdHU3E0-_cqKipc", + [GuruProjects.MahjongSolitaire.ToString()] = "2PACX-1vQpcaj8CpO__K1KGl-mg_940WOOIXBVzi0lmcjYTt1sqBI2PtK37s29McLTGU2I6N3fWM0ZepChedq7", + [GuruProjects.GoodsSort.ToString()] = "2PACX-1vQrg6Ss2bNYAI7A250t3_zp10UJtbbQXb8I4LtDJ2Q3uopUG_PUadoJy7T4w0jlf4xcTqot2NWsfp1m", + + }; #endregion @@ -68,7 +106,7 @@ namespace Guru.Editor var guru_service = EditorGuruServiceIO.CreateEmpty(); - var lines = tsv.Split('\n'); + var lines = tsv.Split("\n"); string line = ""; for (int index = 0; index < lines.Length; index++) { @@ -479,7 +517,7 @@ namespace Guru.Editor arr = GetStringArray(line, 0, 7); if(string.IsNullOrEmpty(arr[5])) arr[5] = "Store"; if(string.IsNullOrEmpty(arr[6])) arr[6] = "0"; - iaps.Add(string.Join(",", arr).Replace("\r", "")); + iaps.Add(string.Join("," , arr)); index++; } settings.products = iaps.ToArray(); @@ -583,53 +621,6 @@ namespace Guru.Editor _instance.Show(); } - #endregion - - #region Settings - - private static string GetRelativeDir() - { - var guids = AssetDatabase.FindAssets(nameof(GuruServiceJsonBuilder)); - if (guids.Length > 0) - { - var path = AssetDatabase.GUIDToAssetPath(guids[0]); - var rpath = Directory.GetParent(path).FullName; - return rpath; - } - return Path.GetFullPath($"Assets/../Packages/Editor/GuruJsonBuilder"); - } - - private static Dictionary LoadProjectSettingsCfg() - { - var cfgPath = $"{GetRelativeDir()}/{GuruProjectSettingsName}"; - if (File.Exists(cfgPath)) - { - var lines = File.ReadAllLines(cfgPath); - int len = lines?.Length ?? -1; - if (len > 0) - { - Dictionary dict = new Dictionary(lines.Length); - int i = 0; - string[] raw; - string line, key, value; - while (i < len) - { - line = lines[i]; - if(string.IsNullOrEmpty(line)) continue; - raw = lines[i].Split(','); - value = ""; - key = raw[0]; - if(string.IsNullOrEmpty(key)) continue; - if(raw.Length > 1) value = raw[1]; - dict[key] = value; - i++; - } - return dict; - } - } - return null; - } - #endregion #region Window @@ -640,7 +631,7 @@ namespace Guru.Editor this.titleContent = new GUIContent("Json Builder"); _projectNames = new List(20); - string[] names = PublishLinks.Keys.ToArray(); + string[] names = Enum.GetNames(typeof(GuruProjects)); string name = ""; for(int i = 0; i < names.Length; i++) { @@ -657,16 +648,7 @@ namespace Guru.Editor _selectedProjectIndex = 0; _state = STATE_IDLE; - - - var json = LoadProjectSettingsCfg(); - Debug.Log(json); - } - - - - private void OnEnable() { @@ -777,6 +759,11 @@ namespace Guru.Editor #region Networking + private static string GetProjectTSVUrl(GuruProjects pid) + { + return GetProjectTSVUrl(pid.ToString()); + } + private static string GetProjectTSVUrl(string pid) { if (PublishLinks.TryGetValue(pid, out var id)) @@ -822,6 +809,8 @@ namespace Guru.Editor #endregion + + #region TEST #if GURU_SDK_DEV @@ -830,7 +819,8 @@ namespace Guru.Editor private static void Test_FetchConfigFile() { - var pid = "FindOut"; + var pid = GuruProjects.FindOut; + var url = GetProjectTSVUrl(pid); @@ -857,7 +847,6 @@ namespace Guru.Editor } #endregion + } -} - -#endif \ No newline at end of file +} \ No newline at end of file diff --git a/Editor/GuruManager/Helper/GuruServiceConverterHelper.cs.meta b/Editor/GuruManager/Helper/GuruServiceJsonBuilder.cs.meta similarity index 100% rename from Editor/GuruManager/Helper/GuruServiceConverterHelper.cs.meta rename to Editor/GuruManager/Helper/GuruServiceJsonBuilder.cs.meta