BsMainEditorWindow.cpp 2.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768
  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 "BsDrawHelper2D.h"
  10. #include "BsDrawHelper3D.h"
  11. #include "CmFRect.h"
  12. using namespace CamelotFramework;
  13. using namespace BansheeEngine;
  14. namespace BansheeEditor
  15. {
  16. MainEditorWindow::MainEditorWindow(CM::RenderWindowPtr renderWindow)
  17. :EditorWindowBase(renderWindow), mDockManager(cm_new<DockManager>(mGUI.get()))
  18. {
  19. // DEBUG ONLY
  20. HSceneObject sceneCameraGO = SceneObject::create("SceneCamera");
  21. HCamera sceneCamera = sceneCameraGO->addComponent<Camera>();
  22. //RenderTexturePtr sceneRenderTarget = RenderTexture::create(TEX_TYPE_2D, 800, 600);
  23. sceneCamera->initialize(mCamera->getViewport()->getTarget(), 0.0f, 0.0f, 1.0f, 1.0f, 0);
  24. sceneCamera->setPriority(-1);
  25. sceneCameraGO->setPosition(Vector3(0,50,1240));
  26. sceneCameraGO->lookAt(Vector3(0,50,-300));
  27. sceneCamera->setNearClipDistance(5);
  28. sceneCamera->setAspectRatio(800.0f / 600.0f);
  29. GameObjectHandle<DebugCamera> debugCamera = sceneCameraGO->addComponent<DebugCamera>();
  30. GameObjectHandle<TestTextSprite> textSprite = mSceneObject->addComponent<TestTextSprite>();
  31. textSprite->initialize(mCamera->getViewport().get(), renderWindow.get());
  32. textSprite->init(sceneCamera, "Testing in a new row, does this work?", nullptr);
  33. //DrawHelper2D::instance().drawQuad(sceneCamera, FRect(0.0f, 0.2f, 0.75f, 0.5f), Color::White, DebugDrawCoordType::Normalized, 250.0f);
  34. //DrawHelper2D::instance().drawQuad(sceneCamera, FRect(50.0f, 50.0f, 100.0f, 50.0f), Color::Blue, DebugDrawCoordType::Pixel, 250.0f);
  35. //DrawHelper2D::instance().drawLine_Pixel(sceneCamera, Vector2(0, 0), Vector2(20, 20), Color::Blue, DebugDrawCoordType::Pixel, 250.0f);
  36. //DrawHelper2D::instance().drawLine_AA(sceneCamera, Vector2(100, 10), Vector2(120, 40), 1.0f, 1.0f, Color::Blue, DebugDrawCoordType::Pixel, 250.0f);
  37. AABox dbgBox(Vector3(-300, -200, 1000), Vector3(300, 300, 1500));
  38. DrawHelper3D::instance().drawAABox(sceneCamera, dbgBox, Color::Green, 250.0f);
  39. }
  40. MainEditorWindow::~MainEditorWindow()
  41. {
  42. cm_delete(mDockManager);
  43. }
  44. void MainEditorWindow::movedOrResized()
  45. {
  46. EditorWindowBase::movedOrResized();
  47. UINT32 widgetWidth = (UINT32)std::max(0, (INT32)getWidth() - 2);
  48. UINT32 widgetHeight = (UINT32)std::max(0, (INT32)getHeight() - 2);
  49. mDockManager->setArea(1, 1, widgetWidth, widgetHeight);
  50. }
  51. }