예제 #1
0
        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);
        }
예제 #2
0
        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);
            }
        }