Advertisement
Guest User

Untitled

a guest
Oct 20th, 2014
231
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.02 KB | None | 0 0
  1. void ProximityMine::processTick( const Move* move )
  2. {...
  3. case Armed:
  4. {
  5. // Check for objects within the trigger area
  6. Box3F triggerBox( mDataBlock->triggerRadius * 2 );
  7. triggerBox.setCenter( getTransform().getPosition() );
  8.  
  9. SimpleQueryList sql;
  10. getContainer()->findObjects( triggerBox, sTriggerCollisionMask,
  11. SimpleQueryList::insertionCallback, &sql );
  12. bool freindInZone = false;
  13. for ( S32 i = 0; i < sql.mList.size(); i++ )
  14. {
  15. // Detect movement in the trigger area
  16. if ( ( sql.mList[i] == mOwner && !mDataBlock->triggerOnOwner ) ||
  17. sql.mList[i]->getVelocity().len() < mDataBlock->triggerSpeed )
  18. continue;
  19. ShapeBase *shape = dynamic_cast<ShapeBase*>(sql.mList[i]);
  20. if (shape)
  21. if (shape->mTeamId == this->mTeamId) freindInZone = true;
  22. if (!freindInZone)
  23. {
  24. // Mine has been triggered
  25. ...}
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement