Avoid duplicate code

This commit is contained in:
Allofich 2016-07-06 22:09:39 +09:00
parent 538209b0a2
commit 8014f37879

View file

@ -1722,26 +1722,22 @@ namespace MWWorld
{ {
maxDistance += mRendering->getCameraDistance(); maxDistance += mRendering->getCameraDistance();
MWWorld::Ptr facedObject; MWWorld::Ptr facedObject;
MWRender::RenderingManager::RayResult rayToObject;
if (MWBase::Environment::get().getWindowManager()->isGuiMode()) if (MWBase::Environment::get().getWindowManager()->isGuiMode())
{ {
float x, y; float x, y;
MWBase::Environment::get().getWindowManager()->getMousePosition(x, y); MWBase::Environment::get().getWindowManager()->getMousePosition(x, y);
MWRender::RenderingManager::RayResult rayToObject = mRendering->castCameraToViewportRay(x, y, maxDistance, ignorePlayer); rayToObject = mRendering->castCameraToViewportRay(x, y, maxDistance, ignorePlayer);
facedObject = rayToObject.mHitObject;
if (!facedObject.isEmpty())
distance = rayToObject.mRatio * maxDistance;
return facedObject;
} }
else else
{ rayToObject = mRendering->castCameraToViewportRay(0.5f, 0.5f, maxDistance, ignorePlayer);
MWRender::RenderingManager::RayResult rayToObject = mRendering->castCameraToViewportRay(0.5f, 0.5f, maxDistance, ignorePlayer);
facedObject = rayToObject.mHitObject; facedObject = rayToObject.mHitObject;
if (!facedObject.isEmpty()) if (!facedObject.isEmpty())
distance = rayToObject.mRatio * maxDistance; distance = rayToObject.mRatio * maxDistance;
return facedObject; return facedObject;
} }
}
bool World::isCellExterior() const bool World::isCellExterior() const
{ {