本文整理汇总了C++中Area::SetSize方法的典型用法代码示例。如果您正苦于以下问题:C++ Area::SetSize方法的具体用法?C++ Area::SetSize怎么用?C++ Area::SetSize使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Area
的用法示例。
在下文中一共展示了Area::SetSize方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: Notification
//.........这里部分代码省略.........
case 0x27546BF9: // "Brush::LeftMouseClick"
{
if (data.cInfo.gameWindow && data.cInfo.mTerrain.cell)
{
start.Set(data.cInfo.mTerrain.cellX, data.cInfo.mTerrain.cellZ);
rescan = TRUE;
}
// Block this event
return;
}
case 0x0ACEA1BD: // "Brush::RightMouseClick"
{
if (data.cInfo.gameWindow && data.cInfo.mTerrain.cell)
{
end.Set(data.cInfo.mTerrain.cellX, data.cInfo.mTerrain.cellZ);
rescan = TRUE;
}
// Block this event
return;
}
case 0x985B3F49: // "Command::Select"
{
// Get the object under the cursor
MapObj * obj = ObjectUnderCursor();
if (obj)
{
varType->SetStringValue(obj->TypeName());
}
// Block this event
return;
}
case 0xC3C52EA3: // "System::PreDraw"
{
if (rescan)
{
if (objType.Alive())
{
U32 flags = 0;
if (varOptimize->GetIntegerValue())
{
flags |= ::PathSearch::Finder::RF_OPTIMIZE;
}
if (WorldCtrl::CellOnMap(start.x, start.z) && WorldCtrl::CellOnMap(end.x, end.z))
{
UnitObjType *unitType = Promote::Type<UnitObjType>(objType);
if (unitType)
{
finder.RequestPath
(
start.x, start.z, end.x, end.z,
unitType->GetTractionIndex(unitType->GetDefaultLayer()),
NULL,
(::PathSearch::SearchType)unitType->GetMovementModel().GetPathingMethod(unitType->GetDefaultLayer()),
flags
);
}
}
}
rescan = FALSE;
}
if (finder.State() == ::PathSearch::FS_FOUND || finder.State() == ::PathSearch::FS_CLOSEST || finder.State() == ::PathSearch::FS_DIRECT)
{
Color g(0L, 255L, 0L, 255L);
Color r(255L, 0L, 0L, 255L);
Common::Display::MarkCell(start.x, start.z, g);
Common::Display::MarkCell(end.x, end.z, r);
for (::PathSearch::PointList::Iterator i(&finder.GetPointList()); *i; i++)
{
Area<S32> rc;
rc.SetSize(
(*i)->x, (*i)->z,
1, 1);
// Draw the brush
::Terrain::RenderCellRect(rc, g, TRUE, FALSE);
}
}
// Pass system events down
break;
}
}
// Not blocked at this level
Base::Notification(crc, e);
}