BsMainEditorWindow.cpp 1.9 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758
  1. #include "BsMainEditorWindow.h"
  2. #include "BsDockManager.h"
  3. #include "BsCamera.h"
  4. #include "CmSceneObject.h"
  5. #include "CmRenderTexture.h"
  6. // DEBUG ONLY
  7. #include "CmTestTextSprite.h"
  8. #include "CmDebugCamera.h"
  9. #include "BsDebugDraw.h"
  10. using namespace CamelotFramework;
  11. using namespace BansheeEngine;
  12. namespace BansheeEditor
  13. {
  14. MainEditorWindow::MainEditorWindow(CM::RenderWindowPtr renderWindow)
  15. :EditorWindowBase(renderWindow), mDockManager(cm_new<DockManager>(mGUI.get()))
  16. {
  17. // DEBUG ONLY
  18. HSceneObject sceneCameraGO = SceneObject::create("SceneCamera");
  19. HCamera sceneCamera = sceneCameraGO->addComponent<Camera>();
  20. //RenderTexturePtr sceneRenderTarget = RenderTexture::create(TEX_TYPE_2D, 800, 600);
  21. sceneCamera->initialize(mCamera->getViewport()->getTarget(), 0.0f, 0.0f, 1.0f, 1.0f, 0);
  22. sceneCamera->setPriority(-1);
  23. sceneCameraGO->setPosition(Vector3(0,50,1240));
  24. sceneCameraGO->lookAt(Vector3(0,50,-300));
  25. sceneCamera->setNearClipDistance(5);
  26. sceneCamera->setAspectRatio(800.0f / 600.0f);
  27. GameObjectHandle<DebugCamera> debugCamera = sceneCameraGO->addComponent<DebugCamera>();
  28. GameObjectHandle<TestTextSprite> textSprite = mSceneObject->addComponent<TestTextSprite>();
  29. textSprite->initialize(mCamera->getViewport().get(), renderWindow.get());
  30. textSprite->init(sceneCamera, "Testing in a new row, does this work?", nullptr);
  31. DebugDraw::instance().drawQuad2D(sceneCamera, Vector2(-1.0f, 0.0f), Vector2(100, 50), Color::White, 50.0f);
  32. }
  33. MainEditorWindow::~MainEditorWindow()
  34. {
  35. cm_delete(mDockManager);
  36. }
  37. void MainEditorWindow::movedOrResized()
  38. {
  39. EditorWindowBase::movedOrResized();
  40. UINT32 widgetWidth = (UINT32)std::max(0, (INT32)getWidth() - 2);
  41. UINT32 widgetHeight = (UINT32)std::max(0, (INT32)getHeight() - 2);
  42. mDockManager->setArea(1, 1, widgetWidth, widgetHeight);
  43. }
  44. }