void CUITradeWnd::PerformTrade() { if (m_uidata->UIOurTradeList.ItemsCount()==0 && m_uidata->UIOthersTradeList.ItemsCount()==0) return; int our_money = (int)m_pInvOwner->get_money(); int others_money = (int)m_pOthersInvOwner->get_money(); int delta_price = int(m_iOurTradePrice-m_iOthersTradePrice); our_money += delta_price; others_money -= delta_price; if(our_money>=0 && others_money>=0 && (m_iOurTradePrice>=0 || m_iOthersTradePrice>0)) { m_pOthersTrade->OnPerformTrade(m_iOthersTradePrice, m_iOurTradePrice); TransferItems (&m_uidata->UIOurTradeList, &m_uidata->UIOthersBagList, m_pOthersTrade, true); TransferItems (&m_uidata->UIOthersTradeList, &m_uidata->UIOurBagList, m_pOthersTrade, false); }else { if(others_money<0) m_uidata->UIDealMsg = HUD().GetUI()->UIGame()->AddCustomStatic("not_enough_money_other", true); else m_uidata->UIDealMsg = HUD().GetUI()->UIGame()->AddCustomStatic("not_enough_money_mine", true); m_uidata->UIDealMsg->m_endTime = Device.fTimeGlobal+2.0f;// sec } SetCurrentItem (NULL); }
void CUIActorMenu::OnBtnPerformTrade(CUIWindow* w, void* d) { if ( m_pTradeActorList->ItemsCount() == 0 && m_pTradePartnerList->ItemsCount() == 0 ) { return; } int actor_money = (int)m_pActorInvOwner->get_money(); int partner_money = (int)m_pPartnerInvOwner->get_money(); int actor_price = (int)CalcItemsPrice( m_pTradeActorList, m_partner_trade, true ); int partner_price = (int)CalcItemsPrice( m_pTradePartnerList, m_partner_trade, false ); int delta_price = actor_price - partner_price; actor_money += delta_price; partner_money -= delta_price; if ( ( actor_money >= 0 ) && ( partner_money >= 0 ) && ( actor_price >= 0 || partner_price > 0 ) ) { m_partner_trade->OnPerformTrade( partner_price, actor_price ); TransferItems( m_pTradeActorList, m_pTradePartnerBagList, m_partner_trade, true ); TransferItems( m_pTradePartnerList, m_pTradeActorBagList, m_partner_trade, false ); } else { if ( actor_money < 0 ) { CallMessageBoxOK( "not_enough_money_actor" ); } else if ( partner_money < 0 ) { CallMessageBoxOK( "not_enough_money_partner" ); } else { CallMessageBoxOK( "trade_dont_make" ); } } SetCurrentItem ( NULL ); UpdateItemsPlace (); }
void QvisDatabaseCorrelationWindow::removeSources() { TransferItems(correlatedSourcesListBox, sourcesListBox); }
void QvisDatabaseCorrelationWindow::addSources() { TransferItems(sourcesListBox, correlatedSourcesListBox); }