Esempio n. 1
0
        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();
        }
Esempio n. 2
0
        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();
        }