Ejemplo n.º 1
0
        private void OnGUI()
        {
            var select = Selection.activeObject;
            var path   = AssetDatabase.GetAssetPath(select);

            if (File.Exists(path))
            {
                FileInfo fileInfo = new FileInfo(path);
                path = fileInfo.DirectoryName;
            }
            GUILayout.Label("Lua文件名称");
            luaFileName = EditorGUILayout.TextField(luaFileName);
            charSetType = (ECharSetType)EditorGUILayout.EnumPopup("字符集类型", charSetType);
            contentType = (EContentType)EditorGUILayout.EnumPopup("Lua内容格式", contentType);
            isReturn    = true;
            isReturn    = EditorGUILayout.Toggle("是否有返回值", isReturn);
            GUILayout.Label("");
            if (GUILayout.Button("创建脚本"))
            {
                if (luaFileName == null || luaFileName.Equals(""))
                {
                    Debug.LogError("新建Lua脚本文件名称不允许为空");
                }
                else
                {
                    path = string.Format(@"{0}\{1}.lua", path, luaFileName);
                    if (File.Exists(path))
                    {
                        Debug.LogError(string.Format("{0}文件已经存在", luaFileName));
                    }
                    else
                    {
                        string[] content = new string[5];
                        switch (contentType)
                        {
                        case EContentType.类:
                            content[0] = string.Format("{0}=class(\"{1}\");", luaFileName, luaFileName);
                            break;

                        case EContentType.Table表:
                            content[0] = string.Format("{0}={{}};", luaFileName);
                            break;
                        }
                        if (isReturn)
                        {
                            content[4] = string.Format("return {0};", luaFileName);
                        }
                        File.WriteAllLines(path, content, GetEncoding(charSetType));
                        Debug.Log(string.Format("{0}.lua文件创建完成,请刷新下Project面板", luaFileName));
                        this.Close();
                    }
                }
            }
        }
Ejemplo n.º 2
0
        private Encoding GetEncoding(ECharSetType charSetType)
        {
            Encoding encoding = null;

            switch (charSetType)
            {
            case ECharSetType.ASCII:
                encoding = Encoding.ASCII;
                break;

            case ECharSetType.Default:
                encoding = Encoding.Default;
                break;

            case ECharSetType.UTF8:
                encoding = Encoding.UTF8;
                break;
            }
            return(encoding);
        }