Camera width resize with viewport. GetMainCamera exposed to scripts #362
|
@ -113,8 +113,7 @@
|
|||
Pitch: 0
|
||||
Yaw: 0
|
||||
Roll: 0
|
||||
Width: 1319
|
||||
Height: 622
|
||||
Width: 1175
|
||||
Near: 0.00999999978
|
||||
Far: 10000
|
||||
Perspective: true
|
||||
|
|
|
@ -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
|
||||
}
|
||||
|
||||
EntityID SHCameraSystem::GetMainCameraEID() const noexcept
|
||||
{
|
||||
return directorHandleList[0]->mainCameraEID;
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
@ -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;
|
||||
};
|
||||
|
|
|
@ -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<SHCameraSystem>();
|
||||
return ECS::GetComponent<Camera^>(system->GetMainCameraEID());
|
||||
}
|
||||
|
||||
}
|
|
@ -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();
|
||||
|
||||
};
|
||||
}
|
Loading…
Reference in New Issue