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); } }