public void HandleRequest(IRequest request) { var researchKitDefinition = request.Data.GetOrDefault <int>(k.definition); var targetDefinition = request.Data.GetOrDefault <int>(k.target); var facilityEid = request.Data.GetOrDefault <long>(k.facility); var character = request.Session.Character; var researchLab = _productionManager.GetFacility <ResearchLab>(facilityEid); researchLab.IsOpen.ThrowIfFalse(ErrorCodes.FacilityClosed); var replyDict = researchLab.ResearchQuery(character, researchKitDefinition, targetDefinition); Message.Builder.FromRequest(request).WithData(replyDict).Send(); }
public void HandleRequest(IRequest request) { var definition = request.Data.GetOrDefault <int>(k.definition); var amount = request.Data.GetOrDefault <int>(k.amount); var facilityEid = request.Data.GetOrDefault <long>(k.facility); var character = request.Session.Character; amount = amount.Clamp(0, 1000000); _productionManager.ProductionProcessor.CheckTargetDefinitionAndThrowIfFailed(definition); var refinery = _productionManager.GetFacility <Refinery>(facilityEid); refinery.IsOpen.ThrowIfFalse(ErrorCodes.FacilityClosed); var replyDict = _productionManager.ProductionProcessor.RefineQuery(refinery, character, definition, amount); Message.Builder.FromRequest(request).WithData(replyDict).Send(); }