public void initUpgrades(UpgradeTypes upgradeTypes) { foreach (UpgradeTypes.UpgradeEnum upgradeEnum in Enum.GetValues(typeof(UpgradeTypes.UpgradeEnum))) { gameData.upgradeGameData.upgradePool.Add(upgradeTypes.getUpgradeFromEnum(upgradeEnum)); } }
/// <summary> /// Является ли указанный уровень последним /// </summary> /// <param name="type">Тип улучшения</param> /// <param name="lvl">Уровень улучшения, который надо проверить</param> public static bool IsLastLvl(UpgradeTypes type, int lvl) { if (m_UpgradesData.ContainsKey(type)) { return(m_UpgradesData[type].IsLastLvl(lvl)); } return(true); }
/// <summary> /// Получить параметр улучшения для указанного уровня (для слотов - кол-во слотов) /// </summary> /// <param name="type">Тип улучшения</param> /// <param name="lvl">Уровень, </param> public static int GetValueForLevel(UpgradeTypes type, int lvl) { if (m_UpgradesData.ContainsKey(type)) { return(m_UpgradesData[type].GetValueForLevel(lvl)); } return(1); }
private void Start() { _gameManager = GameManager.currentManager; //shopCustomer = _gameManager.getCustomer(shopCustomer); //registers player as shopper CreateItemButton(UpgradeTypes.ItemType.Nutrient, UpgradeTypes.GetSprite(UpgradeTypes.ItemType.Nutrient), "Nutrient", UpgradeTypes.GetCost(UpgradeTypes.ItemType.Nutrient), 0); //CreateItemButton(UpgradeTypes.ItemType.Expansion, UpgradeTypes.GetSprite(UpgradeTypes.ItemType.Expansion), "Expansion", UpgradeTypes.GetCost(UpgradeTypes.ItemType.Expansion), 2); Hide(); }
public void BuyAutoPilot(GameObject menuItem) { UpgradeTypes itemType = menuItem.GetComponent <GUIMenuItem> ().type; if (instance.allUpgrades.ContainsKey(itemType)) { Upgrade upgrade = instance.allUpgrades[itemType]; instance.speed.autoPilotTimeLeft += upgrade.baseValue; instance.speed.points -= upgrade.GetCost(); instance.AutoPilotText.UpdateText(); } }
private void TryBuyItems(UpgradeTypes.ItemType itemType) { if (NutrientManager.currentNutrientManager.TrySpendSugarAmount(UpgradeTypes.GetCost(itemType))) { shopCustomer.BoughtItem(itemType); } else { Debug.Log("cannot afford upgrade"); //add warning if can't afford } }
private Action CreateUpgradeButtonAction(UpgradeTypes upgradeType, int upgradeCost) { Action buttonAction = () => { if (UpgradeInfoInstance.PulseAnimation.IsPlaying()) { UpgradeInfoInstance.PulseAnimation.Stop(); } OnUpgradeAction(structureShown, upgradeType, upgradeCost); }; return(buttonAction); }
public void startNewRun(UpgradeTypes upgradeTypes, CardTypes cardTypes) { deckService.initDeck(cardTypes); playerService.initialize(); upgradeService.initUpgrades(upgradeTypes); enemyManagerService.initializeFights(); EventTypes eventTypes = new EventTypes(eventManagerService, playerService); eventManagerService.initializeEvents(eventTypes); startFight(); }
/// <summary> /// Получить количество шагов до следующего уровня улучшения /// </summary> /// <param name="type">Тип улучшения</param> /// <param name="curLvl">Текущий уровень улучшения</param> public static int GetStepsToNext(UpgradeTypes type, int curLvl) { if (m_UpgradesData.ContainsKey(type)) { Upgrade upgrade = m_UpgradesData[type]; if (!upgrade.IsLastLvl(curLvl)) { return(upgrade.GetStepsToNext(curLvl)); } } return(0); }
void UpdateAutoPilotItems() { foreach (GameObject menuItem in menuItems) { UpgradeTypes itemType = menuItem.GetComponent <GUIMenuItem> ().type;; Upgrade upgrade = allUpgrades[itemType]; Text[] comps = menuItem.GetComponentsInChildren <Text>(); Text txt = comps[2]; txt.color = Color.magenta; double cost = upgrade.GetCost(); string unit = ""; UnitsConverter.Convert(ref cost, ref unit); txt.text = "$ " + cost.ToString("f" + priceDecimals) + unit; txt = comps[3]; } }
public TavernUpgrade(Buildings.Tavern target, UpgradeTypes upgrade, Check OverrideTimeToBuild = null) { TargetTavern = target; MyType = upgrade; if (OverrideTimeToBuild == null) { TimeToBuild = new Check(TimeKeeper.Phase.Morning); } else { TimeToBuild = OverrideTimeToBuild; } Start(TimeToBuild, target); }
public void PurchaseUpgrade(UpgradeTypes _upgradeType, int _price) { Game.GameCoins -= _price; audioSource.Play (); switch (_upgradeType) { case UpgradeTypes.TURN: Game.GetSelf().UpgradeTurn(); break; case UpgradeTypes.FOOD: Game.GetSelf().UpgradeFood(); break; case UpgradeTypes.COINS: Game.GetSelf().UpgradeCoin(); break; } Game.Save (); }
void CheckIfCanBuy() { foreach (GameObject menuItem in menuItems) { UpgradeTypes itemType = menuItem.GetComponent <GUIMenuItem> ().type; if (ownedUpgrades.ContainsKey(itemType)) { if (ownedUpgrades [itemType].GetCost() <= speed.points) { //enable in list if (!menuItem.GetComponent <Selectable> ().IsInteractable()) { menuItem.GetComponent <Selectable> ().interactable = true; } } else { //disable in list if (menuItem.GetComponent <Selectable> ().IsInteractable()) { menuItem.GetComponent <Selectable> ().interactable = false; } } } else { if (allUpgrades [itemType].GetCost() <= speed.points) { //enable in list if (!menuItem.GetComponent <Selectable> ().IsInteractable()) { menuItem.GetComponent <Selectable> ().interactable = true; } } else { //disable in list if (menuItem.GetComponent <Selectable> ().IsInteractable()) { menuItem.GetComponent <Selectable> ().interactable = false; } } } } }
/// <summary> /// Handle for updating the ships upgrades /// </summary> /// <param name="upgradeType">The upgrade that will be updated</param> /// <param name="isEnabled">Should enable or disable this upgrade</param> /// <param name="powerLevel">The power of the upgrade to use</param> void HandleUpgradesUpdatedEvent(UpgradeTypes upgradeType, bool isEnabled, int powerLevel) { // Update the correct upgrade switch (upgradeType) { case UpgradeTypes.Health: ToggleHealthUpgrade(isEnabled, powerLevel); break; case UpgradeTypes.Speed: ToggleSpeedUpgrade(isEnabled, powerLevel); break; case UpgradeTypes.Weapons: ToggleWeaponsUpgrade(isEnabled, powerLevel); break; } }
public void BuyAndLevelUpAllUpgrades() { foreach (GameObject menuItem in menuItems) { UpgradeTypes itemType = menuItem.GetComponent <GUIMenuItem> ().type; if (itemType == UpgradeTypes.AutoPilot1h || itemType == UpgradeTypes.AutoPilot6h || itemType == UpgradeTypes.AutoPilot12h || itemType == UpgradeTypes.AutoPilot3d || itemType == UpgradeTypes.AutoPilot1w) { continue; } else { for (int i = 0; i < 5; i++) { BuyUpgrade(menuItem); } } } }
public void RepairAll() { AudioManager.Instance.AudioSources["Tap"].Play(); instance.totalRepairPrice = 0; instance.totalHealth = 0; instance.totalMaxHealth = 0; foreach (GameObject menuItem in instance.menuItems) { if (menuItem == null) { break; } UpgradeTypes itemType = menuItem.GetComponent <GUIMenuItem>().type; Upgrade ownedUpgrade = instance.upgrades.GetOwnedUpgrade(itemType); instance.speed.points -= ownedUpgrade.GetRepairCost(); instance.upgradesController.RepairUpgrade(itemType); double repairCost = ownedUpgrade.GetRepairCost(); float health = ownedUpgrade.health; float maxHealth = ownedUpgrade.GetCurrentLevelHealth(); instance.totalRepairPrice += repairCost; instance.totalHealth += health; instance.totalMaxHealth += ownedUpgrade.GetCurrentLevelHealth(); Text[] comps = menuItem.GetComponentsInChildren <Text>(); Text txt = comps[1]; double hvalue = (double)health; double mhvalue = (double)maxHealth; string hunit = ""; string mhunit = ""; UnitsConverter.Convert(ref hvalue, ref hunit); UnitsConverter.Convert(ref mhvalue, ref mhunit); txt.text = "Health: " + hvalue.ToString("f" + instance.healthDecimals) + hunit + "/" + mhvalue.ToString("f" + instance.healthDecimals) + mhunit; txt = comps[2]; string runit = ""; UnitsConverter.Convert(ref repairCost, ref runit); txt.text = "Repair: $" + repairCost.ToString("f" + instance.priceDecimals) + runit; } }
private void SearchBox_TextChanged(object sender, TextChangedEventArgs e) { var upgradeTypesItem = PivotMain.Items.Cast <FilteredUpgradeDisplay>(); if (!upgradeTypesItem.Any(x => x.Name == "Search Results")) { UpgradeTypes.Add(new UpgradeSearchResults(this.Pilot, (Template10.Common.BootStrapper.Current.SessionState["State"] as IXWingSessionState).XWingRepository)); } var searchtab = UpgradeTypes.Single(x => x as UpgradeSearchResults != null) as UpgradeSearchResults; if (SearchBox.Text == string.Empty) { UpgradeTypes.Remove(searchtab); } else { searchtab.SetSearchQuery(SearchBox.Text); PivotMain.SelectedItem = searchtab; } }
public void UpdateMenu() { foreach (GameObject menuItem in menuItems) { UpgradeTypes itemType = menuItem.GetComponent <GUIMenuItem> ().type;; if (ownedUpgrades.ContainsKey(itemType)) { Upgrade upgrade = ownedUpgrades[itemType]; Text[] comps = menuItem.GetComponentsInChildren <Text>(); Text txt = comps[1]; double value = upgrade.GetCurrentLevelValue(); string unit = ""; UnitsConverter.Convert(ref value, ref unit); txt.text = value.ToString("f" + speedDecimals) + unit + " m/s"; txt = comps[2]; txt.color = Color.magenta; double cost = upgrade.GetCost(); unit = ""; UnitsConverter.Convert(ref cost, ref unit); txt.text = "$ " + cost.ToString("f" + priceDecimals) + unit; txt = comps[3]; double val = upgrade.GetNextLevelValue() - value; unit = ""; UnitsConverter.Convert(ref val, ref unit); float bonus = upgrade.percentValueIncrease * 100.0f; txt.text = "+ " + bonus + "%" + " " + val.ToString("f" + speedDecimals) + unit; txt.color = Color.cyan; txt = comps[4]; txt.text = "Level\n" + upgrade.level; Selectable selectableButton = menuItem.GetComponent <Selectable>(); ColorBlock colors = menuItem.GetComponent <Selectable>().colors; colors.normalColor = new Color(0.06f, 0.08f, 0.16f, 1.0f); colors.disabledColor = new Color(0.2f, 0.2f, 0.2f, 1.0f); colors.highlightedColor = new Color(0.09f, 0.12f, 0.31f, 1.0f); selectableButton.colors = colors; } } }
private void SetSingleUpgradeButtonFor(UpgradeTypes upgrade1, int upgradeCost, bool canAffordUpgrade) { UpgradeInfoInstance.OnUpgradeButton1Click = canAffordUpgrade ? CreateUpgradeButtonAction(upgrade1, upgradeCost) : null; switch (upgrade1) { case UpgradeTypes.Range: UpgradeInfoInstance.CurrentOptionOneChoiceState = UpgradeInfoRuntime.OptionOneChoice.UpgradeRange; break; case UpgradeTypes.Speed: UpgradeInfoInstance.CurrentOptionOneChoiceState = UpgradeInfoRuntime.OptionOneChoice.UpgradeSpeed; break; case UpgradeTypes.Damage: UpgradeInfoInstance.CurrentOptionOneChoiceState = UpgradeInfoRuntime.OptionOneChoice.UpgradeDamage; break; default: throw new ArgumentOutOfRangeException(nameof(upgrade1), upgrade1, null); } }
public void AddItem(UpgradeTypes itemType) { GameObject menuItem = GameObject.Instantiate(Resources.Load("Prefabs/RepairMenuItem")) as GameObject; Upgrade ownedUpgrade = upgrades.GetOwnedUpgrade(itemType); menuItem.GetComponentInChildren <UpdateItemHealthBar> ().SetItemUpgrade(ownedUpgrade); double health = (double)ownedUpgrade.health; string name = ownedUpgrade.type.ToString(); double repaircost = ownedUpgrade.GetRepairCost(); Text[] comps = menuItem.GetComponentsInChildren <Text>(); Text txt = comps[0]; txt.text = name.ToUpper(); txt = comps[1]; string hunit = ""; UnitsConverter.Convert(ref health, ref hunit); txt.text = "Health: " + health.ToString("f" + healthDecimals) + hunit; txt = comps[2]; string runit = ""; UnitsConverter.Convert(ref repaircost, ref runit); txt.text = "Repair: $" + repaircost.ToString("f" + priceDecimals) + runit; menuItem.GetComponent <GUIMenuItem> ().type = itemType; menuItem.transform.SetParent(transform, false); //as soon i make it inot the dictionary we can use add for (int i = 0; i < menuItems.Length; i++) { if (menuItems[i] == null) { menuItems[i] = menuItem; break; } } }
public void ActivateUpgrade(int indexKey, UpgradeTypes upgradeType, int upgradeValue) { population[indexKey].transform.FindChild("ActivateButton").GetComponent <Button>().interactable = false; switch (upgradeType) { case UpgradeTypes.ACCELERATION: shipScript.acceleration += upgradeValue; break; case UpgradeTypes.BRAKES: shipScript.deceleration += upgradeValue; break; case UpgradeTypes.MAXBLACKOUT: shipScript.MAX_BLACKOUT += upgradeValue; break; case UpgradeTypes.MAXSPEED: shipScript.MAX_SPEED += upgradeValue; break; } }
public Upgrade GetOwnedUpgrade(UpgradeTypes upgrade) { return(ownedUpgrades[upgrade]); }
void OnGUI() { minSize = new Vector2(250, 200); offsetX = 5f; offsetY = 5f; GUI.color = Color.white; windowDisplay = new Rect(offsetX, offsetY, 200f, DISPLAY_HEIGHT); offsetY += DISPLAY_DIF * 2; EditorGUI.LabelField(windowDisplay, "New Upgrade Creator"); windowDisplay = new Rect(offsetX, offsetY, 120f, DISPLAY_HEIGHT); offsetX += 120f; EditorGUI.LabelField(windowDisplay, "Upgrade Type"); windowDisplay = new Rect(offsetX, offsetY, 120f, DISPLAY_HEIGHT); offsetY += DISPLAY_DIF; offsetX = 5f; upgradeType = (UpgradeTypes)EditorGUI.EnumPopup(windowDisplay, upgradeType); windowDisplay = new Rect(offsetX, offsetY, 120f, DISPLAY_HEIGHT); offsetX += 120f; EditorGUI.LabelField(windowDisplay, "Upgrade Amount"); windowDisplay = new Rect(offsetX, offsetY, 120f, DISPLAY_HEIGHT); offsetX = 5f; offsetY += DISPLAY_DIF; upgradeValue = EditorGUI.FloatField(windowDisplay, upgradeValue); windowDisplay = new Rect(offsetX, offsetY, 120f, DISPLAY_HEIGHT); offsetX += 120f; EditorGUI.LabelField(windowDisplay, "Upgrade Cost"); windowDisplay = new Rect(offsetX, offsetY, 120f, DISPLAY_HEIGHT); offsetX = 5f; offsetY += DISPLAY_DIF * 2; upgradeCost = EditorGUI.IntField(windowDisplay, upgradeCost); windowDisplay = new Rect(offsetX, offsetY, 240f, DISPLAY_HEIGHT); offsetY += DISPLAY_DIF; EditorGUI.LabelField(windowDisplay, outputMessage); windowDisplay = new Rect(offsetX, offsetY, 240f, DISPLAY_HEIGHT); if (GUI.Button(windowDisplay, "Create Upgrade")) { if (upgradeCost > 0 && upgradeValue > 0) { try { bool temp = false; contentString = upgradeType.ToString() + "," + upgradeValue.ToString() + "," + upgradeCost.ToString() + "," + temp.ToString() + "\n"; File.AppendAllText(datapath, contentString); outputMessage = "Upgrade Created"; AssetDatabase.Refresh(); } catch (UnityException e) { Debug.LogError(e); } } else if (upgradeValue <= 0) { outputMessage = "Value must be greater than 0"; } else if (upgradeCost <= 0) { outputMessage = "Cost must be greater than 0"; } } //EditorGUILayout.LabelField("This is an upgrade window"); //upgradeName = EditorGUILayout.TextField(upgradeName, "Upgrade Name"); //upgradeType = (UpgradeTypes)EditorGUILayout.EnumPopup(upgradeType, "Upgrade Type"); //upgradeValue = EditorGUILayout.FloatField(upgradeValue, "Upgrade Value"); //if(GUILayout.Button("Build Text")) //{ // //contentString = (upgradeType.ToString() + "," + upgradeValue.ToString() + "," + upgradeCost.ToString(); // Debug.Log("Building Upgrade"); // //System.IO.File.WriteAllText(datapath + "/" + upgradeName +".txt", upgradeName + "," + upgradeType + "," + upgradeValue); // //File.AppendAllText(datapath, contentString); //} }
/// <summary> /// Returns true if the owner of this player has upgraded the given upgrade type, and this unit is affected by this upgrade. /// </summary> /// <param name="upgradeType"></param> /// <returns></returns> public int GetUpgradeLevel(UpgradeTypes upgradeType) { return this.BwapiObject.getUpgradeLevel(new SWIG.BWAPI.UpgradeType((int)upgradeType)); }
void Start() { //Get references to GameObjects from scene takeObjectsFromScene(); //prefabs. no dependencies. GameObject upgradePrefab = Resources.Load(FilePathUtils.prefabPath + "upgradeObject") as GameObject; GameObject cardPrefab = Resources.Load(FilePathUtils.prefabPath + "cardObject") as GameObject; GameObject campContractPrefab = Resources.Load(FilePathUtils.prefabPath + "campContractObject") as GameObject; GameObject healthBarPrefab = Resources.Load(FilePathUtils.prefabPath + "healthBarObject") as GameObject; GameObject enemyPrefab = Resources.Load(FilePathUtils.prefabPath + "enemyObject") as GameObject; GameObject eventButtonPrefab = Resources.Load(FilePathUtils.prefabPath + "eventButtonObject") as GameObject; //Data classes. no dependencies GameData gameData = new GameData(); GameData.setInstance(gameData); //Ui manager, only dependencies are GameObjects CardUiManager cardUiManager = new CardUiManager( cardPrefab, playerHandObject, cardListGrid, cardListScene, cardSelectUi ); SceneUiManager sceneUiManager = new SceneUiManager( startScene, gameOverScene, victoryScene, cardListScene, fightSceneObject, campScene, eventScene ); UpgradeUiManager upgradeUiManager = new UpgradeUiManager( upgradeSelect, upgradePrefab, upgradeList ); CampContractUiManager campContractUiManager = new CampContractUiManager( campContractPrefab, campContracts ); //Types StatusTypes statusTypes = new StatusTypes(); EnemyTypes enemyTypes = new EnemyTypes(enemyPrefab); CardTypes cardTypes = new CardTypes(); cardTypes.initialize(statusTypes); //GameObjects PlayerGameObject playerGameObject = playerObject.GetComponent <PlayerGameObject>(); playerGameObject.initalize(playerObject); gameData.playerGameObject = playerGameObject; FightSceneGameObject fightSceneGameObject = fightSceneObject.GetComponent <FightSceneGameObject>(); fightSceneGameObject.initalize(fightSceneObject); //Services UpgradeService upgradeService = new UpgradeService(); EnemyTurnService enemyTurnService = new EnemyTurnService(); StatusService statusService = new StatusService(statusTypes); EnemyService enemyService = new EnemyService(enemyTurnService, statusService); CardGeneratorService cardGeneratorService = new CardGeneratorService(cardTypes); PlayerService playerService = new PlayerService(sceneUiManager, statusService, playerGameObject); DeckService deckService = new DeckService(cardUiManager, playerService); CampContractService campContractService = new CampContractService(campContractUiManager); EnemyManagerService enemyManagerService = new EnemyManagerService( enemyPrefab, enemyContainer, playerService, enemyService, enemyTurnService, statusService, deckService, enemyTypes, cardUiManager, cardGeneratorService, sceneUiManager, upgradeUiManager, upgradeService ); CardService cardService = new CardService(enemyManagerService, playerService, new AudioState(), deckService, enemyService); CampService campService = new CampService(campScene, campSelectionScene, campContractService, cardTypes); CardActionsService cardActionsService = new CardActionsService(deckService, playerService, cardService); EnemyManagerService.setInstance(enemyManagerService); UpgradeTypes upgradeTypes = new UpgradeTypes(playerService); EventManagerService eventManagerService = new EventManagerService( eventBoard, eventBoardButtons, eventButtonPrefab, campTitleText, campText ); FightManagerService fightManagerService = new FightManagerService( sceneUiManager, cardUiManager, playerService, upgradeUiManager, deckService, campService, upgradeService, enemyManagerService, eventManagerService ); eventManagerService.setFightService(fightManagerService); cardUiManager.initialize(cardActionsService); upgradeUiManager.initialize(upgradeService); deckService.initialize(enemyManagerService); //Initialize game data class gameData.deckService = deckService; gameData.playerService = playerService; gameData.upgradeService = upgradeService; gameData.enemyTypes = enemyTypes; //init scene buttons + add click events startNewRunButton.onClick.AddListener(() => fightManagerService.startNewRun(upgradeTypes, cardTypes)); runItBackButton.onClick.AddListener(() => fightManagerService.startNewRun(upgradeTypes, cardTypes)); nextFightButton.onClick.AddListener(fightManagerService.startFight); closeCardListButton.onClick.AddListener(cardUiManager.hideCardPile); closeCampListButton.onClick.AddListener(() => campService.hideCampFightList()); leaveCampButton.onClick.AddListener(() => fightManagerService.confirmCampEvents()); DeckData deckData = gameData.deckData; addEventTrigger(showDeckObject).callback.AddListener((data) => cardUiManager.showCardPile(deckData.deckCards)); addEventTrigger(showDiscardObject).callback.AddListener((data) => cardUiManager.showCardPile(deckData.discardCards)); addEventTrigger(showTrashObject).callback.AddListener((data) => cardUiManager.showCardPile(deckData.trash)); addEventTrigger(endTurnObject).callback.AddListener((data) => fightManagerService.endTurn()); addEventTrigger(extraDrawObject).callback.AddListener((data) => deckService.extraDraw()); addEventTrigger(wellGameObject).callback.AddListener((data) => campService.showCampFightList()); addEventTrigger(shopGameObject).callback.AddListener((data) => campService.showCampFightList()); //hide well/shop buttons wellGameObject.SetActive(false); shopGameObject.SetActive(false); }
public Upgrade(UpgradeTypes type, int value) { upgradeType = type; upgradeValue = value; isActive = false; }
public double GetUpgradeValue(UpgradeTypes upgrade) { return(ownedUpgrades[upgrade].GetCurrentValue()); }
/// <summary> /// Returns true if there is enough resources required to upgrade the given tech type. /// </summary> /// <param name="upgradeType"></param> /// <returns></returns> public static bool CanUpgrade(UpgradeTypes upgradeType) { return SWIG.BWAPI.bwapi.Broodwar.canUpgrade(null, new SWIG.BWAPI.UpgradeType((int)upgradeType)); }
public void BuyUpgrade(GameObject menuItem) { AudioManager.Instance.AudioSources["Tap"].Play(); UpgradeTypes itemType = menuItem.GetComponent <GUIMenuItem> ().type; if (instance.ownedUpgrades.ContainsKey(itemType)) { Upgrade upgrade = instance.ownedUpgrades[itemType]; SpawnText(menuItem, upgrade); instance.speed.points -= upgrade.GetCost(); instance.upgradesController.LevelUpUpgrade(itemType); } else { Upgrade upgrade = instance.allUpgrades[itemType]; SpawnText(menuItem, upgrade); instance.speed.points -= upgrade.GetCost(); instance.upgradesController.AddUpgrade(itemType); instance.upgradesController.LevelUpUpgrade(itemType); Text[] comps = menuItem.GetComponentsInChildren <Text>(); Text txt = comps[2]; txt.color = Color.magenta; txt = comps[3]; txt.color = Color.cyan; Selectable selectableButton = menuItem.GetComponent <Selectable>(); ColorBlock colors = menuItem.GetComponent <Selectable>().colors; colors.normalColor = new Color(0.06f, 0.08f, 0.16f, 1.0f); colors.disabledColor = new Color(0.2f, 0.2f, 0.2f, 1.0f); colors.highlightedColor = new Color(0.09f, 0.12f, 0.31f, 1.0f); selectableButton.colors = colors; RepairsMenuManager.Instance.AddItem(itemType); } Upgrade ownedUpgrade = instance.ownedUpgrades [itemType]; Text[] texts = menuItem.GetComponentsInChildren <Text>(); Text txtx = texts[1]; double value = ownedUpgrade.GetCurrentLevelValue(); string unit = ""; UnitsConverter.Convert(ref value, ref unit); txtx.text = value.ToString("f" + instance.speedDecimals) + unit + " m/s"; txtx = texts[2]; double cost = ownedUpgrade.GetCost(); unit = ""; UnitsConverter.Convert(ref cost, ref unit); txtx.text = "$ " + cost.ToString("f" + instance.priceDecimals) + unit; txtx = texts[3]; double val = ownedUpgrade.GetNextLevelValue() - value; unit = ""; UnitsConverter.Convert(ref val, ref unit); float bonus = ownedUpgrade.percentValueIncrease * 100.0f; txtx.text = "+ " + bonus + "%" + " " + val.ToString("f" + speedDecimals) + unit; txtx = texts[4]; txtx.text = "Level\n" + ownedUpgrade.level; }
/// <summary> /// Orders the unit to upgrade the given upgrade type. /// See also: UpgradeResearching, UpgradeResearchTimer, IsUpgrading. /// </summary> /// <param name="upgradeType"></param> /// <returns></returns> public bool DoUpgrade(UpgradeTypes upgradeType) { return this.BwapiObject.upgrade(new SWIG.BWAPI.UpgradeType((int)upgradeType)); }
void AddListener(Button button, int pindexKey, UpgradeTypes pupgradeType, int pupgradeValue) { button.onClick.AddListener(() => ActivateUpgrade(pindexKey, pupgradeType, pupgradeValue)); }
public bool HasType(UpgradeType upgradeType) { return(UpgradeTypes.Contains(upgradeType)); }
public Upgrade GetAvaiableUpgrade(UpgradeTypes upgrade) { return(allUpgrades[upgrade]); }
/// <summary> /// Returns true if the given unit can upgrade the given upgrade type and there is enough resources required to upgrade. /// </summary> /// <param name="unitWhereToUpgrade"></param> /// <param name="upgradeType"></param> /// <returns></returns> public static bool CanUpgrade(Unit unitWhereToUpgrade, UpgradeTypes upgradeType) { return SWIG.BWAPI.bwapi.Broodwar.canUpgrade(unitWhereToUpgrade.BwapiObject, new SWIG.BWAPI.UpgradeType((int) upgradeType)); }
public void SetUpgradeHealth(UpgradeTypes upgrade, float health) { upgrades.GetOwnedUpgrade(upgrade).SetHealth(health); upgrades.UpdateBaseSpeed(); }