void CHUDManager::RenderUI() { if(!b_online) return; BOOL bAlready = FALSE; if (true || psHUD_Flags.is(HUD_DRAW | HUD_DRAW_RT)) { HitMarker.Render (); bAlready = ! (pUI && !pUI->Render()); Font().Render(); } if (psHUD_Flags.is(HUD_CROSSHAIR|HUD_CROSSHAIR_RT|HUD_CROSSHAIR_RT2) && !bAlready) m_pHUDTarget->Render(); draw_wnds_rects (); if( Device.Paused() && bShowPauseString){ CGameFont* pFont = Font().pFontGraffiti50Russian; pFont->SetColor (0x80FF0000 ); LPCSTR _str = CStringTable().translate("st_game_paused").c_str(); Fvector2 _pos; _pos.set (UI_BASE_WIDTH/2.0f, UI_BASE_HEIGHT/2.0f); UI()->ClientToScreenScaled(_pos); pFont->SetAligment (CGameFont::alCenter); pFont->Out (_pos.x, _pos.y, _str); pFont->OnRender (); } }
void CMainMenu::OnRender () { if(m_Flags.test(flGameSaveScreenshot)) return; if(g_pGameLevel) Render->Calculate (); Render->Render (); if(!OnRenderPPUI_query()) { DoRenderDialogs(); UI().RenderFont(); draw_wnds_rects(); } }
void CLevel::OnRender() { inherited::OnRender (); if (!game) return; Game().OnRender(); //отрисовать трассы пуль //Device.Statistic->TEST1.Begin(); BulletManager().Render(); //Device.Statistic->TEST1.End(); //отрисовать интерфейc пользователя HUD().RenderUI(); #ifdef DEBUG draw_wnds_rects(); ph_world->OnRender (); #endif // DEBUG #ifdef DEBUG if (ai().get_level_graph()) ai().level_graph().render(); #ifdef DEBUG_PRECISE_PATH test_precise_path (); #endif CAI_Stalker *stalker = smart_cast<CAI_Stalker*>(Level().CurrentEntity()); if (stalker) stalker->OnRender (); if (bDebug) { for (u32 I=0; I < Level().Objects.o_count(); I++) { CObject* _O = Level().Objects.o_get_by_iterator(I); CAI_Stalker* stalker = smart_cast<CAI_Stalker*>(_O); if (stalker) stalker->OnRender (); CPhysicObject *physic_object = smart_cast<CPhysicObject*>(_O); if (physic_object) physic_object->OnRender(); CSpaceRestrictor *space_restrictor = smart_cast<CSpaceRestrictor*> (_O); if (space_restrictor) space_restrictor->OnRender(); CClimableObject *climable = smart_cast<CClimableObject*> (_O); if(climable) climable->OnRender(); CTeamBaseZone *team_base_zone = smart_cast<CTeamBaseZone*>(_O); if (team_base_zone) team_base_zone->OnRender(); if (GameID() != eGameIDSingle) { CInventoryItem* pIItem = smart_cast<CInventoryItem*>(_O); if (pIItem) pIItem->OnRender(); } if (dbg_net_Draw_Flags.test(dbg_draw_skeleton)) //draw skeleton { CGameObject* pGO = smart_cast<CGameObject*> (_O); if (pGO && pGO != Level().CurrentViewEntity() && !pGO->H_Parent()) { if (pGO->Position().distance_to_sqr(Device.vCameraPosition) < 400.0f) { pGO->dbg_DrawSkeleton(); } } }; } // [7/5/2005] if (Server && Server->game) Server->game->OnRender(); // [7/5/2005] ObjectSpace.dbgRender (); //--------------------------------------------------------------------- HUD().Font().pFontStat->OutSet (170,630); HUD().Font().pFontStat->SetHeight (16.0f); HUD().Font().pFontStat->SetColor (0xffff0000); if(Server)HUD().Font().pFontStat->OutNext ("Client Objects: [%d]",Server->GetEntitiesNum()); HUD().Font().pFontStat->OutNext ("Server Objects: [%d]",Objects.o_count()); HUD().Font().pFontStat->OutNext ("Interpolation Steps: [%d]", Level().GetInterpolationSteps()); HUD().Font().pFontStat->SetHeight (8.0f); //--------------------------------------------------------------------- } #endif #ifdef DEBUG if (bDebug) { DBG().draw_object_info (); DBG().draw_text (); DBG().draw_level_info (); } debug_renderer().render (); DBG().draw_debug_text(); if (psAI_Flags.is(aiVision)) { for (u32 I=0; I < Level().Objects.o_count(); I++) { CObject *object = Objects.o_get_by_iterator(I); CAI_Stalker *stalker = smart_cast<CAI_Stalker*>(object); if (!stalker) continue; stalker->dbg_draw_vision (); } } if (psAI_Flags.test(aiDrawVisibilityRays)) { for (u32 I=0; I < Level().Objects.o_count(); I++) { CObject *object = Objects.o_get_by_iterator(I); CAI_Stalker *stalker = smart_cast<CAI_Stalker*>(object); if (!stalker) continue; stalker->dbg_draw_visibility_rays (); } } #endif }