using SptCommon.Annotations;
using Core.Controllers;
using Core.Models.Eft.Common;
using Core.Models.Eft.Customization;
using Core.Models.Eft.ItemEvent;
using Core.Servers;
using Core.Utils;
namespace Core.Callbacks;
[Injectable]
public class CustomizationCallbacks(
CustomizationController _customizationController,
SaveServer _saveServer,
HttpResponseUtil _httpResponseUtil
)
{
///
/// Handle client/trading/customization/storage
///
///
///
///
///
public string GetCustomisationUnlocks(string url, EmptyRequestData info, string sessionID)
{
return _httpResponseUtil.GetBody(_saveServer.GetProfile(sessionID).CustomisationUnlocks);
}
///
/// Handle client/trading/customization
///
///
///
///
///
public string GetTraderSuits(string url, EmptyRequestData info, string sessionID)
{
var splitUrl = url.Split('/');
var traderId = splitUrl[^3];
return _httpResponseUtil.GetBody(_customizationController.GetTraderSuits(traderId, sessionID));
}
///
/// Handle CustomizationBuy event
///
///
///
///
///
public ItemEventRouterResponse BuyCustomisation(PmcData pmcData, BuyClothingRequestData info, string sessionID)
{
return _customizationController.BuyCustomisation(pmcData, info, sessionID);
}
///
/// Handle client/hideout/customization/offer/list
///
///
///
///
///
public string GetHideoutCustomisation(string url, EmptyRequestData info, string sessionID)
{
return _httpResponseUtil.GetBody(_customizationController.GetHideoutCustomisation(sessionID, info));
}
///
/// Handle client/customization/storage
///
///
///
///
///
public string GetStorage(string url, EmptyRequestData info, string sessionID)
{
return _httpResponseUtil.GetBody(_customizationController.GetCustomisationStorage(sessionID, info));
}
///
/// Handle CustomizationSet
///
///
///
///
///
public ItemEventRouterResponse SetCustomisation(PmcData pmcData, CustomizationSetRequest info, string sessionID)
{
return _customizationController.SetCustomisation(sessionID, info, pmcData);
}
}