本文整理汇总了C++中map::getlocal方法的典型用法代码示例。如果您正苦于以下问题:C++ map::getlocal方法的具体用法?C++ map::getlocal怎么用?C++ map::getlocal使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类map
的用法示例。
在下文中一共展示了map::getlocal方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: vertical_move_destination
tripoint vertical_move_destination( const map &m, const tripoint &t )
{
if( !m.has_zlevels() ) {
return tripoint_min;
}
constexpr int omtileszx = SEEX * 2;
constexpr int omtileszy = SEEY * 2;
real_coords rc( m.getabs( t.x, t.y ) );
point omtile_align_start(
m.getlocal( rc.begin_om_pos() )
);
const auto &pf_cache = m.get_pathfinding_cache_ref( t.z );
for( int x = omtile_align_start.x; x < omtile_align_start.x + omtileszx; x++ ) {
for( int y = omtile_align_start.y; y < omtile_align_start.y + omtileszy; y++ ) {
if( pf_cache.special[x][y] & PF_UPDOWN ) {
const tripoint p( x, y, t.z );
if( m.has_flag( flag, p ) ) {
return p;
}
}
}
}
return tripoint_min;
}
示例2: vertical_move_destination
tripoint vertical_move_destination( const map &m, const tripoint &t )
{
if( !m.has_zlevels() ) {
return tripoint_min;
}
constexpr int omtileszx = SEEX * 2;
constexpr int omtileszy = SEEY * 2;
real_coords rc( m.getabs( t.x, t.y ) );
point omtile_align_start(
m.getlocal( rc.begin_om_pos() )
);
tripoint from( omtile_align_start.x, omtile_align_start.y, t.z );
tripoint to( omtile_align_start.x + omtileszx, omtile_align_start.y + omtileszy, t.z );
// TODO: Avoid up to 576 bounds checks by using methods that don't check bounds
for( const tripoint &p : m.points_in_rectangle( from, to ) ) {
if( m.has_flag( flag, p ) ) {
return p;
}
}
return tripoint_min;
}