| 588 | } |
| 589 | |
| 590 | void NavPath::renderSimple(ObjectRenderInst *ri, SceneRenderState *state, BaseMatInstance *overrideMat) |
| 591 | { |
| 592 | if(overrideMat) |
| 593 | return; |
| 594 | |
| 595 | if(state->isReflectPass() || !(isSelected() || mAlwaysRender)) |
| 596 | return; |
| 597 | |
| 598 | GFXDrawUtil *drawer = GFX->getDrawUtil(); |
| 599 | GFXStateBlockDesc desc; |
| 600 | desc.setZReadWrite(true, false); |
| 601 | desc.setBlend(true); |
| 602 | desc.setCullMode(GFXCullNone); |
| 603 | |
| 604 | if(isSelected()) |
| 605 | { |
| 606 | drawer->drawCube(desc, getWorldBox(), ColorI(136, 255, 228, 5)); |
| 607 | desc.setFillModeWireframe(); |
| 608 | drawer->drawCube(desc, getWorldBox(), ColorI::BLACK); |
| 609 | } |
| 610 | |
| 611 | desc.setZReadWrite(!mXray, false); |
| 612 | |
| 613 | ColorI pathColour(255, 0, 255); |
| 614 | |
| 615 | if(!mIsLooping) |
| 616 | { |
| 617 | desc.setFillModeSolid(); |
| 618 | if(mFromSet) drawer->drawCube(desc, Point3F(0.2f, 0.2f, 0.2f), mFrom, pathColour); |
| 619 | if(mToSet) drawer->drawCube(desc, Point3F(0.2f, 0.2f, 0.2f), mTo, pathColour); |
| 620 | } |
| 621 | |
| 622 | GFXStateBlockRef sb = GFX->createStateBlock(desc); |
| 623 | GFX->setStateBlock(sb); |
| 624 | |
| 625 | PrimBuild::color3i(pathColour.red, pathColour.green, pathColour.blue); |
| 626 | |
| 627 | PrimBuild::begin(GFXLineStrip, mPoints.size()); |
| 628 | for (U32 i = 0; i < mPoints.size(); i++) |
| 629 | PrimBuild::vertex3fv(mPoints[i]); |
| 630 | PrimBuild::end(); |
| 631 | |
| 632 | if(mRenderSearch && getServerObject()) |
| 633 | { |
| 634 | NavPath *np = static_cast<NavPath*>(getServerObject()); |
| 635 | if(np->mQuery && !dtStatusSucceed(np->mStatus)) |
| 636 | { |
| 637 | duDebugDrawTorque dd; |
| 638 | dd.overrideColor(duRGBA(250, 20, 20, 255)); |
| 639 | duDebugDrawNavMeshNodes(&dd, *np->mQuery); |
| 640 | dd.render(); |
| 641 | } |
| 642 | } |
| 643 | } |
| 644 | |
| 645 | U32 NavPath::packUpdate(NetConnection *conn, U32 mask, BitStream *stream) |
| 646 | { |
nothing calls this directly
no test coverage detected