本文整理汇总了C++中WaypointPath::end方法的典型用法代码示例。如果您正苦于以下问题:C++ WaypointPath::end方法的具体用法?C++ WaypointPath::end怎么用?C++ WaypointPath::end使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类WaypointPath
的用法示例。
在下文中一共展示了WaypointPath::end方法的7个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: _clearPath
void WaypointManager::_clearPath(WaypointPath &path)
{
for(WaypointPath::iterator itr = path.begin(); itr != path.end(); ++itr)
if(itr->behavior)
delete itr->behavior;
path.clear();
}
示例2: SetNodeScriptId
/// return true if a valid scriptId is provided
bool WaypointManager::SetNodeScriptId(uint32 entry, uint32 dbGuid, uint32 point, int32 pathId, WaypointPathOrigin wpOrigin, uint32 scriptId)
{
// Support only normal movement tables
if (wpOrigin != PATH_FROM_GUID && wpOrigin != PATH_FROM_ENTRY)
return false;
WaypointPath* path = GetPathFromOrigin(entry, dbGuid, pathId, wpOrigin);
if (!path)
return false;
char const* const table = wpOrigin == PATH_FROM_GUID ? "creature_movement" : "creature_movement_template";
char const* const key_field = wpOrigin == PATH_FROM_GUID ? "id" : "entry";
uint32 const key = wpOrigin == PATH_FROM_GUID ? dbGuid : entry;
WorldDatabase.PExecuteLog("UPDATE %s SET script_id=%u WHERE %s=%u AND point=%u", table, scriptId, key_field, key, point);
WaypointPath::iterator find = path->find(point);
if (find != path->end())
find->second.script_id = scriptId;
ScriptChainMap const* scm = sScriptMgr.GetScriptChainMap(DBS_ON_CREATURE_MOVEMENT);
if (!scm)
return false;
return scm->find(scriptId) != scm->end();
}
示例3: SetNodeOrientation
void WaypointManager::SetNodeOrientation(uint32 entry, uint32 dbGuid, uint32 point, int32 pathId, WaypointPathOrigin wpOrigin, float orientation)
{
// Support only normal movement tables
if (wpOrigin != PATH_FROM_GUID && wpOrigin != PATH_FROM_ENTRY)
return;
WaypointPath* path = GetPathFromOrigin(entry, dbGuid, pathId, wpOrigin);
if (!path)
return;
char const* const table = wpOrigin == PATH_FROM_GUID ? "creature_movement" : "creature_movement_template";
char const* const key_field = wpOrigin == PATH_FROM_GUID ? "id" : "entry";
uint32 const key = wpOrigin == PATH_FROM_GUID ? dbGuid : entry;
WorldDatabase.PExecuteLog("UPDATE %s SET orientation=%f WHERE %s=%u AND point=%u", table, orientation, key_field, key, point);
WaypointPath::iterator find = path->find(point);
if (find != path->end())
find->second.orientation = orientation;
}
示例4: SetNodeOrientation
void WaypointManager::SetNodeOrientation(uint32 entry, uint32 dbGuid, uint32 point, uint32 pathId, WaypointPathOrigin wpOrigin, float orientation)
{
// Support only normal movement tables
if (wpOrigin == PATH_FROM_EXTERNAL)
return;
WaypointPath* path = GetPathFromOrigin(entry, dbGuid, pathId, wpOrigin);
if (!path)
return;
char const* const table = waypointOriginTables[wpOrigin];
char const* const key_field = waypointKeyColumn[wpOrigin];
uint32 const key = wpOrigin == PATH_FROM_GUID ? dbGuid : entry;
if (wpOrigin == PATH_FROM_ENTRY)
WorldDatabase.PExecuteLog("UPDATE %s SET orientation=%f WHERE %s=%u AND point=%u AND pathId=%u", table, orientation, key_field, key, point, pathId);
else
WorldDatabase.PExecuteLog("UPDATE %s SET orientation=%f WHERE %s=%u AND point=%u", table, orientation, key_field, key, point);
WaypointPath::iterator find = path->find(point);
if (find != path->end())
find->second.orientation = orientation;
}
示例5: SetNodePosition
void WaypointManager::SetNodePosition(uint32 entry, uint32 dbGuid, uint32 point, int32 pathId, WaypointPathOrigin wpOrigin, float x, float y, float z)
{
// Support only normal movement tables
if (wpOrigin != PATH_FROM_GUID && wpOrigin != PATH_FROM_ENTRY)
{ return; }
WaypointPath* path = GetPathFromOrigin(entry, dbGuid, pathId, wpOrigin);
if (!path)
{ return; }
char const* const table = wpOrigin == PATH_FROM_GUID ? "creature_movement" : "creature_movement_template";
char const* const key_field = wpOrigin == PATH_FROM_GUID ? "id" : "entry";
uint32 const key = wpOrigin == PATH_FROM_GUID ? dbGuid : entry;
WorldDatabase.PExecuteLog("UPDATE %s SET position_x=%f, position_y=%f, position_z=%f WHERE %s=%u AND point=%u", table, x, y, z, key_field, key, point);
WaypointPath::iterator find = path->find(point);
if (find != path->end())
{
find->second.x = x;
find->second.y = y;
find->second.z = z;
}
}
示例6: SetNodeScriptId
/// return true if a valid scriptId is provided
bool WaypointManager::SetNodeScriptId(uint32 entry, uint32 dbGuid, uint32 point, uint32 pathId, WaypointPathOrigin wpOrigin, uint32 scriptId)
{
// Support only normal movement tables
if (wpOrigin == PATH_FROM_EXTERNAL)
return false;
WaypointPath* path = GetPathFromOrigin(entry, dbGuid, pathId, wpOrigin);
if (!path)
return false;
char const* const table = waypointOriginTables[wpOrigin];
char const* const key_field = waypointKeyColumn[wpOrigin];
uint32 const key = wpOrigin == PATH_FROM_GUID ? dbGuid : ((entry << 8) + pathId);
if (wpOrigin == PATH_FROM_ENTRY)
WorldDatabase.PExecuteLog("UPDATE %s SET script_id=%u WHERE %s=%u AND point=%u AND pathId=%u", table, scriptId, key_field, key, point, pathId);
else
WorldDatabase.PExecuteLog("UPDATE %s SET script_id=%u WHERE %s=%u AND point=%u", table, scriptId, key_field, key, point);
WaypointPath::iterator find = path->find(point);
if (find != path->end())
find->second.script_id = scriptId;
return sCreatureMovementScripts.second.find(scriptId) != sCreatureMovementScripts.second.end();
}
示例7: _clearPath
void WaypointManager::_clearPath(WaypointPath& path)
{
for (WaypointPath::const_iterator itr = path.begin(); itr != path.end(); ++itr)
{ delete itr->second.behavior; }
path.clear();
}