Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- void ProximityMine::processTick( const Move* move )
- {...
- case Armed:
- {
- // Check for objects within the trigger area
- Box3F triggerBox( mDataBlock->triggerRadius * 2 );
- triggerBox.setCenter( getTransform().getPosition() );
- SimpleQueryList sql;
- getContainer()->findObjects( triggerBox, sTriggerCollisionMask,
- SimpleQueryList::insertionCallback, &sql );
- bool freindInZone = false;
- for ( S32 i = 0; i < sql.mList.size(); i++ )
- {
- // Detect movement in the trigger area
- if ( ( sql.mList[i] == mOwner && !mDataBlock->triggerOnOwner ) ||
- sql.mList[i]->getVelocity().len() < mDataBlock->triggerSpeed )
- continue;
- ShapeBase *shape = dynamic_cast<ShapeBase*>(sql.mList[i]);
- if (shape)
- if (shape->mTeamId == this->mTeamId) freindInZone = true;
- if (!freindInZone)
- {
- // Mine has been triggered
- ...}
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement