NewProject.ts 1.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162
  1. //
  2. // Copyright (c) 2014-2015, THUNDERBEAST GAMES LLC All rights reserved
  3. // LICENSE: Atomic Game Engine Editor and Tools EULA
  4. // Please see LICENSE_ATOMIC_EDITOR_AND_TOOLS.md in repository root for
  5. // license information: https://github.com/AtomicGameEngine/AtomicGameEngine
  6. //
  7. import EditorUI = require("../EditorUI");
  8. import ModalWindow = require("./ModalWindow");
  9. class NewProject extends ModalWindow {
  10. constructor() {
  11. super();
  12. this.init("Project Type", "AtomicEditor/editor/ui/newproject.tb.txt");
  13. }
  14. handleWidgetEvent(ev: Atomic.UIWidgetEvent) {
  15. if (ev.type == Atomic.UI_EVENT_TYPE_CLICK) {
  16. var id = ev.target.id;
  17. if (id == "cancel") {
  18. this.hide();
  19. return true;
  20. }
  21. var projectType = "";
  22. if (id == "project_empty") {
  23. projectType = "EmptyProject/";
  24. }
  25. else if (id == "project_2d") {
  26. projectType = "Project2D/";
  27. }
  28. else if (id == "project_3d") {
  29. projectType = "Project3D/";
  30. }
  31. if (projectType) {
  32. var env = ToolCore.toolEnvironment;
  33. var projectTemplateFolder = env.toolDataDir + "ProjectTemplates/" + projectType;
  34. this.hide();
  35. var ops = EditorUI.getModelOps();
  36. ops.showCreateProject(projectTemplateFolder);
  37. }
  38. }
  39. }
  40. }
  41. export = NewProject;