new itemRouters, missing enums, fix method sigs (#41)
* callbacks * controllers * Router override * make requests use interface * create Routers * extra parts * fix method sig on callbacks * add two missing enums as static classes * add missing serializers (not complete) * complete ItemEventRouters
This commit is contained in:
@@ -45,7 +45,7 @@ public class InventoryCallbacks
|
||||
/// <param name="info"></param>
|
||||
/// <param name="sessionID"></param>
|
||||
/// <returns></returns>
|
||||
public ItemEventRouterResponse RemoveItem(PmcData pmcData, InventoryRemoveRequestData info, string sessionID)
|
||||
public ItemEventRouterResponse RemoveItem(PmcData pmcData, InventoryRemoveRequestData info, string sessionID, ItemEventRouterResponse output)
|
||||
{
|
||||
// _inventoryController.RemoveItem(pmcData, info, sessionID, output);
|
||||
// TODO: InventoryController is not implemented rn
|
||||
@@ -60,7 +60,7 @@ public class InventoryCallbacks
|
||||
/// <param name="info"></param>
|
||||
/// <param name="sessionID"></param>
|
||||
/// <returns></returns>
|
||||
public ItemEventRouterResponse SplitItem(PmcData pmcData, InventorySplitRequestData info, string sessionID)
|
||||
public ItemEventRouterResponse SplitItem(PmcData pmcData, InventorySplitRequestData info, string sessionID, ItemEventRouterResponse output)
|
||||
{
|
||||
// _inventoryController.SplitItem(pmcData, info, sessionID, output);
|
||||
// TODO: InventoryController is not implemented rn
|
||||
@@ -75,7 +75,7 @@ public class InventoryCallbacks
|
||||
/// <param name="info"></param>
|
||||
/// <param name="sessionID"></param>
|
||||
/// <returns></returns>
|
||||
public ItemEventRouterResponse MergeItem(PmcData pmcData, InventoryMergeRequestData info, string sessionID)
|
||||
public ItemEventRouterResponse MergeItem(PmcData pmcData, InventoryMergeRequestData info, string sessionID, ItemEventRouterResponse output)
|
||||
{
|
||||
// _inventoryController.MergeItem(pmcData, info, sessionID, output);
|
||||
// TODO: InventoryController is not implemented rn
|
||||
@@ -90,7 +90,7 @@ public class InventoryCallbacks
|
||||
/// <param name="info"></param>
|
||||
/// <param name="sessionID"></param>
|
||||
/// <returns></returns>
|
||||
public ItemEventRouterResponse TransferItem(PmcData pmcData, InventoryTransferRequestData info, string sessionID)
|
||||
public ItemEventRouterResponse TransferItem(PmcData pmcData, InventoryTransferRequestData info, string sessionID, ItemEventRouterResponse output)
|
||||
{
|
||||
// _inventoryController.TransferItem(pmcData, info, sessionID, output);
|
||||
// TODO: InventoryController is not implemented rn
|
||||
@@ -165,7 +165,7 @@ public class InventoryCallbacks
|
||||
/// <param name="info"></param>
|
||||
/// <param name="sessionID"></param>
|
||||
/// <returns></returns>
|
||||
public ItemEventRouterResponse BindItem(PmcData pmcData, InventoryBindRequestData info, string sessionID)
|
||||
public ItemEventRouterResponse BindItem(PmcData pmcData, InventoryBindRequestData info, string sessionID, ItemEventRouterResponse output)
|
||||
{
|
||||
// _inventoryController.BindItem(pmcData, info, sessionID, output);
|
||||
// TODO: InventoryController is not implemented rn
|
||||
@@ -180,7 +180,7 @@ public class InventoryCallbacks
|
||||
/// <param name="info"></param>
|
||||
/// <param name="sessionID"></param>
|
||||
/// <returns></returns>
|
||||
public ItemEventRouterResponse UnBindItem(PmcData pmcData, InventoryBindRequestData info, string sessionID)
|
||||
public ItemEventRouterResponse UnBindItem(PmcData pmcData, InventoryBindRequestData info, string sessionID, ItemEventRouterResponse output)
|
||||
{
|
||||
// _inventoryController.UnBindItem(pmcData, info, sessionID, output);
|
||||
// TODO: InventoryController is not implemented rn
|
||||
@@ -195,7 +195,7 @@ public class InventoryCallbacks
|
||||
/// <param name="info"></param>
|
||||
/// <param name="sessionID"></param>
|
||||
/// <returns></returns>
|
||||
public ItemEventRouterResponse ExamineItem(PmcData pmcData, InventoryExamineRequestData info, string sessionID)
|
||||
public ItemEventRouterResponse ExamineItem(PmcData pmcData, InventoryExamineRequestData info, string sessionID, ItemEventRouterResponse output)
|
||||
{
|
||||
// _inventoryController.ExamineItem(pmcData, info, sessionID, output);
|
||||
// TODO: InventoryController is not implemented rn
|
||||
@@ -225,7 +225,7 @@ public class InventoryCallbacks
|
||||
/// <param name="info"></param>
|
||||
/// <param name="sessionID"></param>
|
||||
/// <returns></returns>
|
||||
public ItemEventRouterResponse SortInventory(PmcData pmcData, InventorySortRequestData info, string sessionID)
|
||||
public ItemEventRouterResponse SortInventory(PmcData pmcData, InventorySortRequestData info, string sessionID, ItemEventRouterResponse output)
|
||||
{
|
||||
// _inventoryController.SortInventory(pmcData, info, sessionID, output);
|
||||
// TODO: InventoryController is not implemented rn
|
||||
@@ -240,7 +240,7 @@ public class InventoryCallbacks
|
||||
/// <param name="info"></param>
|
||||
/// <param name="sessionID"></param>
|
||||
/// <returns></returns>
|
||||
public ItemEventRouterResponse CreateMapMarker(PmcData pmcData, InventoryCreateMarkerRequestData info, string sessionID)
|
||||
public ItemEventRouterResponse CreateMapMarker(PmcData pmcData, InventoryCreateMarkerRequestData info, string sessionID, ItemEventRouterResponse output)
|
||||
{
|
||||
// _inventoryController.CreateMapMarker(pmcData, info, sessionID, output);
|
||||
// TODO: InventoryController is not implemented rn
|
||||
@@ -255,7 +255,7 @@ public class InventoryCallbacks
|
||||
/// <param name="info"></param>
|
||||
/// <param name="sessionID"></param>
|
||||
/// <returns></returns>
|
||||
public ItemEventRouterResponse DeleteMapMarker(PmcData pmcData, InventoryDeleteMarkerRequestData info, string sessionID)
|
||||
public ItemEventRouterResponse DeleteMapMarker(PmcData pmcData, InventoryDeleteMarkerRequestData info, string sessionID, ItemEventRouterResponse output)
|
||||
{
|
||||
// _inventoryController.DeleteMapMarker(pmcData, info, sessionID, output);
|
||||
// TODO: InventoryController is not implemented rn
|
||||
@@ -270,7 +270,7 @@ public class InventoryCallbacks
|
||||
/// <param name="info"></param>
|
||||
/// <param name="sessionID"></param>
|
||||
/// <returns></returns>
|
||||
public ItemEventRouterResponse EditMapMarker(PmcData pmcData, InventoryEditMarkerRequestData info, string sessionID)
|
||||
public ItemEventRouterResponse EditMapMarker(PmcData pmcData, InventoryEditMarkerRequestData info, string sessionID, ItemEventRouterResponse output)
|
||||
{
|
||||
// _inventoryController.EditMapMarker(pmcData, info, sessionID, output);
|
||||
// TODO: InventoryController is not implemented rn
|
||||
|
||||
@@ -0,0 +1,20 @@
|
||||
namespace Core.Models.Enums;
|
||||
|
||||
public class HideoutEventActions
|
||||
{
|
||||
public const string HIDEOUT_UPGRADE = "HideoutUpgrade";
|
||||
public const string HIDEOUT_UPGRADE_COMPLETE = "HideoutUpgradeComplete";
|
||||
public const string HIDEOUT_PUT_ITEMS_IN_AREA_SLOTS = "HideoutPutItemsInAreaSlots";
|
||||
public const string HIDEOUT_TAKE_ITEMS_FROM_AREA_SLOTS = "HideoutTakeItemsFromAreaSlots";
|
||||
public const string HIDEOUT_TOGGLE_AREA = "HideoutToggleArea";
|
||||
public const string HIDEOUT_SINGLE_PRODUCTION_START = "HideoutSingleProductionStart";
|
||||
public const string HIDEOUT_SCAV_CASE_PRODUCTION_START = "HideoutScavCaseProductionStart";
|
||||
public const string HIDEOUT_CONTINUOUS_PRODUCTION_START = "HideoutContinuousProductionStart";
|
||||
public const string HIDEOUT_TAKE_PRODUCTION = "HideoutTakeProduction";
|
||||
public const string HIDEOUT_RECORD_SHOOTING_RANGE_POINTS = "RecordShootingRangePoints";
|
||||
public const string HIDEOUT_IMPROVE_AREA = "HideoutImproveArea";
|
||||
public const string HIDEOUT_CANCEL_PRODUCTION_COMMAND = "HideoutCancelProductionCommand";
|
||||
public const string HIDEOUT_CIRCLE_OF_CULTIST_PRODUCTION_START = "HideoutCircleOfCultistProductionStart";
|
||||
public const string HIDEOUT_DELETE_PRODUCTION_COMMAND = "HideoutDeleteProductionCommand";
|
||||
public const string HIDEOUT_CUSTOMIZATION_APPLY_COMMAND = "HideoutCustomizationApply";
|
||||
}
|
||||
@@ -0,0 +1,33 @@
|
||||
namespace Core.Models.Enums;
|
||||
|
||||
public class ItemEventActions
|
||||
{
|
||||
public const string MOVE = "Move";
|
||||
public const string REMOVE = "Remove";
|
||||
public const string SPLIT = "Split";
|
||||
public const string MERGE = "Merge";
|
||||
public const string TRANSFER = "Transfer";
|
||||
public const string SWAP = "Swap";
|
||||
public const string FOLD = "Fold";
|
||||
public const string TOGGLE = "Toggle";
|
||||
public const string TAG = "Tag";
|
||||
public const string BIND = "Bind";
|
||||
public const string UNBIND = "Unbind";
|
||||
public const string EXAMINE = "Examine";
|
||||
public const string READ_ENCYCLOPEDIA = "ReadEncyclopedia";
|
||||
public const string APPLY_INVENTORY_CHANGES = "ApplyInventoryChanges";
|
||||
public const string CREATE_MAP_MARKER = "CreateMapMarker";
|
||||
public const string DELETE_MAP_MARKER = "DeleteMapMarker";
|
||||
public const string EDIT_MAP_MARKER = "EditMapMarker";
|
||||
public const string OPEN_RANDOM_LOOT_CONTAINER = "OpenRandomLootContainer";
|
||||
public const string HIDEOUT_QTE_EVENT = "HideoutQuickTimeEvent";
|
||||
public const string SAVE_WEAPON_BUILD = "SaveWeaponBuild";
|
||||
public const string REMOVE_WEAPON_BUILD = "RemoveWeaponBuild";
|
||||
public const string REMOVE_BUILD = "RemoveBuild";
|
||||
public const string SAVE_EQUIPMENT_BUILD = "SaveEquipmentBuild";
|
||||
public const string REMOVE_EQUIPMENT_BUILD = "RemoveEquipmentBuild";
|
||||
public const string REDEEM_PROFILE_REWARD = "RedeemProfileReward";
|
||||
public const string SET_FAVORITE_ITEMS = "SetFavoriteItems";
|
||||
public const string QUEST_FAIL = "QuestFail";
|
||||
public const string PIN_LOCK = "PinLock";
|
||||
}
|
||||
@@ -0,0 +1,44 @@
|
||||
using Core.Annotations;
|
||||
using Core.Callbacks;
|
||||
using Core.DI;
|
||||
using Core.Models.Eft.Common;
|
||||
using Core.Models.Eft.Customization;
|
||||
using Core.Models.Eft.ItemEvent;
|
||||
|
||||
namespace Core.Routers.ItemEvents;
|
||||
|
||||
[Injectable(InjectableTypeOverride = typeof(ItemEventRouterDefinition))]
|
||||
public class CustomizationItemEventRouter : ItemEventRouterDefinition
|
||||
{
|
||||
protected CustomizationCallbacks _customizationCallbacks;
|
||||
|
||||
public CustomizationItemEventRouter
|
||||
(
|
||||
CustomizationCallbacks customizationCallbacks
|
||||
)
|
||||
{
|
||||
_customizationCallbacks = customizationCallbacks;
|
||||
}
|
||||
|
||||
protected override List<HandledRoute> GetHandledRoutes()
|
||||
{
|
||||
return new()
|
||||
{
|
||||
new HandledRoute("CustomizationBuy", false),
|
||||
new HandledRoute("CustomizationSet", false)
|
||||
};
|
||||
}
|
||||
|
||||
public override object HandleItemEvent(string url, PmcData pmcData, object body, string sessionID, ItemEventRouterResponse output)
|
||||
{
|
||||
switch (url)
|
||||
{
|
||||
case "CustomizationBuy":
|
||||
return _customizationCallbacks.BuyClothing(pmcData, body as BuyClothingRequestData, sessionID);
|
||||
case "CustomizationSet":
|
||||
return _customizationCallbacks.SetClothing(pmcData, body as CustomizationSetRequest, sessionID);
|
||||
default:
|
||||
throw new Exception($"CustomizationItemEventRouter being used when it cant handle route {url}");
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,47 @@
|
||||
using Core.Annotations;
|
||||
using Core.Callbacks;
|
||||
using Core.DI;
|
||||
using Core.Models.Eft.Common;
|
||||
using Core.Models.Eft.Health;
|
||||
using Core.Models.Eft.ItemEvent;
|
||||
|
||||
namespace Core.Routers.ItemEvents;
|
||||
|
||||
[Injectable(InjectableTypeOverride = typeof(ItemEventRouterDefinition))]
|
||||
public class HealthItemEventRouter : ItemEventRouterDefinition
|
||||
{
|
||||
protected HealthCallbacks _healthCallbacks;
|
||||
|
||||
public HealthItemEventRouter
|
||||
(
|
||||
HealthCallbacks healthCallbacks
|
||||
)
|
||||
{
|
||||
_healthCallbacks = healthCallbacks;
|
||||
}
|
||||
|
||||
protected override List<HandledRoute> GetHandledRoutes()
|
||||
{
|
||||
return new()
|
||||
{
|
||||
new HandledRoute("Eat", false),
|
||||
new HandledRoute("Heal", false),
|
||||
new HandledRoute("RestoreHealth", false)
|
||||
};
|
||||
}
|
||||
|
||||
public override object HandleItemEvent(string url, PmcData pmcData, object body, string sessionID, ItemEventRouterResponse output)
|
||||
{
|
||||
switch (url)
|
||||
{
|
||||
case "Eat":
|
||||
return _healthCallbacks.OffraidEat(pmcData, body as OffraidEatRequestData, sessionID);
|
||||
case "Heal":
|
||||
return _healthCallbacks.OffraidHeal(pmcData, body as OffraidHealRequestData, sessionID);
|
||||
case "RestoreHealth":
|
||||
return _healthCallbacks.HealthTreatment(pmcData, body as HealthTreatmentRequestData, sessionID);
|
||||
default:
|
||||
throw new Exception($"HealthItemEventRouter being used when it cant handle route {url}");
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,82 @@
|
||||
using Core.Annotations;
|
||||
using Core.Callbacks;
|
||||
using Core.DI;
|
||||
using Core.Models.Eft.Common;
|
||||
using Core.Models.Eft.Hideout;
|
||||
using Core.Models.Eft.ItemEvent;
|
||||
using Core.Models.Enums;
|
||||
|
||||
namespace Core.Routers.ItemEvents;
|
||||
|
||||
[Injectable(InjectableTypeOverride = typeof(ItemEventRouterDefinition))]
|
||||
public class HideoutItemEventRouter : ItemEventRouterDefinition
|
||||
{
|
||||
protected HideoutCallbacks _hideoutCallbacks;
|
||||
|
||||
public HideoutItemEventRouter
|
||||
(
|
||||
HideoutCallbacks hideoutCallbacks)
|
||||
{
|
||||
_hideoutCallbacks = hideoutCallbacks;
|
||||
}
|
||||
|
||||
protected override List<HandledRoute> GetHandledRoutes()
|
||||
{
|
||||
return new()
|
||||
{
|
||||
new HandledRoute(HideoutEventActions.HIDEOUT_UPGRADE, false),
|
||||
new HandledRoute(HideoutEventActions.HIDEOUT_UPGRADE_COMPLETE, false),
|
||||
new HandledRoute(HideoutEventActions.HIDEOUT_PUT_ITEMS_IN_AREA_SLOTS, false),
|
||||
new HandledRoute(HideoutEventActions.HIDEOUT_TAKE_ITEMS_FROM_AREA_SLOTS, false),
|
||||
new HandledRoute(HideoutEventActions.HIDEOUT_TOGGLE_AREA, false),
|
||||
new HandledRoute(HideoutEventActions.HIDEOUT_SINGLE_PRODUCTION_START, false),
|
||||
new HandledRoute(HideoutEventActions.HIDEOUT_SCAV_CASE_PRODUCTION_START, false),
|
||||
new HandledRoute(HideoutEventActions.HIDEOUT_CONTINUOUS_PRODUCTION_START, false),
|
||||
new HandledRoute(HideoutEventActions.HIDEOUT_TAKE_PRODUCTION, false),
|
||||
new HandledRoute(HideoutEventActions.HIDEOUT_RECORD_SHOOTING_RANGE_POINTS, false),
|
||||
new HandledRoute(HideoutEventActions.HIDEOUT_IMPROVE_AREA, false),
|
||||
new HandledRoute(HideoutEventActions.HIDEOUT_CANCEL_PRODUCTION_COMMAND, false),
|
||||
new HandledRoute(HideoutEventActions.HIDEOUT_CIRCLE_OF_CULTIST_PRODUCTION_START, false),
|
||||
new HandledRoute(HideoutEventActions.HIDEOUT_DELETE_PRODUCTION_COMMAND, false),
|
||||
new HandledRoute(HideoutEventActions.HIDEOUT_CUSTOMIZATION_APPLY_COMMAND, false)
|
||||
};
|
||||
}
|
||||
|
||||
public override object HandleItemEvent(string url, PmcData pmcData, object body, string sessionID, ItemEventRouterResponse output)
|
||||
{
|
||||
switch (url) {
|
||||
case HideoutEventActions.HIDEOUT_UPGRADE:
|
||||
return _hideoutCallbacks.Upgrade(pmcData, body as HideoutUpgradeRequestData, sessionID, output);
|
||||
case HideoutEventActions.HIDEOUT_UPGRADE_COMPLETE:
|
||||
return _hideoutCallbacks.UpgradeComplete(pmcData, body as HideoutUpgradeCompleteRequestData, sessionID, output);
|
||||
case HideoutEventActions.HIDEOUT_PUT_ITEMS_IN_AREA_SLOTS:
|
||||
return _hideoutCallbacks.PutItemsInAreaSlots(pmcData, body as HideoutPutItemInRequestData, sessionID);
|
||||
case HideoutEventActions.HIDEOUT_TAKE_ITEMS_FROM_AREA_SLOTS:
|
||||
return _hideoutCallbacks.TakeItemsFromAreaSlots(pmcData, body as HideoutTakeItemOutRequestData, sessionID);
|
||||
case HideoutEventActions.HIDEOUT_TOGGLE_AREA:
|
||||
return _hideoutCallbacks.ToggleArea(pmcData, body as HideoutToggleAreaRequestData, sessionID);
|
||||
case HideoutEventActions.HIDEOUT_SINGLE_PRODUCTION_START:
|
||||
return _hideoutCallbacks.SingleProductionStart(pmcData, body as HideoutSingleProductionStartRequestData, sessionID);
|
||||
case HideoutEventActions.HIDEOUT_SCAV_CASE_PRODUCTION_START:
|
||||
return _hideoutCallbacks.ScavCaseProductionStart(pmcData, body as HideoutScavCaseStartRequestData, sessionID);
|
||||
case HideoutEventActions.HIDEOUT_CONTINUOUS_PRODUCTION_START:
|
||||
return _hideoutCallbacks.ContinuousProductionStart(pmcData, body as HideoutContinuousProductionStartRequestData, sessionID);
|
||||
case HideoutEventActions.HIDEOUT_TAKE_PRODUCTION:
|
||||
return _hideoutCallbacks.TakeProduction(pmcData, body as HideoutTakeProductionRequestData, sessionID);
|
||||
case HideoutEventActions.HIDEOUT_RECORD_SHOOTING_RANGE_POINTS:
|
||||
return _hideoutCallbacks.RecordShootingRangePoints(pmcData, body as RecordShootingRangePoints, sessionID, output);
|
||||
case HideoutEventActions.HIDEOUT_IMPROVE_AREA:
|
||||
return _hideoutCallbacks.ImproveArea(pmcData, body as HideoutImproveAreaRequestData, sessionID);
|
||||
case HideoutEventActions.HIDEOUT_CANCEL_PRODUCTION_COMMAND:
|
||||
return _hideoutCallbacks.CancelProduction(pmcData, body as HideoutImproveAreaRequestData, sessionID);
|
||||
case HideoutEventActions.HIDEOUT_CIRCLE_OF_CULTIST_PRODUCTION_START:
|
||||
return _hideoutCallbacks.CicleOfCultistProductionStart(pmcData, body as HideoutCircleOfCultistProductionStartRequestData, sessionID);
|
||||
case HideoutEventActions.HIDEOUT_DELETE_PRODUCTION_COMMAND:
|
||||
return _hideoutCallbacks.HideoutDeleteProductionCommand(pmcData, body as HideoutDeleteProductionRequestData, sessionID);
|
||||
case HideoutEventActions.HIDEOUT_CUSTOMIZATION_APPLY_COMMAND:
|
||||
return _hideoutCallbacks.HideoutCustomizationApplyCommand(pmcData, body as HideoutCustomizationApplyRequestData, sessionID);
|
||||
default:
|
||||
throw new Exception($"HideoutItemEventRouter being used when it cant handle route {url}");
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,41 @@
|
||||
using Core.Annotations;
|
||||
using Core.Callbacks;
|
||||
using Core.DI;
|
||||
using Core.Models.Eft.Common;
|
||||
using Core.Models.Eft.Insurance;
|
||||
using Core.Models.Eft.ItemEvent;
|
||||
|
||||
namespace Core.Routers.ItemEvents;
|
||||
|
||||
[Injectable(InjectableTypeOverride = typeof(ItemEventRouterDefinition))]
|
||||
public class InsuranceItemEventRouter : ItemEventRouterDefinition
|
||||
{
|
||||
protected InsuranceCallbacks _insuranceCallbacks;
|
||||
|
||||
public InsuranceItemEventRouter
|
||||
(
|
||||
InsuranceCallbacks insuranceCallbacks
|
||||
)
|
||||
{
|
||||
_insuranceCallbacks = insuranceCallbacks;
|
||||
}
|
||||
|
||||
protected override List<HandledRoute> GetHandledRoutes()
|
||||
{
|
||||
return new()
|
||||
{
|
||||
new HandledRoute("Insure", false)
|
||||
};
|
||||
}
|
||||
|
||||
public override object HandleItemEvent(string url, PmcData pmcData, object body, string sessionID, ItemEventRouterResponse output)
|
||||
{
|
||||
switch (url)
|
||||
{
|
||||
case "Insure":
|
||||
return _insuranceCallbacks.Insure(pmcData, body as InsureRequestData, sessionID);
|
||||
default:
|
||||
throw new Exception($"InsuranceItemEventRouter being used when it cant handle route {url}");
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,112 @@
|
||||
using Core.Annotations;
|
||||
using Core.Callbacks;
|
||||
using Core.DI;
|
||||
using Core.Models.Eft.Common;
|
||||
using Core.Models.Eft.Hideout;
|
||||
using Core.Models.Eft.Inventory;
|
||||
using Core.Models.Eft.ItemEvent;
|
||||
using Core.Models.Eft.Quests;
|
||||
using Core.Models.Enums;
|
||||
|
||||
namespace Core.Routers.ItemEvents;
|
||||
|
||||
[Injectable(InjectableTypeOverride = typeof(ItemEventRouterDefinition))]
|
||||
public class InventoryItemEventRouter : ItemEventRouterDefinition
|
||||
{
|
||||
protected InventoryCallbacks _inventoryCallbacks;
|
||||
protected HideoutCallbacks _hideoutCallbacks;
|
||||
|
||||
public InventoryItemEventRouter
|
||||
(
|
||||
InventoryCallbacks inventoryCallbacks,
|
||||
HideoutCallbacks hideoutCallbacks
|
||||
)
|
||||
{
|
||||
_inventoryCallbacks = inventoryCallbacks;
|
||||
_hideoutCallbacks = hideoutCallbacks;
|
||||
}
|
||||
|
||||
protected override List<HandledRoute> GetHandledRoutes()
|
||||
{
|
||||
return new()
|
||||
{
|
||||
new HandledRoute(ItemEventActions.MOVE, false),
|
||||
new HandledRoute(ItemEventActions.REMOVE, false),
|
||||
new HandledRoute(ItemEventActions.SPLIT, false),
|
||||
new HandledRoute(ItemEventActions.MERGE, false),
|
||||
new HandledRoute(ItemEventActions.TRANSFER, false),
|
||||
new HandledRoute(ItemEventActions.SWAP, false),
|
||||
new HandledRoute(ItemEventActions.FOLD, false),
|
||||
new HandledRoute(ItemEventActions.TOGGLE, false),
|
||||
new HandledRoute(ItemEventActions.TAG, false),
|
||||
new HandledRoute(ItemEventActions.BIND, false),
|
||||
new HandledRoute(ItemEventActions.UNBIND, false),
|
||||
new HandledRoute(ItemEventActions.EXAMINE, false),
|
||||
new HandledRoute(ItemEventActions.READ_ENCYCLOPEDIA, false),
|
||||
new HandledRoute(ItemEventActions.APPLY_INVENTORY_CHANGES, false),
|
||||
new HandledRoute(ItemEventActions.CREATE_MAP_MARKER, false),
|
||||
new HandledRoute(ItemEventActions.DELETE_MAP_MARKER, false),
|
||||
new HandledRoute(ItemEventActions.EDIT_MAP_MARKER, false),
|
||||
new HandledRoute(ItemEventActions.OPEN_RANDOM_LOOT_CONTAINER, false),
|
||||
new HandledRoute(ItemEventActions.HIDEOUT_QTE_EVENT, false),
|
||||
new HandledRoute(ItemEventActions.REDEEM_PROFILE_REWARD, false),
|
||||
new HandledRoute(ItemEventActions.SET_FAVORITE_ITEMS, false),
|
||||
new HandledRoute(ItemEventActions.QUEST_FAIL, false),
|
||||
new HandledRoute(ItemEventActions.PIN_LOCK, false)
|
||||
};
|
||||
}
|
||||
|
||||
public override object HandleItemEvent(string url, PmcData pmcData, object body, string sessionID, ItemEventRouterResponse output)
|
||||
{
|
||||
switch (url) {
|
||||
case ItemEventActions.MOVE:
|
||||
return _inventoryCallbacks.MoveItem(pmcData, body as InventoryMoveRequestData, sessionID, output);
|
||||
case ItemEventActions.REMOVE:
|
||||
return _inventoryCallbacks.RemoveItem(pmcData, body as InventoryRemoveRequestData, sessionID, output);
|
||||
case ItemEventActions.SPLIT:
|
||||
return _inventoryCallbacks.SplitItem(pmcData, body as InventorySplitRequestData, sessionID, output);
|
||||
case ItemEventActions.MERGE:
|
||||
return _inventoryCallbacks.MergeItem(pmcData, body as InventoryMergeRequestData, sessionID, output);
|
||||
case ItemEventActions.TRANSFER:
|
||||
return _inventoryCallbacks.TransferItem(pmcData, body as InventoryTransferRequestData, sessionID, output);
|
||||
case ItemEventActions.SWAP:
|
||||
return _inventoryCallbacks.SwapItem(pmcData, body as InventorySwapRequestData, sessionID);
|
||||
case ItemEventActions.FOLD:
|
||||
return _inventoryCallbacks.FoldItem(pmcData, body as InventoryFoldRequestData, sessionID);
|
||||
case ItemEventActions.TOGGLE:
|
||||
return _inventoryCallbacks.ToggleItem(pmcData, body as InventoryToggleRequestData, sessionID);
|
||||
case ItemEventActions.TAG:
|
||||
return _inventoryCallbacks.TagItem(pmcData, body as InventoryTagRequestData, sessionID);
|
||||
case ItemEventActions.BIND:
|
||||
return _inventoryCallbacks.BindItem(pmcData, body as InventoryBindRequestData, sessionID, output);
|
||||
case ItemEventActions.UNBIND:
|
||||
return _inventoryCallbacks.UnBindItem(pmcData, body as InventoryBindRequestData, sessionID, output);
|
||||
case ItemEventActions.EXAMINE:
|
||||
return _inventoryCallbacks.ExamineItem(pmcData, body as InventoryExamineRequestData, sessionID, output);
|
||||
case ItemEventActions.READ_ENCYCLOPEDIA:
|
||||
return _inventoryCallbacks.ReadEncyclopedia(pmcData, body as InventoryReadEncyclopediaRequestData, sessionID);
|
||||
case ItemEventActions.APPLY_INVENTORY_CHANGES:
|
||||
return _inventoryCallbacks.SortInventory(pmcData, body as InventorySortRequestData, sessionID, output);
|
||||
case ItemEventActions.CREATE_MAP_MARKER:
|
||||
return _inventoryCallbacks.CreateMapMarker(pmcData, body as InventoryCreateMarkerRequestData, sessionID, output);
|
||||
case ItemEventActions.DELETE_MAP_MARKER:
|
||||
return _inventoryCallbacks.DeleteMapMarker(pmcData, body as InventoryDeleteMarkerRequestData, sessionID, output);
|
||||
case ItemEventActions.EDIT_MAP_MARKER:
|
||||
return _inventoryCallbacks.EditMapMarker(pmcData, body as InventoryEditMarkerRequestData, sessionID, output);
|
||||
case ItemEventActions.OPEN_RANDOM_LOOT_CONTAINER:
|
||||
return _inventoryCallbacks.OpenRandomLootContainer(pmcData, body as OpenRandomLootContainerRequestData, sessionID, output);
|
||||
case ItemEventActions.HIDEOUT_QTE_EVENT:
|
||||
return _hideoutCallbacks.HandleQTEEvent(pmcData, body as HandleQTEEventRequestData, sessionID, output);
|
||||
case ItemEventActions.REDEEM_PROFILE_REWARD:
|
||||
return _inventoryCallbacks.RedeemProfileReward(pmcData, body as RedeemProfileRequestData, sessionID, output);
|
||||
case ItemEventActions.SET_FAVORITE_ITEMS:
|
||||
return _inventoryCallbacks.SetFavoriteItem(pmcData, body as SetFavoriteItems, sessionID, output);
|
||||
case ItemEventActions.QUEST_FAIL:
|
||||
return _inventoryCallbacks.FailQuest(pmcData, body as FailQuestRequestData, sessionID, output);
|
||||
case ItemEventActions.PIN_LOCK:
|
||||
return _inventoryCallbacks.PinOrLock(pmcData, body as PinOrLockItemRequest, sessionID, output);
|
||||
default:
|
||||
throw new Exception($"InventoryItemEventRouter being used when it cant handle route {url}");
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,47 @@
|
||||
using Core.Annotations;
|
||||
using Core.Callbacks;
|
||||
using Core.DI;
|
||||
using Core.Models.Eft.Common;
|
||||
using Core.Models.Eft.ItemEvent;
|
||||
using Core.Models.Eft.Notes;
|
||||
|
||||
namespace Core.Routers.ItemEvents;
|
||||
|
||||
[Injectable(InjectableTypeOverride = typeof(ItemEventRouterDefinition))]
|
||||
public class NoteItemEventRouter : ItemEventRouterDefinition
|
||||
{
|
||||
protected NoteCallbacks _noteCallbacks;
|
||||
|
||||
public NoteItemEventRouter
|
||||
(
|
||||
NoteCallbacks noteCallbacks
|
||||
)
|
||||
{
|
||||
_noteCallbacks = noteCallbacks;
|
||||
}
|
||||
|
||||
protected override List<HandledRoute> GetHandledRoutes()
|
||||
{
|
||||
return new()
|
||||
{
|
||||
new HandledRoute("AddNote", false),
|
||||
new HandledRoute("EditNote", false),
|
||||
new HandledRoute("DeleteNote", false)
|
||||
};
|
||||
}
|
||||
|
||||
public override object HandleItemEvent(string url, PmcData pmcData, object body, string sessionID, ItemEventRouterResponse output)
|
||||
{
|
||||
switch (url)
|
||||
{
|
||||
case "AddNote":
|
||||
return _noteCallbacks.AddNote(pmcData, body as NoteActionData, sessionID);
|
||||
case "EditNote":
|
||||
return _noteCallbacks.EditNote(pmcData, body as NoteActionData, sessionID);
|
||||
case "DeleteNote":
|
||||
return _noteCallbacks.DeleteNote(pmcData, body as NoteActionData, sessionID);
|
||||
default:
|
||||
throw new Exception($"NoteItemEventRouter being used when it cant handle route {url}");
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,50 @@
|
||||
using Core.Annotations;
|
||||
using Core.Callbacks;
|
||||
using Core.DI;
|
||||
using Core.Models.Eft.Common;
|
||||
using Core.Models.Eft.ItemEvent;
|
||||
using Core.Models.Eft.Quests;
|
||||
using ILogger = Core.Models.Utils.ILogger;
|
||||
|
||||
namespace Core.Routers.ItemEvents;
|
||||
|
||||
[Injectable(InjectableTypeOverride = typeof(ItemEventRouterDefinition))]
|
||||
public class QuestItemEventRouter : ItemEventRouterDefinition
|
||||
{
|
||||
protected QuestCallbacks _questCallbacks;
|
||||
|
||||
public QuestItemEventRouter
|
||||
(
|
||||
QuestCallbacks questCallbacks
|
||||
)
|
||||
{
|
||||
_questCallbacks = questCallbacks;
|
||||
}
|
||||
|
||||
protected override List<HandledRoute> GetHandledRoutes()
|
||||
{
|
||||
return new()
|
||||
{
|
||||
new HandledRoute("QuestAccept", false),
|
||||
new HandledRoute("QuestComplete", false),
|
||||
new HandledRoute("QuestHandover", false),
|
||||
new HandledRoute("RepeatableQuestChange", false)
|
||||
};
|
||||
}
|
||||
|
||||
public override object HandleItemEvent(string url, PmcData pmcData, object body, string sessionID, ItemEventRouterResponse output)
|
||||
{
|
||||
switch (url) {
|
||||
case "QuestAccept":
|
||||
return _questCallbacks.AcceptQuest(pmcData, body as AcceptQuestRequestData, sessionID);
|
||||
case "QuestComplete":
|
||||
return _questCallbacks.CompleteQuest(pmcData, body as CompleteQuestRequestData, sessionID);
|
||||
case "QuestHandover":
|
||||
return _questCallbacks.HandoverQuest(pmcData, body as HandoverQuestRequestData, sessionID);
|
||||
case "RepeatableQuestChange":
|
||||
return _questCallbacks.ChangeRepeatableQuest(pmcData, body as RepeatableQuestChangeRequest, sessionID);
|
||||
default:
|
||||
throw new Exception($"QuestItemEventRouter being used when it cant handle route {url}");
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,46 @@
|
||||
using Core.Annotations;
|
||||
using Core.Callbacks;
|
||||
using Core.DI;
|
||||
using Core.Models.Eft.Common;
|
||||
using Core.Models.Eft.ItemEvent;
|
||||
using Core.Models.Eft.Ragfair;
|
||||
|
||||
namespace Core.Routers.ItemEvents;
|
||||
|
||||
[Injectable(InjectableTypeOverride = typeof(ItemEventRouterDefinition))]
|
||||
public class RagfairItemEventRouter : ItemEventRouterDefinition
|
||||
{
|
||||
protected RagfairCallbacks _ragfairCallbacks;
|
||||
|
||||
public RagfairItemEventRouter
|
||||
(
|
||||
RagfairCallbacks ragfairCallbacks
|
||||
)
|
||||
{
|
||||
_ragfairCallbacks = ragfairCallbacks;
|
||||
}
|
||||
|
||||
protected override List<HandledRoute> GetHandledRoutes()
|
||||
{
|
||||
return new()
|
||||
{
|
||||
new HandledRoute("RagFairAddOffer", false),
|
||||
new HandledRoute("RagFairRemoveOffer", false),
|
||||
new HandledRoute("RagFairRenewOffer", false),
|
||||
};
|
||||
}
|
||||
|
||||
public override object HandleItemEvent(string url, PmcData pmcData, object body, string sessionID, ItemEventRouterResponse output)
|
||||
{
|
||||
switch (url) {
|
||||
case "RagFairAddOffer":
|
||||
return _ragfairCallbacks.AddOffer(pmcData, body as AddOfferRequestData, sessionID);
|
||||
case "RagFairRemoveOffer":
|
||||
return _ragfairCallbacks.RemoveOffer(pmcData, body as RemoveOfferRequestData, sessionID);
|
||||
case "RagFairRenewOffer":
|
||||
return _ragfairCallbacks.ExtendOffer(pmcData, body as ExtendOfferRequestData, sessionID);
|
||||
default:
|
||||
throw new Exception($"CustomizationItemEventRouter being used when it cant handle route {url}");
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,43 @@
|
||||
using Core.Annotations;
|
||||
using Core.Callbacks;
|
||||
using Core.DI;
|
||||
using Core.Models.Eft.Common;
|
||||
using Core.Models.Eft.ItemEvent;
|
||||
using Core.Models.Eft.Repair;
|
||||
|
||||
namespace Core.Routers.ItemEvents;
|
||||
|
||||
[Injectable(InjectableTypeOverride = typeof(ItemEventRouterDefinition))]
|
||||
public class RepairItemEventRouter : ItemEventRouterDefinition
|
||||
{
|
||||
protected RepairCallbacks _repairCallbacks;
|
||||
|
||||
public RepairItemEventRouter
|
||||
(
|
||||
RepairCallbacks repairCallbacks
|
||||
)
|
||||
{
|
||||
_repairCallbacks = repairCallbacks;
|
||||
}
|
||||
|
||||
protected override List<HandledRoute> GetHandledRoutes()
|
||||
{
|
||||
return new()
|
||||
{
|
||||
new HandledRoute("Repair", false),
|
||||
new HandledRoute("TraderRepair", false)
|
||||
};
|
||||
}
|
||||
|
||||
public override object HandleItemEvent(string url, PmcData pmcData, object body, string sessionID, ItemEventRouterResponse output)
|
||||
{
|
||||
switch (url) {
|
||||
case "Repair":
|
||||
return _repairCallbacks.Repair(pmcData, body as RepairActionDataRequest, sessionID);
|
||||
case "TraderRepair":
|
||||
return _repairCallbacks.TraderRepair(pmcData, body as TraderRepairActionDataRequest, sessionID);
|
||||
default:
|
||||
throw new Exception($"RepairItemEventRouter being used when it cant handle route {url}");
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,46 @@
|
||||
using Core.Annotations;
|
||||
using Core.Callbacks;
|
||||
using Core.DI;
|
||||
using Core.Models.Eft.Common;
|
||||
using Core.Models.Eft.ItemEvent;
|
||||
using Core.Models.Eft.Trade;
|
||||
|
||||
namespace Core.Routers.ItemEvents;
|
||||
|
||||
[Injectable(InjectableTypeOverride = typeof(ItemEventRouterDefinition))]
|
||||
public class TradeItemEventRouter : ItemEventRouterDefinition
|
||||
{
|
||||
protected TradeCallbacks _tradeCallbacks;
|
||||
|
||||
public TradeItemEventRouter
|
||||
(
|
||||
TradeCallbacks tradeCallbacks
|
||||
)
|
||||
{
|
||||
_tradeCallbacks = tradeCallbacks;
|
||||
}
|
||||
|
||||
protected override List<HandledRoute> GetHandledRoutes()
|
||||
{
|
||||
return new()
|
||||
{
|
||||
new HandledRoute("TradingConfirm", false),
|
||||
new HandledRoute("RagFairBuyOffer", false),
|
||||
new HandledRoute("SellAllFromSavage", false)
|
||||
};
|
||||
}
|
||||
|
||||
public override object HandleItemEvent(string url, PmcData pmcData, object body, string sessionID, ItemEventRouterResponse output)
|
||||
{
|
||||
switch (url) {
|
||||
case "TradingConfirm":
|
||||
return _tradeCallbacks.ProcessTrade(pmcData, body as ProcessBaseTradeRequestData, sessionID);
|
||||
case "RagFairBuyOffer":
|
||||
return _tradeCallbacks.ProcessRagfairTrade(pmcData, body as ProcessRagfairTradeRequestData, sessionID);
|
||||
case "SellAllFromSavage":
|
||||
return _tradeCallbacks.SellAllFromSavage(pmcData, body as SellScavItemsToFenceRequestData, sessionID);
|
||||
default:
|
||||
throw new Exception($"TradeItemEventRouter being used when it cant handle route {url}");
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,47 @@
|
||||
using Core.Annotations;
|
||||
using Core.Callbacks;
|
||||
using Core.DI;
|
||||
using Core.Models.Eft.Common;
|
||||
using Core.Models.Eft.ItemEvent;
|
||||
using Core.Models.Eft.Wishlist;
|
||||
|
||||
namespace Core.Routers.ItemEvents;
|
||||
|
||||
[Injectable(InjectableTypeOverride = typeof(ItemEventRouterDefinition))]
|
||||
public class WishlistItemEventRouter : ItemEventRouterDefinition
|
||||
{
|
||||
protected WishlistCallbacks _wishlistCallbacks;
|
||||
|
||||
public WishlistItemEventRouter
|
||||
(
|
||||
WishlistCallbacks wishlistCallbacks
|
||||
)
|
||||
{
|
||||
_wishlistCallbacks = wishlistCallbacks;
|
||||
}
|
||||
|
||||
protected override List<HandledRoute> GetHandledRoutes()
|
||||
{
|
||||
return new()
|
||||
{
|
||||
new HandledRoute("AddToWishList", false),
|
||||
new HandledRoute("RemoveFromWishList", false),
|
||||
new HandledRoute("ChangeWishlistItemCategory", false)
|
||||
};
|
||||
}
|
||||
|
||||
public override object HandleItemEvent(string url, PmcData pmcData, object body, string sessionID, ItemEventRouterResponse output)
|
||||
{
|
||||
switch (url)
|
||||
{
|
||||
case "AddToWishList":
|
||||
return _wishlistCallbacks.AddToWishlist(pmcData, body as AddToWishlistRequest, sessionID);
|
||||
case "RemoveFromWishList":
|
||||
return _wishlistCallbacks.RemoveFromWishlist(pmcData, body as RemoveFromWishlistRequest, sessionID);
|
||||
case "ChangeWishlistItemCategory":
|
||||
return _wishlistCallbacks.ChangeWishlistItemCategory(pmcData, body as ChangeWishlistItemCategoryRequest, sessionID);
|
||||
default:
|
||||
throw new Exception($"CustomizationItemEventRouter being used when it cant handle route {url}");
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,6 @@
|
||||
namespace Core.Routers.Serializers;
|
||||
|
||||
public class BundleSerializer
|
||||
{
|
||||
|
||||
}
|
||||
@@ -0,0 +1,6 @@
|
||||
namespace Core.Routers.Serializers;
|
||||
|
||||
public class NotifySerializer
|
||||
{
|
||||
|
||||
}
|
||||
@@ -0,0 +1,88 @@
|
||||
using Core.Annotations;
|
||||
using Core.Callbacks;
|
||||
using Core.DI;
|
||||
using Core.Models.Eft.Common;
|
||||
using Core.Models.Eft.Ragfair;
|
||||
using Core.Utils;
|
||||
|
||||
namespace Core.Routers.Static;
|
||||
|
||||
[Injectable(InjectableTypeOverride = typeof(StaticRouter))]
|
||||
public class RagfairStaticRouter : StaticRouter
|
||||
{
|
||||
protected static RagfairCallbacks _ragfairCallbacks;
|
||||
|
||||
public RagfairStaticRouter(
|
||||
JsonUtil jsonUtil,
|
||||
RagfairCallbacks ragfairCallbacks
|
||||
) : base(
|
||||
jsonUtil,
|
||||
[
|
||||
new RouteAction(
|
||||
"/client/ragfair/search",
|
||||
(
|
||||
url,
|
||||
info,
|
||||
sessionID,
|
||||
output
|
||||
) => _ragfairCallbacks.Search(url, info as SearchRequestData, sessionID),
|
||||
typeof(SearchRequestData)),
|
||||
new RouteAction(
|
||||
"/client/ragfair/find",
|
||||
(
|
||||
url,
|
||||
info,
|
||||
sessionID,
|
||||
output
|
||||
) => _ragfairCallbacks.Search(url, info as SearchRequestData, sessionID),
|
||||
typeof(SearchRequestData)),
|
||||
new RouteAction(
|
||||
"/client/ragfair/itemMarketPrice",
|
||||
(
|
||||
url,
|
||||
info,
|
||||
sessionID,
|
||||
output
|
||||
) => _ragfairCallbacks.GetMarketPrice(url, info as GetMarketPriceRequestData, sessionID),
|
||||
typeof(GetMarketPriceRequestData)),
|
||||
new RouteAction(
|
||||
"/client/ragfair/offerfees",
|
||||
(
|
||||
url,
|
||||
info,
|
||||
sessionID,
|
||||
output
|
||||
) => _ragfairCallbacks.StorePlayerOfferTaxAmount(url, info as StorePlayerOfferTaxAmountRequestData, sessionID),
|
||||
typeof(StorePlayerOfferTaxAmountRequestData)),
|
||||
new RouteAction(
|
||||
"/client/reports/ragfair/send",
|
||||
(
|
||||
url,
|
||||
info,
|
||||
sessionID,
|
||||
output
|
||||
) => _ragfairCallbacks.SendReport(url, info as SendRagfairReportRequestData, sessionID),
|
||||
typeof(SendRagfairReportRequestData)),
|
||||
new RouteAction(
|
||||
"/client/items/prices",
|
||||
(
|
||||
url,
|
||||
info,
|
||||
sessionID,
|
||||
output
|
||||
) => _ragfairCallbacks.GetFleaPrices(url, info as EmptyRequestData, sessionID)),
|
||||
new RouteAction(
|
||||
"/client/ragfair/offer/findbyid",
|
||||
(
|
||||
url,
|
||||
info,
|
||||
sessionID,
|
||||
output
|
||||
) => _ragfairCallbacks.GetFleaOfferById(url, info as GetRagfairOfferByIdRequest, sessionID),
|
||||
typeof(GetRagfairOfferByIdRequest))
|
||||
]
|
||||
)
|
||||
{
|
||||
_ragfairCallbacks = ragfairCallbacks;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,41 @@
|
||||
using Core.Annotations;
|
||||
using Core.Callbacks;
|
||||
using Core.DI;
|
||||
using Core.Models.Eft.Common;
|
||||
using Core.Utils;
|
||||
|
||||
namespace Core.Routers.Static;
|
||||
|
||||
[Injectable(InjectableTypeOverride = typeof(StaticRouter))]
|
||||
public class WeatherStaticRouter : StaticRouter
|
||||
{
|
||||
protected static WeatherCallbacks _weatherCallbacks;
|
||||
|
||||
public WeatherStaticRouter(
|
||||
JsonUtil jsonUtil,
|
||||
WeatherCallbacks weatherCallbacks
|
||||
) : base(
|
||||
jsonUtil,
|
||||
[
|
||||
new RouteAction(
|
||||
"",
|
||||
(
|
||||
url,
|
||||
info,
|
||||
sessionID,
|
||||
output
|
||||
) => _weatherCallbacks.GetWeather(url, info as EmptyRequestData, sessionID)),
|
||||
new RouteAction(
|
||||
"",
|
||||
(
|
||||
url,
|
||||
info,
|
||||
sessionID,
|
||||
output
|
||||
) => _weatherCallbacks.GetLocalWeather(url, info as EmptyRequestData, sessionID)),
|
||||
]
|
||||
)
|
||||
{
|
||||
_weatherCallbacks = weatherCallbacks;
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user