Camera width resize with viewport. GetMainCamera exposed to scripts #362

Merged
maverickdgg merged 3 commits from SP3-141-Camera-System into main 2023-02-24 17:20:13 +08:00
3 changed files with 23 additions and 2 deletions
Showing only changes of commit 6045214b13 - Show all commits

View File

@ -113,8 +113,7 @@
Pitch: 0
Yaw: 0
Roll: 0
Width: 1319
Height: 622
Width: 1175
Near: 0.00999999978
Far: 10000
Perspective: true

View File

@ -145,6 +145,22 @@ namespace SHADE
//std::cout << EVENT_DATA->resizeHeight << std::endl;
screenAspectRatio = (float)EVENT_DATA->resizeWidth / (float)EVENT_DATA->resizeHeight;
#ifdef SHEDITOR
auto editor = SHSystemManager::GetSystem<SHEditor>();
if (editor->editorState != SHEditor::State::PLAY)
return eventPtr->handle;
#endif // SHEDITOR
for (auto& director : directorHandleList)
{
auto camera = SHComponentManager::GetComponent_s<SHCameraComponent>(director->mainCameraEID);
if (camera)
{
camera->SetWidth(EVENT_DATA->resizeWidth);
}
}
return eventPtr->handle;
}
@ -574,4 +590,9 @@ namespace SHADE
#endif
}
SHCameraComponent* SHCameraSystem::GetMainCamera() const noexcept
{
return SHComponentManager::GetComponent_s<SHCameraComponent>(directorHandleList[0]->mainCameraEID);
}
}

View File

@ -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;
SHCameraComponent* GetMainCamera() const noexcept;
SHVec2 GetCameraWidthHeight(size_t index) noexcept;
};