本文整理汇总了C++中Spawn::setDeltas方法的典型用法代码示例。如果您正苦于以下问题:C++ Spawn::setDeltas方法的具体用法?C++ Spawn::setDeltas怎么用?C++ Spawn::setDeltas使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Spawn
的用法示例。
在下文中一共展示了Spawn::setDeltas方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: updateSpawn
void SpawnShell::updateSpawn(uint16_t id,
int16_t x, int16_t y, int16_t z,
int16_t xVel, int16_t yVel, int16_t zVel,
int8_t heading, int8_t deltaHeading,
uint8_t animation)
{
#ifdef SPAWNSHELL_DIAG
printf("SpawnShell::updateSpawn(id=%d, x=%d, y=%d, z=%d, xVel=%d, yVel=%d, zVel=%d)\n", id, x, y, z, xVel, yVel, zVel);
#endif
Item* item = m_spawns.find(id);
if (item != NULL)
{
Spawn* spawn = (Spawn*)item;
spawn->setPos(x, y, z,
showeq_params->walkpathrecord,
showeq_params->walkpathlength);
spawn->setAnimation(animation);
if ((animation != 0) && (animation != 66))
{
spawn->setDeltas(xVel, yVel, zVel);
spawn->setHeading(heading, deltaHeading);
}
else
{
spawn->setDeltas(0, 0, 0);
spawn->setHeading(heading, 0);
}
spawn->updateLast();
item->updateLastChanged();
emit changeItem(item, tSpawnChangedPosition);
}
else if (showeq_params->createUnknownSpawns)
{
// not the player, so check if it's a recently deleted spawn
for (int i =0; i < m_cntDeadSpawnIDs; i++)
{
// check dead spawn list for spawnID, if it was deleted, shouldn't
// see new position updates, so therefore this is probably
// for a new spawn (spawn ID being reused)
if ((m_deadSpawnID[i] != 0) && (m_deadSpawnID[i] == id))
{
// found a match, ignore it
m_deadSpawnID[i] = 0;
printf("\a(%d) had been removed from the zone, but saw a position update on it, so assuming bogus update.\n",
id);
return;
}
}
item = new Spawn(id, x, y, z, xVel, yVel, zVel,
heading, deltaHeading, animation);
updateFilterFlags(item);
updateRuntimeFilterFlags(item);
m_spawns.insert(id, item);
emit addItem(item);
// send notification of new spawn count
emit numSpawns(m_spawns.count());
}
}