NewProject.ts 1.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647
  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. import ProjectTemplates = require("../../resources/ProjectTemplates");
  10. class NewProject extends ModalWindow {
  11. constructor() {
  12. super();
  13. this.init("Project Type", "AtomicEditor/editor/ui/newproject.tb.txt");
  14. }
  15. handleWidgetEvent(ev: Atomic.UIWidgetEvent) {
  16. if (ev.type == Atomic.UI_EVENT_TYPE_CLICK) {
  17. let id = ev.target.id;
  18. if (id == "cancel") {
  19. this.hide();
  20. return true;
  21. }
  22. let projectDefinition = ProjectTemplates.getNewProjectTemplateDefinition(id);
  23. if (projectDefinition) {
  24. this.hide();
  25. let ops = EditorUI.getModelOps();
  26. ops.showCreateProject(projectDefinition);
  27. } else {
  28. EditorUI.showModalError("New Project Error", `Could not create new project of type: ${id}`);
  29. }
  30. }
  31. }
  32. }
  33. export = NewProject;