using Core.Annotations; using Core.Controllers; using Core.Models.Eft.Common; using Core.Models.Eft.Common.Tables; using Core.Models.Eft.Customization; using Core.Models.Eft.Hideout; using Core.Models.Eft.HttpResponse; using Core.Models.Eft.ItemEvent; using Core.Servers; using Core.Utils; namespace Core.Callbacks; [Injectable] public class CustomizationCallbacks { protected CustomizationController _customizationController; protected SaveServer _saveServer; protected HttpResponseUtil _httpResponseUtil; public CustomizationCallbacks ( CustomizationController customizationController, SaveServer saveServer, HttpResponseUtil httpResponseUtil ) { _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[splitUrl.Length - 3]; return _httpResponseUtil.GetBody(_customizationController.GetTraderSuits(traderId, sessionID)); } /// /// Handle CustomizationBuy event /// /// /// /// /// public ItemEventRouterResponse BuyClothing(PmcData pmcData, BuyClothingRequestData info, string sessionID) { return _customizationController.BuyClothing(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 SetClothing(PmcData pmcData, CustomizationSetRequest info, string sessionID) { return _customizationController.SetClothing(sessionID, info, pmcData); } }