public IActionResult GetUnlockCraftingSlot(int slot)
        {
            string authtoken = User.FindFirstValue(ClaimTypes.NameIdentifier);

            var returnUpdates = CraftingUtils.UnlockCraftingSlot(authtoken, slot);

            return(Content(JsonConvert.SerializeObject(returnUpdates), "application/json"));
        }
Beispiel #2
0
        public override InputAction[] GetInputOptions(ShopAgent agent)
        {
            var toReturn = new List <InputAction>();

            toReturn.AddRange(EconomySystemUtils.GetStateInput <RequestActions>());
            toReturn.AddRange(EconomySystemUtils.GetStateInput(CraftingUtils.GetCraftingResources()));
            return(toReturn.ToArray());
        }
        public IActionResult GetCollectCraftingItems(int slot)
        {
            string authtoken = User.FindFirstValue(ClaimTypes.NameIdentifier);

            var returnUpdates = CraftingUtils.FinishCraftingJob(authtoken, slot);

            return(Content(JsonConvert.SerializeObject(returnUpdates), "application/json"));
            //return Accepted(Content(returnTokens, "application/json"));
        }
        public IActionResult GetCraftingStatus(int slot)
        {
            string authtoken = User.FindFirstValue(ClaimTypes.NameIdentifier);

            var craftingStatus = CraftingUtils.GetCraftingJobInfo(authtoken, slot);

            return(Content(JsonConvert.SerializeObject(craftingStatus), "application/json"));
            //return Accepted(Content(returnTokens, "application/json"));
        }
Beispiel #5
0
        public void Craft_CraftingUtils()
        {
            List <CraftingResources> listCraftingResources = CraftingUtils.GetCraftingResources();

            Assert.AreEqual(4, listCraftingResources.Count);
            Assert.Contains(CraftingResources.Wood, listCraftingResources);
            Assert.Contains(CraftingResources.Metal, listCraftingResources);
            Assert.Contains(CraftingResources.Gem, listCraftingResources);
            Assert.Contains(CraftingResources.DragonScale, listCraftingResources);
        }
Beispiel #6
0
        protected override void MakeChoice(ShopAgent agent, int input)
        {
            var resources = CraftingUtils.GetCraftingResources();

            if (input < resources.Count)
            {
                var craftingResources = resources[input];
                MakeChoice(agent, craftingResources);
            }
        }
Beispiel #7
0
        public float[] GetSenses()
        {
            var resources  = CraftingUtils.GetCraftingResources();
            var outputSize = resources.Count * TakenCraftingResourceRequest.SensorCount;
            var output     = new float[outputSize];

            for (var i = 0; i < resources.Count; i++)
            {
                var senses = TakenCraftingResourceRequest.GetSenses(_currentRequestData, resources[i]);
                for (var j = 0; j < senses.Length; j++)
                {
                    var index = i * TakenCraftingResourceRequest.SensorCount + j;
                    output[index] = senses[j];
                }
            }

            return(output);
        }
        // Start is called before the first frame update
        protected override List <CraftingResourceUi> GetItemList()
        {
            if (CraftsmanAgent)
            {
                var items     = new List <CraftingResourceUi>();
                var resources = CraftingUtils.GetCraftingResources();
                foreach (var resource in resources)
                {
                    var    inventoryNumber = CraftsmanAgent.craftingInventory.GetResourceNumber(resource);
                    Sprite iconImage       = requestShopSystem.system.requestSystem.GetIconByResource(resource);

                    var resourceUi = new CraftingResourceUi(resource, inventoryNumber, iconImage);
                    items.Add(resourceUi);
                }
                return(items);
            }
            return(null);
        }
        public async Task <IActionResult> PostNewCraftingJob(int slot)
        {
            string authtoken = User.FindFirstValue(ClaimTypes.NameIdentifier);

            var stream = new StreamReader(Request.Body);
            var body   = await stream.ReadToEndAsync();

            var req = JsonConvert.DeserializeObject <CraftingRequest>(body);

            var craftingJob = CraftingUtils.StartCraftingJob(authtoken, slot, req);


            var updateResponse = new CraftingUpdates {
                updates = new Updates()
            };

            var nextStreamId = GenericUtils.GetNextStreamVersion();

            updateResponse.updates.crafting  = nextStreamId;
            updateResponse.updates.inventory = nextStreamId;

            return(Content(JsonConvert.SerializeObject(updateResponse), "application/json"));
            //return Accepted(Content(returnUpdates, "application/json"));
        }