Files
MinecraftConsoles/Minecraft.World/ClientSideMerchant.cpp
void_17 7074f35e4b shared_ptr -> std::shared_ptr
This is one of the first commits in a plan to remove all `using namespace std;` lines in the entire codebase as it is considered anti-pattern today.
2026-03-02 15:58:20 +07:00

64 lines
1.3 KiB
C++

#include "stdafx.h"
#include "net.minecraft.world.item.trading.h"
#include "net.minecraft.world.inventory.h"
#include "ClientSideMerchant.h"
ClientSideMerchant::ClientSideMerchant(std::shared_ptr<Player> source, int name)
{
this->source = source;
// 4J Stu - Need to do this after creating as a std::shared_ptr
container = NULL; //new MerchantContainer(source, this);
currentOffers = NULL;
m_name = name;
}
ClientSideMerchant::~ClientSideMerchant()
{
delete container;
delete currentOffers;
}
void ClientSideMerchant::createContainer()
{
container = new MerchantContainer(source, shared_from_this());
}
Container *ClientSideMerchant::getContainer()
{
return container;
}
std::shared_ptr<Player> ClientSideMerchant::getTradingPlayer()
{
return source;
}
void ClientSideMerchant::setTradingPlayer(std::shared_ptr<Player> player)
{
}
MerchantRecipeList *ClientSideMerchant::getOffers(std::shared_ptr<Player> forPlayer)
{
return currentOffers;
}
void ClientSideMerchant::overrideOffers(MerchantRecipeList *recipeList)
{
delete currentOffers;
currentOffers = recipeList;
}
void ClientSideMerchant::notifyTrade(MerchantRecipe *activeRecipe)
{
activeRecipe->increaseUses();
}
void ClientSideMerchant::notifyTradeUpdated(std::shared_ptr<ItemInstance> item)
{
}
int ClientSideMerchant::getDisplayName()
{
return m_name;
}