Ejemplo n.º 1
0
bool CUIActorMenu::ToPartnerTrade(CUICellItem* itm, bool b_use_cursor_pos)
{
	PIItem	iitem						= (PIItem)itm->m_pData;
	if ( !m_pPartnerInvOwner->AllowItemToTrade( iitem, eItemPlaceRuck ) )
	{
		///R_ASSERT2( 0, make_string( "Partner can`t cell item (%s)", iitem->NameItem() ) );
		Msg( "! Partner can`t cell item (%s)", iitem->NameItem() );
		return false;
	}

	CUIDragDropListEx*	old_owner		= itm->OwnerList();
	CUIDragDropListEx*	new_owner		= NULL;
	
	if(b_use_cursor_pos)
	{
		new_owner						= CUIDragDropListEx::m_drag_item->BackList();
		VERIFY							(new_owner==m_pTradePartnerList);
	}else
		new_owner						= m_pTradePartnerList;

	CUICellItem* i						= old_owner->RemoveItem(itm, (old_owner==new_owner) );
	
	if(b_use_cursor_pos)
		new_owner->SetItem				(i,old_owner->GetDragItemPosition());
	else
		new_owner->SetItem				(i);

	UpdatePrices();
	return true;
}
Ejemplo n.º 2
0
void Planet::Tick()
{
	UpdatePopulation();
	UpdatePrices();
	
	// Transfer all of the ores from the refinery to out refined stockpile
	for (uint i = 0; i < m_Refinery.m_RefinedStockpile.GetOreList().size(); ++i)
	{
		uint amount = 0;
		m_Refinery.GiveRefinedOre(m_Refinery.m_RefinedStockpile.GetOreList()[i], &amount);
		m_RefinedStockpile.AddOreAmount(m_Refinery.m_RefinedStockpile.GetOreList()[i], amount);
	}
	//Transfer all the ores from our raw stockpile to the refinery
	for (uint i = 0; i < m_RawStockpile.GetOreList().size(); ++i)
	{
		uint amount = m_RawStockpile.GetOreAmount(m_RawStockpile.GetOreList()[i]);
		m_Refinery.ReceiveRawOre(m_RawStockpile.GetOreList()[i], amount);
		m_RawStockpile.SetOreAmount(m_RawStockpile.GetOreList()[i], 0);
	}
	// Call Tick() on the refinery
	m_Refinery.Tick();

	// Now we hand all all of the refined ore to m_Factory
	
}
Ejemplo n.º 3
0
void CUIActorMenu::InitTradeMode()
{
	m_pInventoryBagList->Show		(false);
	m_PartnerCharacterInfo->Show	(true);
	m_PartnerMoney->Show			(true);

	m_pTradeActorBagList->Show		(true);
	m_pTradeActorList->Show			(true);
	m_pTradePartnerBagList->Show	(true);
	m_pTradePartnerList->Show		(true);

	m_RightDelimiter->Show			(true);
	m_LeftDelimiter->Show			(true);
	m_LeftBackground->Show			(true);

	m_PartnerBottomInfo->Show		(true);
	m_PartnerWeight->Show			(true);
	m_trade_button->Show			(true);

	VERIFY							( m_pPartnerInvOwner );
	m_pPartnerInvOwner->StartTrading();

	InitInventoryContents			( m_pTradeActorBagList );
	InitPartnerInventoryContents	();

	m_actor_trade					= m_pActorInvOwner->GetTrade();
	m_partner_trade					= m_pPartnerInvOwner->GetTrade();
	VERIFY							( m_actor_trade );
	VERIFY							( m_partner_trade );
	m_actor_trade->StartTradeEx		( m_pPartnerInvOwner );
	m_partner_trade->StartTradeEx	( m_pActorInvOwner );

	UpdatePrices();
}
Ejemplo n.º 4
0
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();
	}
}
Ejemplo n.º 5
0
void CUITradeWnd::UpdateLists(EListType mode)
{
	if(mode==eBoth||mode==e1st){
		m_uidata->UIOurBagList.ClearAll(true);
		m_uidata->UIOurTradeList.ClearAll(true);
	}

	if(mode==eBoth||mode==e2nd){
		m_uidata->UIOthersBagList.ClearAll(true);
		m_uidata->UIOthersTradeList.ClearAll(true);
	}

	UpdatePrices						();


	if(mode==eBoth||mode==e1st){
		ruck_list.clear					();
   		m_pInv->AddAvailableItems		(ruck_list, true);
		std::sort						(ruck_list.begin(),ruck_list.end(),InventoryUtilities::GreaterRoomInRuck);
		FillList						(ruck_list, m_uidata->UIOurBagList, true);
	}

	if(mode==eBoth||mode==e2nd){
		ruck_list.clear					();
		m_pOthersInv->AddAvailableItems	(ruck_list, true);
		std::sort						(ruck_list.begin(),ruck_list.end(),InventoryUtilities::GreaterRoomInRuck);
		FillList						(ruck_list, m_uidata->UIOthersBagList, false);
	}
}
Ejemplo n.º 6
0
bool CUITradeWnd::ToOthersBag()
{
	move_item				(CurrentItem(), &m_uidata->UIOthersTradeList, &m_uidata->UIOthersBagList);
	UpdatePrices			();

	return					true;
}
Ejemplo n.º 7
0
bool CUITradeWnd::ToOurTrade()
{
	if (!CanMoveToOther(CurrentIItem()))	return false;

	move_item				(CurrentItem(), &m_uidata->UIOurBagList, &m_uidata->UIOurTradeList);
	UpdatePrices			();
	return					true;
}
Ejemplo n.º 8
0
Planet::Planet(uint _id) : m_Factory()
{
	m_id = _id;
	m_Money = Rand::GetRandomUINT(500, 10000);
	m_Population = Rand::GetRandomUINT(10, 5000);
	m_PopulationModifier = Rand::GetRandomFloat(.5, 2);
	UpdatePrices();
	UpdatePopulation();
	
	// Initialize the m_Prices and m_RawStockpile
	for (Ore i : m_Factory.GetRecipe().GetOreList())
	{
		m_Prices.AddOre(i, 0);
		m_RawStockpile.AddOre(i, Rand::GetRandomUINT(20, 100));
	}
}
Ejemplo n.º 9
0
// ---------------------------------------------------------------------------
void __fastcall TfSbornyZakaz::cbAgentsSelect(TObject * Sender) {
	agent = (TAgent*)cbAgents->Items->Objects[cbAgents->ItemIndex];
	lTypePrice->Caption = "Тип цен: " + agent->typeprice->name;

	if (cbAgents->Text == "Розница") {
		eFamilia->Visible = true;
		Label11->Visible = true;
		eFamilia->Text = "";
		ePhone->Text = "";
	}
	else {
		eFamilia->Visible = false;
		Label11->Visible = false;
		eFamilia->Text = "";
		ePhone->Text = "";
	}

	// здесь можно загрузить все товары и услуги
	UpdatePrices();

	Sum();
}