public void SetNextPurchaseCost(GameObject tower) { if (tower != null) { if (tower.GetComponent <TowerController>().GetTowerType() == "tower_fire") { nextUpgradeCost.text = CostTemplate.GetCost("tower_fire_2").ToString(); } else if (tower.GetComponent <TowerController>().GetTowerType() == "tower_fire_2") { nextUpgradeCost.text = CostTemplate.GetCost("tower_fire_3").ToString(); } else if (tower.GetComponent <TowerController>().GetTowerType() == "tower_ice") { nextUpgradeCost.text = CostTemplate.GetCost("tower_ice_2").ToString(); } else if (tower.GetComponent <TowerController>().GetTowerType() == "tower_ice_2") { nextUpgradeCost.text = CostTemplate.GetCost("tower_ice_3").ToString(); } else if (tower.GetComponent <TowerController>().GetTowerType() == "tower_nature") { nextUpgradeCost.text = CostTemplate.GetCost("tower_nature_2").ToString(); } else if (tower.GetComponent <TowerController>().GetTowerType() == "tower_nature_2") { nextUpgradeCost.text = CostTemplate.GetCost("tower_nature_3").ToString(); } else { nextUpgradeCost.text = ""; } } }
public async Task UpdateCostForm() { var result = await CreateCostEntity(User); var updateModel = new UpdateCostFormModel { FormDefinitionId = CostTemplate.GetLatestVersion().Forms.First().Id, CostFormDetails = new CostFormDetailsModel { Data = new Dictionary <string, dynamic> { ["testFieldOne"] = "test", ["section"] = new { sectionOne = "test" }, ["name"] = "name", } } }; var updatedResult = await Browser.Patch($"/v1/costs/{result.Id}", w => { w.User(User); w.JsonBody(updateModel); }); var updateResponse = Deserialize <OperationResponse>(updatedResult, HttpStatusCode.OK); updateResponse.Success.Should().BeTrue(); }
public ActionResult GetCostTemplate() { CostTemplate costTemplate = new CostTemplate(); costTemplate.Imprints = _context.Imprint.ToList(); costTemplate.RoyaltyTemplats = _context.RoyaltyTemplates.ToList(); costTemplate.SalesTemplates = _context.SalesTemplates.ToList(); return(Ok(costTemplate)); }
public void PlaceTower() { //Can a base tower be purchased //if true it buys it right away. //Checks if already purchased if (!towerSpawner.GetSpawnAble()) { if (GameController.Purchase(CostTemplate.GetCost("tower_base"))) { towerSpawner.SetSpawnable(); } else { //GUI Status Text guiStatusText.text = "You don't have enough gold to purchase that."; } } else { guiStatusText.text = "A tower is already purchased and ready to be placed."; } }
//Tower upgrades if an elemental tower already exists public void UpgradeFromElement(int type) { if (towerSelected != null) { Vector3 pos = towerSelected.transform.position; NodeV2 parentNode = towerSelected.GetComponentInParent <NodeV2>(); if (type == 0) { // //Fire Tower Upgrades // if (towerSelected.GetComponent <TowerController>().GetTowerType() == "tower_fire") { if (GameController.Purchase(CostTemplate.GetCost("tower_fire_2"))) { parentNode.ReplaceTower(); GameObject newTower = Instantiate(towers["tower_fire_2"], pos, Quaternion.identity) as GameObject; parentNode.SetTowerObject(newTower); towerSelected = newTower; newTower.transform.parent = parentNode.transform; towerSelected.GetComponent <Outline>().enabled = true; nextUpgradeCost.text = CostTemplate.GetCost("tower_fire_3").ToString(); selectedTowerStatus.text = towerSelected.GetComponent <TowerController>().formattedName; SpawnMenu(towerSelected); } else { guiStatusText.text = "Not enough money to upgrade to Fire Tower 2"; } } else if (towerSelected.GetComponent <TowerController>().GetTowerType() == "tower_fire_2") { if (GameController.Purchase(CostTemplate.GetCost("tower_fire_3"))) { parentNode.ReplaceTower(); GameObject newTower = Instantiate(towers["tower_fire_3"], pos, Quaternion.identity) as GameObject; parentNode.SetTowerObject(newTower); towerSelected = newTower; newTower.transform.parent = parentNode.transform; nextUpgradeCost.text = ""; towerSelected.GetComponent <Outline>().enabled = true; selectedTowerStatus.text = towerSelected.GetComponent <TowerController>().formattedName; SpawnMenu(towerSelected); } else { guiStatusText.text = "Not enough money to upgrade to Fire Tower 3"; } } else if (towerSelected.GetComponent <TowerController>().GetTowerType() == "tower_fire_3") { guiStatusText.text = "Cannot upgrade Fire Tower any further."; } // //END FIRE UPGRADES // // //ICE TOWER UPGRADE // else if (towerSelected.GetComponent <TowerController>().GetTowerType() == "tower_ice") { if (GameController.Purchase(CostTemplate.GetCost("tower_ice_2"))) { parentNode.ReplaceTower(); GameObject newTower = Instantiate(towers["tower_ice_2"], pos, Quaternion.identity) as GameObject; parentNode.SetTowerObject(newTower); towerSelected = newTower; newTower.transform.parent = parentNode.transform; // //Component Testing Xav // towerSelected.GetComponent <Outline>().enabled = true; nextUpgradeCost.text = CostTemplate.GetCost("tower_ice_3").ToString(); selectedTowerStatus.text = towerSelected.GetComponent <TowerController>().formattedName; SpawnMenu(towerSelected); // /// // } else { guiStatusText.text = "Not enough money to upgrade to Ice Tower 2"; } } else if (towerSelected.GetComponent <TowerController>().GetTowerType() == "tower_ice_2") { if (GameController.Purchase(CostTemplate.GetCost("tower_ice_3"))) { parentNode.ReplaceTower(); GameObject newTower = Instantiate(towers["tower_ice_3"], pos, Quaternion.identity) as GameObject; parentNode.SetTowerObject(newTower); towerSelected = newTower; newTower.transform.parent = parentNode.transform; // //Component Testing Xav // towerSelected.GetComponent <Outline>().enabled = true; nextUpgradeCost.text = ""; selectedTowerStatus.text = towerSelected.GetComponent <TowerController>().formattedName; SpawnMenu(towerSelected); // /// // } else { guiStatusText.text = "Not enough money to upgrade to Ice Tower 3"; } } else if (towerSelected.GetComponent <TowerController>().GetTowerType() == "tower_ice_3") { guiStatusText.text = "Cannot upgrade Ice Tower any further."; } // //END ICE UPGRADES // // //NATURE TOWER UPGRADES // else if (towerSelected.GetComponent <TowerController>().GetTowerType() == "tower_nature") { if (GameController.Purchase(CostTemplate.GetCost("tower_nature_2"))) { parentNode.ReplaceTower(); GameObject newTower = Instantiate(towers["tower_nature_2"], pos, Quaternion.identity) as GameObject; parentNode.SetTowerObject(newTower); towerSelected = newTower; newTower.transform.parent = parentNode.transform; // //Component Testing Xav // towerSelected.GetComponent <Outline>().enabled = true; nextUpgradeCost.text = CostTemplate.GetCost("tower_nature_3").ToString(); selectedTowerStatus.text = towerSelected.GetComponent <TowerController>().formattedName; SpawnMenu(towerSelected); // /// // } else { guiStatusText.text = "Not enough money to upgrade to Nature Tower 2"; } } else if (towerSelected.GetComponent <TowerController>().GetTowerType() == "tower_nature_2") { if (GameController.Purchase(CostTemplate.GetCost("tower_nature_3"))) { parentNode.ReplaceTower(); GameObject newTower = Instantiate(towers["tower_nature_3"], pos, Quaternion.identity) as GameObject; parentNode.SetTowerObject(newTower); towerSelected = newTower; newTower.transform.parent = parentNode.transform; // //Component Testing Xav // towerSelected.GetComponent <Outline>().enabled = true; nextUpgradeCost.text = ""; selectedTowerStatus.text = towerSelected.GetComponent <TowerController>().formattedName; SpawnMenu(towerSelected); // /// // } else { guiStatusText.text = "Not enough money to upgrade to Nature Tower 3"; } } else if (towerSelected.GetComponent <TowerController>().GetTowerType() == "tower_nature_3") { guiStatusText.text = "Cannot upgrade Nature Tower any further."; } // //END NATURE UPGRADES // } else if (type == 1) { //downgrade } else if (type == 2) { //sell tower SellTower(towerSelected, parentNode); // //Component Testing // towerSelected = null; DeSpawnMenu(); // //End Testing // } } }
public void UpgradeFromBase(int type) { if (towerSelected != null) { Vector3 pos = towerSelected.transform.position; NodeV2 parentNode = towerSelected.GetComponentInParent <NodeV2>(); switch (type) { //Purchase Fire Towers case 0: if (GameController.Purchase(CostTemplate.GetCost("tower_fire"))) { parentNode.ReplaceTower(); GameObject newTower = Instantiate(towers["tower_fire"], pos, Quaternion.identity) as GameObject; parentNode.SetTowerObject(newTower); towerSelected = newTower; newTower.transform.parent = parentNode.transform; SetNextPurchaseCost(towerSelected); DeSpawnMenu(); towerSelected.GetComponent <Outline>().enabled = true; selectedTowerStatus.text = towerSelected.GetComponent <TowerController>().formattedName; SpawnMenu(towerSelected); } else { guiStatusText.text = "Not enough money to upgrade to Fire"; } break; //ice case 1: if (GameController.Purchase(CostTemplate.GetCost("tower_ice"))) { parentNode.ReplaceTower(); GameObject newTower = Instantiate(towers["tower_ice"], pos, Quaternion.identity) as GameObject; towerSelected = newTower; parentNode.SetTowerObject(newTower); newTower.transform.parent = parentNode.transform; SetNextPurchaseCost(towerSelected); DeSpawnMenu(); towerSelected.GetComponent <Outline>().enabled = true; selectedTowerStatus.text = towerSelected.GetComponent <TowerController>().formattedName; SpawnMenu(towerSelected); } else { guiStatusText.text = "Not enough money to upgrade to Ice"; } break; //nature case 2: if (GameController.Purchase(CostTemplate.GetCost("tower_nature"))) { parentNode.ReplaceTower(); GameObject newTower = Instantiate(towers["tower_nature"], pos, Quaternion.identity) as GameObject; towerSelected = newTower; parentNode.SetTowerObject(newTower); newTower.transform.parent = parentNode.transform; SetNextPurchaseCost(towerSelected); DeSpawnMenu(); towerSelected.GetComponent <Outline>().enabled = true; selectedTowerStatus.text = towerSelected.GetComponent <TowerController>().formattedName; SpawnMenu(towerSelected); } else { guiStatusText.text = "Not enough money to upgrade to Nature"; } break; case 3: SellTower(towerSelected, parentNode); DeSpawnMenu(); break; } } }
void ChangeTowerColor(Dropdown change, GameObject selected_tower) { if (change.value == 1) { //Before changing to fire check if there is enough money in wallet //Call tower right click menu script //Hard coding values now if (GameController.Purchase(CostTemplate.GetCost("tower_fire"))) { ChangeTower(selected_tower, "fire"); } else { guiStatusText.text = "Not enough money to upgrade to Fire"; } } else if (change.value == 2) { if (GameController.Purchase(CostTemplate.GetCost("tower_ice"))) { ChangeTower(selected_tower, "ice"); } else { guiStatusText.text = "Not enough money to upgrade to Ice"; } } else if (change.value == 3) { if (GameController.Purchase(CostTemplate.GetCost("tower_nature"))) { ChangeTower(selected_tower, "nature"); } else { guiStatusText.text = "Not enough money to upgrade to Nature"; } } else if (change.value == 4) { //Sell Tower SellTower(selected_tower); guiStatusText.text = "Tower sold."; } else if (change.value == 5) { //Check if tower is a tower_base; if (selected_tower.GetComponent <TowerController>().CompareTag("Tower")) { guiStatusText.text = "Cannot downgrade base tower."; } else { GameController.SellTowerGetMoney(100); ChangeTower(selected_tower, "Base"); guiStatusText.text = "Tower downgraded."; } } else { //Default action maybe? } }
public void Setup() { _target = new CostLineItemUpdater(_efContextMock.Object, _revisionServiceMock.Object, _templateServiceMock.Object, new CostSectionFinder(), _costExchangeRateServiceMock.Object); var cost = new Cost(); var costStageRevision = new CostStageRevision() { CostLineItems = new List <CostLineItem> { new CostLineItem { } } }; var costTemplateVersion = new CostTemplateVersion(); var costTemplate = new CostTemplate(); var fieldDefinitions = new CustomFormData(); var usd = new Currency(); var euro = new Currency(); var gbp = new Currency(); cost.Id = _costId; costStageRevision.Id = _costStageRevisionId; cost.LatestCostStageRevision = costStageRevision; cost.LatestCostStageRevisionId = _costStageRevisionId; cost.CostTemplateVersion = costTemplateVersion; cost.CostTemplateVersionId = _costTemplateVersionId; costTemplateVersion.CostTemplate = costTemplate; costTemplateVersion.Id = _costTemplateVersionId; costTemplate.FieldDefinitions = fieldDefinitions; euro.Code = "EUR"; usd.Code = "USD"; gbp.Code = "GBP"; euro.Id = Guid.NewGuid(); usd.Id = _usdCurrencyId; gbp.Id = _gbpCurrencyId; var costs = new List <Cost> { cost }; _costStageRevisions = new List <CostStageRevision> { costStageRevision }; var currencies = new List <Currency> { euro, usd, gbp }; _efContextMock.MockAsyncQueryable(costs.AsQueryable(), c => c.Cost); _efContextMock.MockAsyncQueryable(_costStageRevisions.AsQueryable(), c => c.CostStageRevision); _efContextMock.MockAsyncQueryable(currencies.AsQueryable(), c => c.Currency); var stageDetails = new PgStageDetailsForm { ContentType = new core.Builders.DictionaryValue { Id = Guid.NewGuid(), Key = "Video", Value = "Video" }, CostType = dataAccess.Entity.CostType.Production.ToString(), ProductionType = new core.Builders.DictionaryValue { Id = Guid.NewGuid(), Key = "Full Production", Value = "Full Production" }, Title = "Cost Title" }; _revisionServiceMock.Setup(csr => csr.GetStageDetails <PgStageDetailsForm>(_costStageRevisionId)).ReturnsAsync(stageDetails); var costTemplateVersionModel = new CostTemplateVersionModel(); var productionDetailCollection = new List <ProductionDetailsTemplateModel>(); var productionDetails = new ProductionDetailsTemplateModel(); _form = new ProductionDetailsFormDefinitionModel { Name = FormName, Label = "Full production", ProductionType = Constants.ProductionType.FullProduction }; var section = new CostLineItemSectionTemplateModel(); var item = new CostLineItemSectionTemplateItemModel(); section.Name = SectionName; item.Name = ItemName; section.Items = new List <CostLineItemSectionTemplateItemModel> { item }; _form.CostLineItemSections = new List <CostLineItemSectionTemplateModel> { section }; productionDetails.Forms = new List <ProductionDetailsFormDefinitionModel> { _form }; productionDetails.Type = "Video"; productionDetailCollection.Add(productionDetails); costTemplateVersionModel.ProductionDetails = productionDetailCollection; _templateServiceMock.Setup(ts => ts.GetCostTemplateVersionModel(It.IsAny <Guid>())).ReturnsAsync(costTemplateVersionModel); _userIdentity = new UserIdentity { Id = _userId, IpAddress = "127.0.0.1" }; var expectedExchangeRates = new List <ExchangeRate>() { new ExchangeRate { FromCurrency = _usdCurrencyId, Rate = 1 }, }; _costExchangeRateServiceMock.Setup(cer => cer.GetExchangeRatesByDefaultCurrency(It.IsAny <Guid>())) .ReturnsAsync(expectedExchangeRates); }
public void Setup() { _target = new CostCurrencyUpdater(_efContextMock.Object, _revisionServiceMock.Object); var costTemplateVersion = new CostTemplateVersion(); var costTemplate = new CostTemplate(); var fieldDefinitions = new CustomFormData(); var usd = new Currency(); var euro = new Currency(); _cost.Id = _costId; _costStageRevision.Id = _costStageRevisionId; _costStageRevision.StageDetailsId = Guid.NewGuid(); _cost.LatestCostStageRevision = _costStageRevision; _cost.LatestCostStageRevisionId = _costStageRevisionId; _cost.CostTemplateVersion = costTemplateVersion; _cost.CostTemplateVersionId = _costTemplateVersionId; costTemplateVersion.CostTemplate = costTemplate; costTemplateVersion.Id = _costTemplateVersionId; costTemplate.FieldDefinitions = fieldDefinitions; euro.Code = "EUR"; usd.Code = "USD"; euro.Id = Guid.NewGuid(); usd.Id = Guid.NewGuid(); var customFormData = "{\"costNumber\":\"AC1489594599188\",\"isAIPE\":false,\"projectId\":\"58c968410c885409aca51028\",\"title\":\"Full Prod\",\"description\":\"58c968410c885409aca51028\",\"contentType\":{\"id\":\"17cc6250-099a-11e7-84b7-1bf5c65c8e1a\",\"name\":\"Video\"},\"productionType\":{\"id\":\"17bec46a-099a-11e7-84b2-137a2ddbf0ee\",\"name\":\"Full Production\"},\"agencyProducer\":[\"Agency Producer 1\"],\"initialBudget\":1231231,\"budgetRegionId\":\"0f701f02-099a-11e7-945b-4b7e51cf96b3\",\"budgetRegion\":\"GREATER CHINA AREA\",\"organisation\":\"Other\",\"agencyCurrency\":\"USD\",\"campaign\":\"ad58c968410c885409aca51028\",\"agencyTrackingNumber\":\"58c968410c885409aca51028\"}"; _stageFormData.Data = customFormData; _stageFormData.Id = _costStageRevision.StageDetailsId; var costs = new List <Cost> { _cost }; var costStageRevisions = new List <CostStageRevision> { _costStageRevision }; var currencies = new List <Currency> { euro, usd }; _efContextMock.MockAsyncQueryable(costs.AsQueryable(), c => c.Cost); _efContextMock.MockAsyncQueryable(costStageRevisions.AsQueryable(), c => c.CostStageRevision); _efContextMock.MockAsyncQueryable(currencies.AsQueryable(), c => c.Currency); _efContextMock.MockAsyncQueryable(new[] { _stageFormData }.AsQueryable(), d => d.CustomFormData); _stageDetails.ContentType = new core.Builders.DictionaryValue { Id = Guid.NewGuid(), Key = "Video", Value = "Video" }; _stageDetails.CostType = CostType.Production.ToString(); _stageDetails.ProductionType = new core.Builders.DictionaryValue { Id = Guid.NewGuid(), Key = "Production", Value = "Production" }; _stageDetails.Title = "Cost Title"; _revisionServiceMock.Setup(csr => csr.GetStageDetails <PgStageDetailsForm>(_costStageRevisionId)).ReturnsAsync(_stageDetails); _revisionServiceMock.Setup(csr => csr.GetProductionDetails <PgProductionDetailsForm>(_costStageRevisionId)).ReturnsAsync(_productionDetails); }