using Core.Annotations; using Core.Controllers; using Core.Models.Eft.Common; using Core.Models.Eft.HttpResponse; using Core.Models.Eft.InRaid; using Core.Utils; namespace Core.Callbacks; [Injectable] public class InraidCallbacks { protected InRaidController _inRaidController; protected HttpResponseUtil _httpResponseUtil; public InraidCallbacks ( InRaidController inRaidController, HttpResponseUtil httpResponseUtil ) { _inRaidController = inRaidController; _httpResponseUtil = httpResponseUtil; } /// /// Handle client/location/getLocalloot /// Store active map in profile + applicationContext /// /// /// register player request /// Session id /// Null http response public string RegisterPlayer(string url, RegisterPlayerRequestData info, string sessionID) { _inRaidController.AddPlayer(sessionID, info); return _httpResponseUtil.NullResponse(); } /// /// Handle raid/profile/scavsave /// /// /// Save progress request /// Session id /// Null http response public string SaveProgress(string url, ScavSaveRequestData info, string sessionID) { _inRaidController.SavePostRaidProfileForScav(info, sessionID); return _httpResponseUtil.NullResponse(); } /// /// Handle singleplayer/settings/raid/menu /// /// JSON as string public string GetRaidMenuSettings() { return _httpResponseUtil.NoBody(_inRaidController.GetInRaidConfig().RaidMenuSettings); } public string GetTraitorScavHostileChance(string url, EmptyRequestData info, string sessionID) { return _httpResponseUtil.NoBody(_inRaidController.GetTraitorScavHostileChance(url, sessionID)); } public string GetBossConvertSettings(string url, EmptyRequestData info, string sessionID) { return _httpResponseUtil.NoBody(_inRaidController.GetBossConvertSettings(url, sessionID)); } }