void CUIActorMenu::UpdatePrices() { LPCSTR kg_str = CStringTable().translate( "st_kg" ).c_str(); UpdateActor(); UpdatePartnerBag(); u32 actor_price = CalcItemsPrice( m_pTradeActorList, m_partner_trade, true ); u32 partner_price = CalcItemsPrice( m_pTradePartnerList, m_partner_trade, false ); string64 buf; sprintf_s( buf, "%d RU", actor_price ); m_ActorTradePrice->SetText( buf ); m_ActorTradePrice->AdjustWidthToText(); sprintf_s( buf, "%d RU", partner_price ); m_PartnerTradePrice->SetText( buf ); m_PartnerTradePrice->AdjustWidthToText(); float actor_weight = CalcItemsWeight( m_pTradeActorList ); float partner_weight = CalcItemsWeight( m_pTradePartnerList ); sprintf_s( buf, "(%.1f %s)", actor_weight, kg_str ); m_ActorTradeWeightMax->SetText( buf ); sprintf_s( buf, "(%.1f %s)", partner_weight, kg_str ); m_PartnerTradeWeightMax->SetText( buf ); Fvector2 pos = m_ActorTradePrice->GetWndPos(); pos.x = m_ActorTradeWeightMax->GetWndPos().x - m_ActorTradePrice->GetWndSize().x - 5.0f; m_ActorTradePrice->SetWndPos( pos ); pos.x = pos.x - m_ActorTradeCaption->GetWndSize().x - 5.0f; m_ActorTradeCaption->SetWndPos( pos ); pos = m_PartnerTradePrice->GetWndPos(); pos.x = m_PartnerTradeWeightMax->GetWndPos().x - m_PartnerTradePrice->GetWndSize().x - 5.0f; m_PartnerTradePrice->SetWndPos( pos ); pos.x = pos.x - m_PartnerTradeCaption->GetWndSize().x - 5.0f; m_PartnerTradeCaption->SetWndPos( pos ); }
void CUIActorMenu::UpdateItemsPlace() { switch ( m_currMenuMode ) { case mmUndefined: break; case mmInventory: break; case mmTrade: UpdatePrices(); break; case mmUpgrade: SetupUpgradeItem(); break; case mmDeadBodySearch: UpdateDeadBodyBag(); break; default: R_ASSERT(0); break; } if ( m_pActorInvOwner ) { UpdateOutfit(); UpdateActor(); } }
/*********************************************************** animate actors ***********************************************************/ int ExternalPlayersHandler::Process(double tnow, float tdiff) { // update from external info ThreadSafeWorkpile * wp = ThreadSafeWorkpile::getInstance(); std::vector<LbaNet::ActorInfo> vecai; std::vector<long> vecq; std::vector<LbaNet::ActorLifeInfo> veclai; std::vector<std::pair<long, LbaNet::LaunchInfo> > mb_vec; std::vector<long> mb_cb_vec; std::vector<LbaNet::GhostActorInfo> veclghost; wp->GetExtActorUpdate(vecai); wp->GetQuittedActors(vecq); wp->GetExtActorLifeUpdate(veclai); wp->GetMagicBallPlayed(mb_vec); wp->GetMagicBallComeback(mb_cb_vec); wp->GetExtGhostUpdate(veclghost); for(size_t i=0; i<vecai.size(); ++i) UpdateActor(vecai[i]); for(size_t i=0; i<veclai.size(); ++i) UpdateLifeActor(veclai[i]); for(size_t i=0; i<vecq.size(); ++i) RemoveActor(vecq[i]); for(size_t i=0; i<mb_cb_vec.size(); ++i) MagicBallComeback(mb_cb_vec[i]); for(size_t i=0; i<mb_vec.size(); ++i) MagicBallPlayed(mb_vec[i].first, mb_vec[i].second); for(size_t i=0; i<veclghost.size(); ++i) UpdateGhost(veclghost[i]); // update actors spped and animation std::map<long, ExternalPlayer *>::iterator it = _actors.begin(); std::map<long, ExternalPlayer *>::iterator end = _actors.end(); for(;it!=end; ++it) it->second->Process(tnow, tdiff); return 0; }
void CUIActorMenu::SetMenuMode(EMenuMode mode) { SetCurrentItem( NULL ); m_hint_wnd->set_text( NULL ); if ( mode != m_currMenuMode ) { switch(m_currMenuMode) { case mmUndefined: break; case mmInventory: DeInitInventoryMode(); break; case mmTrade: DeInitTradeMode(); break; case mmUpgrade: DeInitUpgradeMode(); break; case mmDeadBodySearch: DeInitDeadBodySearchMode(); break; default: R_ASSERT(0); break; } CurrentGameUI()->UIMainIngameWnd->ShowZoneMap(false); m_currMenuMode = mode; switch(mode) { case mmUndefined: #ifdef DEBUG Msg("* now is Undefined mode"); #endif // #ifdef DEBUG ResetMode(); break; case mmInventory: InitInventoryMode(); #ifdef DEBUG Msg("* now is Inventory mode"); #endif // #ifdef DEBUG break; case mmTrade: InitTradeMode(); #ifdef DEBUG Msg("* now is Trade mode"); #endif // #ifdef DEBUG break; case mmUpgrade: InitUpgradeMode(); #ifdef DEBUG Msg("* now is Upgrade mode"); #endif // #ifdef DEBUG break; case mmDeadBodySearch: InitDeadBodySearchMode(); #ifdef DEBUG Msg("* now is DeadBodySearch mode"); #endif // #ifdef DEBUG break; default: R_ASSERT(0); break; } UpdateConditionProgressBars(); CurModeToScript(); }//if if ( m_pActorInvOwner ) { UpdateOutfit(); UpdateActor(); } UpdateButtonsLayout(); }