void renderInterfaceOverlay(bool scoreboardVisible) { Parent::renderInterfaceOverlay(scoreboardVisible); Ship *u = (Ship *) gClientGame->getConnectionToServer()->getControlObject(); if(!u) return; bool uFlag = false; for(S32 i = 0; i < mFlags.size(); i++) { if(mFlags[i].isValid() && mFlags[i]->getMount() == u) { for(S32 j = 0; j < mZones.size(); j++) { // see if this is one of our zones and that it doesn't have a flag in it. if(mZones[j]->getTeam() != u->getTeam()) continue; S32 k; for(k = 0; k < mFlags.size(); k++) { if(!mFlags[k].isValid()) continue; if(mFlags[k]->getZone() == mZones[j]) break; } if(k == mFlags.size()) renderObjectiveArrow(mZones[j], getTeamColor(u->getTeam())); } uFlag = true; break; } } for(S32 i = 0; i < mFlags.size(); i++) { if(!mFlags[i].isValid()) continue; if(!mFlags[i]->isMounted() && !uFlag) { GoalZone *gz = mFlags[i]->getZone(); if(gz && gz->getTeam() != u->getTeam()) renderObjectiveArrow(mFlags[i], getTeamColor(gz->getTeam())); else if(!gz) renderObjectiveArrow(mFlags[i], getTeamColor(-1)); } else { Ship *mount = mFlags[i]->getMount(); if(mount && mount != u) renderObjectiveArrow(mount, getTeamColor(mount->getTeam())); } } }
void NexusGameType::renderInterfaceOverlay(S32 canvasWidth, S32 canvasHeight) const { Parent::renderInterfaceOverlay(canvasWidth, canvasHeight); for(S32 i = 0; i < mYardSaleWaypoints.size(); i++) renderObjectiveArrow(mYardSaleWaypoints[i].pos, Colors::white, canvasWidth, canvasHeight); const Color &color = mNexusIsOpen ? Colors::NexusOpenColor : Colors::NexusClosedColor; for(S32 i = 0; i < mNexus.size(); i++) renderObjectiveArrow(mNexus[i], color, canvasWidth, canvasHeight); }
void CTFGameType::renderInterfaceOverlay(bool scoreboardVisible) { Parent::renderInterfaceOverlay(scoreboardVisible); Ship *u = (Ship *) gClientGame->getConnectionToServer()->getControlObject(); if(!u) return; for(S32 i = 0; i < mFlags.size(); i++) { if(!mFlags[i].isValid()) continue; if(mFlags[i]->isMounted()) { Ship *mount = mFlags[i]->getMount(); if(mount) renderObjectiveArrow(mount, getTeamColor(mount->getTeam())); } else renderObjectiveArrow(mFlags[i], getTeamColor(mFlags[i]->getTeam())); } }