diff --git a/Assets/Scenes/MainMenu.shade b/Assets/Scenes/MainMenu.shade index 30ef368a..15df64f4 100644 --- a/Assets/Scenes/MainMenu.shade +++ b/Assets/Scenes/MainMenu.shade @@ -113,8 +113,7 @@ Pitch: 0 Yaw: 0 Roll: 0 - Width: 1319 - Height: 622 + Width: 1175 Near: 0.00999999978 Far: 10000 Perspective: true diff --git a/SHADE_Engine/src/Camera/SHCameraSystem.cpp b/SHADE_Engine/src/Camera/SHCameraSystem.cpp index e577207a..95a461f8 100644 --- a/SHADE_Engine/src/Camera/SHCameraSystem.cpp +++ b/SHADE_Engine/src/Camera/SHCameraSystem.cpp @@ -144,8 +144,24 @@ namespace SHADE //std::cout << EVENT_DATA->resizeWidth << std::endl; //std::cout << EVENT_DATA->resizeHeight << std::endl; screenAspectRatio = (float)EVENT_DATA->resizeWidth / (float)EVENT_DATA->resizeHeight; + +#ifdef SHEDITOR + auto editor = SHSystemManager::GetSystem(); + if (editor->editorState != SHEditor::State::PLAY) + return eventPtr->handle; +#endif // SHEDITOR + + for (auto& director : directorHandleList) + { + auto camera = SHComponentManager::GetComponent_s(director->mainCameraEID); + if (camera) + { + camera->SetWidth(EVENT_DATA->resizeWidth); + } + } + return eventPtr->handle; } @@ -574,4 +590,9 @@ namespace SHADE #endif } + EntityID SHCameraSystem::GetMainCameraEID() const noexcept + { + return directorHandleList[0]->mainCameraEID; + } + } diff --git a/SHADE_Engine/src/Camera/SHCameraSystem.h b/SHADE_Engine/src/Camera/SHCameraSystem.h index 92728537..e7d06ddc 100644 --- a/SHADE_Engine/src/Camera/SHCameraSystem.h +++ b/SHADE_Engine/src/Camera/SHCameraSystem.h @@ -65,6 +65,7 @@ namespace SHADE void SetCameraViewMatrix(SHCameraComponent& camera, SHMatrix const& viewMatrix, bool takePos) noexcept; void CameraLookAt(SHCameraComponent& camera, SHVec3 target) noexcept; void UpdateEditorArm(double dt,bool active ,SHVec3 const& targetPos) noexcept; + EntityID GetMainCameraEID() const noexcept; SHVec2 GetCameraWidthHeight(size_t index) noexcept; }; diff --git a/SHADE_Managed/src/Components/Camera.cxx b/SHADE_Managed/src/Components/Camera.cxx index 4640c17a..22eb2124 100644 --- a/SHADE_Managed/src/Components/Camera.cxx +++ b/SHADE_Managed/src/Components/Camera.cxx @@ -13,7 +13,6 @@ namespace SHADE } - float Camera::Pitch::get() { return (GetNativeComponent()->GetPitch()); @@ -126,4 +125,10 @@ namespace SHADE } + Camera^ Camera::GetMainCamera() + { + auto system = SHSystemManager::GetSystem(); + return ECS::GetComponent(system->GetMainCameraEID()); + } + } \ No newline at end of file diff --git a/SHADE_Managed/src/Components/Camera.hxx b/SHADE_Managed/src/Components/Camera.hxx index c793f1ed..babf2c28 100644 --- a/SHADE_Managed/src/Components/Camera.hxx +++ b/SHADE_Managed/src/Components/Camera.hxx @@ -15,6 +15,9 @@ namespace SHADE Camera(Entity entity); public: + + + property float Pitch { float get(); @@ -65,5 +68,8 @@ namespace SHADE Vector3 GetForward(); Vector3 GetRight(); + + static Camera^ GetMainCamera(); + }; } \ No newline at end of file