Example #1
0
        private void Update()
        {
            //根节点不做强制设置名字
            if (transform.parent == null)
            {
                return;
            }
            if (!string.IsNullOrEmpty(memo))
            {
                gameObject.name = memo;
                return;
            }

            if (string.IsNullOrEmpty(className))
            {
                return;
            }
            var dictAllTaskClass = XBTUtilities.GetAllTaskClassDictEditor();

            if (!dictAllTaskClass.ContainsKey(className))
            {
                gameObject.name = $"{className} is not exist";
                return;
            }

            var data = dictAllTaskClass[className];

            if (string.IsNullOrEmpty(data.Item2))
            {
                gameObject.name = data.Item1;
            }
            else
            {
                gameObject.name = data.Item2;
            }
        }
        static void GenerateTaskClassData()
        {
            XUtilities.MakePathExist(TaskClassPath);
            var contents = string.Empty;
            var result   = XBTUtilities.GetAllTaskClass();

            //contents += "\n";
            contents += "using System;\n";
            contents += "using System.Collections.Generic;\n";
            contents += "using XGameKit.Core;\n";
            contents += "\n";
            contents += "public static class AutoClass_TaskClassReflect\n";
            contents += "{\n";
            contents += "\tpublic static Dictionary<string, Func<object>> datas = new Dictionary<string, Func<object>>()\n";
            contents += "\t{\n";
            foreach (var data in result)
            {
                contents += $"\t\t{{\"{data.Item1}\", () => {{ return XObjectPool.Alloc<{data.Item3.FullName}>();}}}},\n";
            }
            contents += "\t};\n";
            contents += "}\n";
            File.WriteAllText(TaskClassPath, contents);
            AssetDatabase.Refresh();
        }