mirror of
https://github.com/TorqueGameEngines/Torque3D.git
synced 2026-07-16 00:54:54 +00:00
Update guiMissionArea.cpp
set a minimum size for the level bounds, this stops the mouse drag issue until it is sorted out properly
This commit is contained in:
parent
0a1e3f74ed
commit
4fc182444e
1 changed files with 23 additions and 2 deletions
|
|
@ -141,8 +141,6 @@ bool GuiMissionAreaCtrl::onWake()
|
||||||
if(!Parent::onWake())
|
if(!Parent::onWake())
|
||||||
return(false);
|
return(false);
|
||||||
|
|
||||||
updateLevelBitmap();
|
|
||||||
|
|
||||||
// make sure mission area is clamped
|
// make sure mission area is clamped
|
||||||
setArea(getArea());
|
setArea(getArea());
|
||||||
|
|
||||||
|
|
@ -167,6 +165,11 @@ void GuiMissionAreaCtrl::onMouseUp(const GuiEvent & event)
|
||||||
if(!bool(mMissionArea))
|
if(!bool(mMissionArea))
|
||||||
return;
|
return;
|
||||||
|
|
||||||
|
//unlock the mouse
|
||||||
|
mouseUnlock();
|
||||||
|
|
||||||
|
mLastMousePoint = event.mousePoint;
|
||||||
|
|
||||||
RectI box;
|
RectI box;
|
||||||
getScreenMissionArea(box);
|
getScreenMissionArea(box);
|
||||||
S32 hit = getHitHandles(event.mousePoint, box);
|
S32 hit = getHitHandles(event.mousePoint, box);
|
||||||
|
|
@ -188,6 +191,11 @@ void GuiMissionAreaCtrl::onMouseDown(const GuiEvent & event)
|
||||||
if(!bool(mMissionArea))
|
if(!bool(mMissionArea))
|
||||||
return;
|
return;
|
||||||
|
|
||||||
|
setFirstResponder();
|
||||||
|
|
||||||
|
// lock mouse
|
||||||
|
mouseLock();
|
||||||
|
|
||||||
RectI box;
|
RectI box;
|
||||||
getScreenMissionArea(box);
|
getScreenMissionArea(box);
|
||||||
|
|
||||||
|
|
@ -354,6 +362,19 @@ void GuiMissionAreaCtrl::updateLevelBitmap()
|
||||||
mLevelBounds.intersect(box);
|
mLevelBounds.intersect(box);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
const F32 minSize = 256.0f;
|
||||||
|
|
||||||
|
// Ensure the bounding box has a minimum size and is square
|
||||||
|
VectorF size = mLevelBounds.getExtents();
|
||||||
|
F32 maxExtent = getMax(getMax(size.x, size.y), minSize);
|
||||||
|
|
||||||
|
// Expand to make it square and centered
|
||||||
|
Point3F center = mLevelBounds.getCenter();
|
||||||
|
|
||||||
|
Point3F halfExtents(maxExtent * 0.5f, maxExtent * 0.5f, size.z * 0.5f);
|
||||||
|
mLevelBounds.minExtents = center - halfExtents;
|
||||||
|
mLevelBounds.maxExtents = center + halfExtents;
|
||||||
|
|
||||||
GFXTransformSaver saver;
|
GFXTransformSaver saver;
|
||||||
|
|
||||||
// Calculate orthographic dimensions
|
// Calculate orthographic dimensions
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue