using Core.Annotations; using Core.Controllers; using Core.Models.Eft.Common; using Core.Models.Eft.Inventory; using Core.Models.Eft.ItemEvent; using Core.Models.Eft.Quests; namespace Core.Callbacks; [Injectable] public class InventoryCallbacks { protected InventoryController _inventoryController; protected QuestController _questController; public InventoryCallbacks ( InventoryController inventoryController, QuestController questController ) { _inventoryController = inventoryController; _questController = questController; } /// /// Handle client/game/profile/items/moving Move event /// /// /// /// /// public ItemEventRouterResponse MoveItem(PmcData pmcData, InventoryMoveRequestData info, string sessionID, ItemEventRouterResponse output) { // _inventoryController.MoveItem(pmcData, info, sessionID, output); // TODO: InventoryController is not implemented rn // return output; throw new NotImplementedException(); } /// /// Handle Remove event /// /// /// /// /// public ItemEventRouterResponse RemoveItem(PmcData pmcData, InventoryRemoveRequestData info, string sessionID, ItemEventRouterResponse output) { // _inventoryController.RemoveItem(pmcData, info, sessionID, output); // TODO: InventoryController is not implemented rn // return output; throw new NotImplementedException(); } /// /// Handle Split event /// /// /// /// /// public ItemEventRouterResponse SplitItem(PmcData pmcData, InventorySplitRequestData info, string sessionID, ItemEventRouterResponse output) { // _inventoryController.SplitItem(pmcData, info, sessionID, output); // TODO: InventoryController is not implemented rn // return output; throw new NotImplementedException(); } /// /// /// /// /// /// /// public ItemEventRouterResponse MergeItem(PmcData pmcData, InventoryMergeRequestData info, string sessionID, ItemEventRouterResponse output) { // _inventoryController.MergeItem(pmcData, info, sessionID, output); // TODO: InventoryController is not implemented rn // return output; throw new NotImplementedException(); } /// /// /// /// /// /// /// public ItemEventRouterResponse TransferItem(PmcData pmcData, InventoryTransferRequestData info, string sessionID, ItemEventRouterResponse output) { // _inventoryController.TransferItem(pmcData, info, sessionID, output); // TODO: InventoryController is not implemented rn // return output; throw new NotImplementedException(); } /// /// Handle Swap /// /// /// /// /// public ItemEventRouterResponse SwapItem(PmcData pmcData, InventorySwapRequestData info, string sessionID) { // _inventoryController.SwapItem(pmcData, info, sessionID, output); // TODO: InventoryController is not implemented rn // return output; throw new NotImplementedException(); } /// /// /// /// /// /// /// public ItemEventRouterResponse FoldItem(PmcData pmcData, InventoryFoldRequestData info, string sessionID) { // _inventoryController.FoldItem(pmcData, info, sessionID, output); // TODO: InventoryController is not implemented rn // return output; throw new NotImplementedException(); } /// /// /// /// /// /// /// public ItemEventRouterResponse ToggleItem(PmcData pmcData, InventoryToggleRequestData info, string sessionID) { // _inventoryController.ToggleItem(pmcData, info, sessionID, output); // TODO: InventoryController is not implemented rn // return output; throw new NotImplementedException(); } /// /// /// /// /// /// /// public ItemEventRouterResponse TagItem(PmcData pmcData, InventoryTagRequestData info, string sessionID) { // _inventoryController.TagItem(pmcData, info, sessionID, output); // TODO: InventoryController is not implemented rn // return output; throw new NotImplementedException(); } /// /// /// /// /// /// /// public ItemEventRouterResponse BindItem(PmcData pmcData, InventoryBindRequestData info, string sessionID, ItemEventRouterResponse output) { // _inventoryController.BindItem(pmcData, info, sessionID, output); // TODO: InventoryController is not implemented rn // return output; throw new NotImplementedException(); } /// /// /// /// /// /// /// public ItemEventRouterResponse UnBindItem(PmcData pmcData, InventoryBindRequestData info, string sessionID, ItemEventRouterResponse output) { // _inventoryController.UnBindItem(pmcData, info, sessionID, output); // TODO: InventoryController is not implemented rn // return output; throw new NotImplementedException(); } /// /// /// /// /// /// /// public ItemEventRouterResponse ExamineItem(PmcData pmcData, InventoryExamineRequestData info, string sessionID, ItemEventRouterResponse output) { // _inventoryController.ExamineItem(pmcData, info, sessionID, output); // TODO: InventoryController is not implemented rn // return output; throw new NotImplementedException(); } /// /// Handle ReadEncyclopedia /// /// /// /// /// public ItemEventRouterResponse ReadEncyclopedia(PmcData pmcData, InventoryReadEncyclopediaRequestData info, string sessionID) { // _inventoryController.ReadEncyclopedia(pmcData, info, sessionID, output); // TODO: InventoryController is not implemented rn // return output; throw new NotImplementedException(); } /// /// Handle ApplyInventoryChanges /// /// /// /// /// public ItemEventRouterResponse SortInventory(PmcData pmcData, InventorySortRequestData info, string sessionID, ItemEventRouterResponse output) { // _inventoryController.SortInventory(pmcData, info, sessionID, output); // TODO: InventoryController is not implemented rn // return output; throw new NotImplementedException(); } /// /// /// /// /// /// /// public ItemEventRouterResponse CreateMapMarker(PmcData pmcData, InventoryCreateMarkerRequestData info, string sessionID, ItemEventRouterResponse output) { // _inventoryController.CreateMapMarker(pmcData, info, sessionID, output); // TODO: InventoryController is not implemented rn // return output; throw new NotImplementedException(); } /// /// /// /// /// /// /// public ItemEventRouterResponse DeleteMapMarker(PmcData pmcData, InventoryDeleteMarkerRequestData info, string sessionID, ItemEventRouterResponse output) { // _inventoryController.DeleteMapMarker(pmcData, info, sessionID, output); // TODO: InventoryController is not implemented rn // return output; throw new NotImplementedException(); } /// /// /// /// /// /// /// public ItemEventRouterResponse EditMapMarker(PmcData pmcData, InventoryEditMarkerRequestData info, string sessionID, ItemEventRouterResponse output) { // _inventoryController.EditMapMarker(pmcData, info, sessionID, output); // TODO: InventoryController is not implemented rn // return output; throw new NotImplementedException(); } /// /// Handle OpenRandomLootContainer /// /// /// /// /// /// public ItemEventRouterResponse OpenRandomLootContainer(PmcData pmcData, OpenRandomLootContainerRequestData info, string sessionID, ItemEventRouterResponse output) { // _inventoryController.OpenRandomLootContainer(pmcData, info, sessionID, output); // TODO: InventoryController is not implemented rn // return output; throw new NotImplementedException(); } /// /// /// /// /// /// /// /// public ItemEventRouterResponse RedeemProfileReward(PmcData pmcData, RedeemProfileRequestData info, string sessionID, ItemEventRouterResponse output) { // _inventoryController.RedeemProfileReward(pmcData, info, sessionID); // TODO: InventoryController is not implemented rn // return output; throw new NotImplementedException(); } /// /// /// /// /// /// /// /// public ItemEventRouterResponse SetFavoriteItem(PmcData pmcData, SetFavoriteItems info, string sessionID, ItemEventRouterResponse output) { // _inventoryController.SetFavoriteItem(pmcData, info, sessionID); // TODO: InventoryController is not implemented rn // return output; throw new NotImplementedException(); } /// /// TODO: MOVE INTO QUEST CODE /// Handle game/profile/items/moving - QuestFail /// /// /// /// /// /// public ItemEventRouterResponse FailQuest(PmcData pmcData, FailQuestRequestData info, string sessionID, ItemEventRouterResponse output) { // _inventoryController.FailQuest(pmcData, info, sessionID, output); // TODO: InventoryController is not implemented rn // return output; throw new NotImplementedException(); } /// /// /// /// /// /// /// /// public ItemEventRouterResponse PinOrLock(PmcData pmcData, PinOrLockItemRequest info, string sessionID, ItemEventRouterResponse output) { // _inventoryController.PinOrLock(pmcData, info, sessionID, output); // TODO: InventoryController is not implemented rn // return output; throw new NotImplementedException(); } }