public static void GenStaticKeysClass(Dictionary <string, Dictionary <string, object> > allSchemas) { Debug.Log(GDEConstants.GeneratingLbl + " " + GDECodeGenConstants.StaticKeysFilePath); StringBuilder sb = new StringBuilder(); sb.Append(GDECodeGenConstants.AutoGenMsg); sb.Append("\n"); sb.Append(GDECodeGenConstants.StaticKeyClassHeader); foreach (KeyValuePair <string, Dictionary <string, object> > pair in allSchemas) { string schema = pair.Key; List <string> items = GDEItemManager.GetItemsOfSchemaType(schema); foreach (string item in items) { sb.Append("\n"); sb.Append("".PadLeft(GDECodeGenConstants.IndentLevel2)); sb.AppendFormat(GDECodeGenConstants.StaticKeyFormat, schema, item); } } sb.Append("\n"); sb.Append("}".PadLeft(GDECodeGenConstants.IndentLevel1 + 1)); sb.Append("\n"); sb.Append("}"); sb.Append("\n"); File.WriteAllText(GDESettings.FullRootDir + Path.DirectorySeparatorChar + GDECodeGenConstants.StaticKeysFilePath, sb.ToString()); Debug.Log(GDEConstants.DoneGeneratingLbl + " " + GDECodeGenConstants.StaticKeysFilePath); }
public static void GenStaticKeysClass(Dictionary <string, Dictionary <string, object> > allSchemas) { string fileName = string.Format(GDECodeGenConstants.StaticItemKeysFileName, Path.GetFileNameWithoutExtension(GDESettings.Instance.DataFilePath)); Debug.Log(GDEConstants.GeneratingLbl + " " + fileName); StringBuilder sb = new StringBuilder(); sb.AppendFormat(GDECodeGenConstants.AutoGenMsg, GDESettings.Instance.DataFilePath); sb.Append("\n"); sb.Append(GDECodeGenConstants.StaticItemKeyClassHeader); foreach (KeyValuePair <string, Dictionary <string, object> > pair in allSchemas) { string schema = pair.Key; List <string> items = GDEItemManager.GetItemsOfSchemaType(schema); foreach (string item in items) { sb.Append("\n"); sb.Append("".PadLeft(GDECodeGenConstants.IndentLevel2)); sb.AppendFormat(GDECodeGenConstants.StaticItemKeyFormat, schema, item); } } sb.Append("\n"); sb.Append("}".PadLeft(GDECodeGenConstants.IndentLevel1 + 1)); sb.Append("\n"); sb.Append("}"); sb.Append("\n"); WriteFile(sb, fileName); }
protected override void Remove(string key) { // Show a warning if we have items using this schema List <string> items = GDEItemManager.GetItemsOfSchemaType(key); bool shouldDelete = true; if (items != null && items.Count > 0) { string itemWord = items.Count == 1 ? "item" : "items"; shouldDelete = EditorUtility.DisplayDialog(string.Format("{0} {1} will be deleted!", items.Count, itemWord), GDEConstants.SureDeleteSchema, GDEConstants.DeleteSchemaBtn, GDEConstants.CancelBtn); } if (shouldDelete) { GDEItemManager.RemoveSchema(key, true); SetNeedToSave(true); } }