123456789101112131415161718192021222324252627282930313233343536 |
- import
- os,
- nodesnim,
- project_template,
- main
- proc addProject(name: string, icon: GlTextureObj) =
- var new_project = project_template.project.duplicate()
- new_project.name = name
- new_project.getNode("Title").LabelRef.setText(name)
- new_project.getNode("Icon").TextureRectRef.setTexture(icon)
- projects_box.addChild(new_project)
- proc addNewProject*(name: string) =
- if not dirExists(nodesnim_folder / name):
- # files and folders
- createDir(nodesnim_folder / name)
- createDir(nodesnim_folder / name / "assets")
- createDir(nodesnim_folder / name / ".nodesnim")
- copyFile(node_image, nodesnim_folder / name / "icon.jpg")
- let readme = open(nodesnim_folder / name / "README.md", fmWrite)
- readme.write("# " & name)
- readme.close()
- let gitignore = open(nodesnim_folder / name / ".gitignore", fmWrite)
- gitignore.write("nimcache/\nnimblecache/\nhtmldocs/\n\n*.exe\n*.log")
- gitignore.close()
- addProject(name, default_icon)
- proc loadProjects* =
- for kind, path in walkDir(nodesnim_folder):
- if dirExists(path) and dirExists(path / ".nodesnim"):
- addProject(path.lastPathPart(), load(path / "icon.jpg", GL_RGBA))
- proc hasProject*(name: string): bool =
- dirExists(nodesnim_folder / name)
|