private void BuyUpgradeViewModel_Investors(UpgradeData vm) { var id = vm.GeneratorId; switch (vm.UpgradeType) { case UpgradeType.Profit: BuyProfitUpgradeVM(vm, false, id, true); break; case UpgradeType.Time: BuyTimeUpgradeVM(vm, false, id, true); break; case UpgradeType.FreeGenerators: BuyFreeGenerators(vm, id); break; case UpgradeType.InvestorEffectiveness: BuyInvestorEffectiveness(vm, id); break; default: break; } GlobalRefs.LevelManager.AddXP(XPSources.BuyUpgrade); }
public bool IsAllowBuy(UpgradeData data) { if (data.CurrencyType == CurrencyType.CompanyCash && IsBoughtCashUpgrade(data.Id)) { return(false); } if (data.CurrencyType == CurrencyType.Securities && IsBoughtSecurityUpgrade(data.Id)) { return(false); } Currency priceCurrency = Currency.Create(data.CurrencyType, data.Price(() => { return(BosUtils.GetUpgradePriceMult(Planets.CurrentPlanet.Data, data)); })); if (data.GeneratorId >= 0) { if (Services.PlayerService.IsEnough(priceCurrency) && Services.TransportService.HasUnits(data.GeneratorId)) { return(true); } } else { return(Services.PlayerService.IsEnough(priceCurrency)); } return(false); }
//rescales the effect when an upgrade is hovered over the tower with this effect. If upgrade is null, that means the player changed their mind and moved away from a previous upgrade private void towerUpgrading(TowerScript hoveredTower, UpgradeData upgrade) { if (hoveredTower == effectSource) { if (upgrade == null) { scaleInnerEffect(); //an upgrade was cancelled. revert to normal strength upgrading = false; //and remove the 'upgrading' flag that changes name color } else { innerEffect.strength = effectBaseStrength.Value * (effectSource.attackPower * upgrade.attackMultiplier + upgrade.attackModifier); //scale as if the upgrade had already been applied //if the upgrade actually changes the attack, then set the 'upgrading' flag that changes name color if (upgrade.attackMultiplier != 1.0f || upgrade.attackModifier != 0.0f) { upgrading = true; } } hoveredTower.UpdateTooltipText(); //make the tower update its tooltip } else { Debug.LogWarning("EffectScaleEffectWithTowerAttack should not be registered to hear about upgrades from that tower, as it is not the source of the effect"); } }
private void Awake() { GameObject[] normalUpgrades = GameObject.FindGameObjectsWithTag("NormalUpgrades"); upgradeDataJSON = SaveSystem.LoadUpgradeData(); if (upgradeDataJSON != null) { //INTERPRET EXISTING JSON FILE upgradeData["N1"] = upgradeDataJSON.N1; upgradeData["N2"] = upgradeDataJSON.N2; //upgrade file integrity check //GOTTA ADD THE OTHER MODULES TOO ACHENCY AIDJCIADJOICWNDACNWDNCPAWDNCWPAL:UBDCPAWBPB DUAWBNCVPWUABDPIBACWPUDADUGWAUYDVOADVYWPVDA if ((ONE.profitModifier != 1 && upgradeDataJSON.N1 == false) || (ONE.profitModifier == 1 && upgradeDataJSON.N1 == true)) { GenerateFile(normalUpgrades); } } else { GenerateFile(normalUpgrades); } }
/// <summary>Initializes the panel for a given upgrade.</summary> /// <param name="upgradeIndex">The upgrade (as an index).</param> public void Initialize(int upgradeIndex) { Assert.IsFalse(PlayerManager.instance.HasBoughtUpgrade(upgradeIndex)); //get a reference to the upgrade's data UpgradeData data = GameData.instance.GetDataForUpgrade(upgradeIndex); //and upgrade the UI image.sprite = data.image; nameText.text = data.name; descripionText.text = data.description; costText.text = NumberFormatter.ToString(number: data.cost, showDecimalPlaces: false); bool canAffordManager = PlayerManager.instance.cash >= data.cost; buyButton.SetInteractableAndColor(canAffordManager); if (canAffordManager) { //if the player can afford the upgrade, then add a callback buyButton.onClick.AddListener(() => { //firstly disable the button buyButton.interactable = false; //next process the purchase PlayerManager.instance.BoughtUpgrade(upgradeIndex); PlayerManager.instance.DecrementCashBy(data.cost); int businessIndex = (int)data.business; PlayerManager.instance.GetBusiness(businessIndex).UpdateUpgradeProfitMultiplier(data.profitMultiplier); //finally destroy the panel Destroy(gameObject); }); } }
} //name used to refer to this effect in XML public override void trigger() { //fetch the upgrade in question PlayerCardData card = CardTypeManagerScript.instance.getCardByName(argument); UpgradeData upgrade = card.upgradeData; EffectData effects = card.effectData; if (upgrade == null) { Debug.LogWarning("Could not find upgrade: " + argument); return; } //apply it to all towers GameObject[] towers = GameObject.FindGameObjectsWithTag("Tower"); foreach (GameObject t in towers) { if (parentData.propertyEffects.noUpgradeCost) { t.SendMessage("FreeUpgrade", upgrade); } else { t.SendMessage("Upgrade", upgrade); } if (effects != null) { t.SendMessage("AddEffects", effects); } } }
public ItemUpgradeData(WOApiWebPage in_form) { for (int i = 0; i < MAX_CATEGORIES; i++) { categories_[i] = new CategoryUpgrades(); } // get all upgrade items SqlCommand sqcmd = new SqlCommand(); sqcmd.CommandType = CommandType.StoredProcedure; sqcmd.CommandText = "WO_ItemUpgradeGetUpgrades"; if (!in_form.CallWOApi(sqcmd)) { throw new ApiExitException("UpgradeGetUpgrades failed"); } SqlDataReader reader = in_form.reader; while (reader.Read()) { UpgradeData ud = new UpgradeData(Convert.ToInt32(reader["ItemID"])); ud.Value = Convert.ToDouble(reader["Value"]); ud.GPPrice = Convert.ToInt32(reader["PriceP"]); ud.GPChance = Convert.ToDouble(reader["GPChance"]) / 100.0; ud.GDPrice = Convert.ToInt32(reader["GPriceP"]); ud.GDChance = Convert.ToDouble(reader["GDChance"]) / 100.0; // decode and put it categories_[ud.uid.Category].types[ud.uid.Type].levels[ud.uid.Level] = ud; items_.Add(ud.uid.ItemID, ud); } reader = null; }
private void LoadUI() { TextMeshProUGUI[] texts = this.GetComponentsInChildren <TextMeshProUGUI>(); for (int i = 0; i < texts.Length; i++) { // For each TextMeshProUGUI Element for (int ii = 0; ii < uiNames.Count; ii++) { // check if it matches each of the uinames we have if (texts[i].name == uiNames[ii]) { UIDic.Add(uiNames[ii], texts[i]); } } } if (upgradeName == "Player") { upgrade = GameData.sessionData.playerUpgrade; } else { upgrade = GameData.sessionData.heroUpgrades[heroUnlockOrder - 1]; } UIDic[uiNames[0]].text = upgradeName; // Set name panelName = this.transform.parent.parent.parent.parent.name; // Name of the panel this upgrade resides in (heroupgrades,playerupgrades ect) this.GetComponentInChildren <Button>().onClick.AddListener(BuyUpgrade); // Buy Upgrade Button syncStart = true; }
public void CreateBubble() { UpgradeData lostUpgrade = Globals.DropUpgrade(); GameObject bubble = GameObject.Instantiate(Resources.Load("Prefabs/Upgrade/UpgradeBubble") as GameObject, transform.position, Quaternion.identity); bubble.GetComponent <UpgradeBubble>().DataObject = lostUpgrade; }
public void Initialize(UpgradeData data) { upgradeChoiceIndex = data.choiceIndex; upgradeIndex = data.index; nameTextMesh.text = data.name; descriptionTextMesh.text = data.description; }
public void SetUpgradeData(UpgradeData upgradeData) { for (int i = 0; i < unitNum; i++) { upgrade[i] = upgradeData.upgrade[i]; } }
private void BuyTimeUpgradeVM(UpgradeData vm, bool free, int id, bool isInvestor) { if (id == -1) { GenerationService.Generators.AddTimeBoost(BoostInfo.CreateTemp(id: $"time_upgrade_{vm.Id}_".GuidSuffix(5), value: vm.Value)); } else { GenerationService.Generators.AddTimeBoost( generatorId: id, boost: BoostInfo.CreateTemp( id: $"time_upgrade_{vm.Id}_".GuidSuffix(5), value: vm.Value)); } if (!free) { if (isInvestor) { } else { Player.RemoveCompanyCash(vm.Price(() => { return(BosUtils.GetUpgradePriceMult(ResourceService.Planets.GetPlanet(Planets.CurrentPlanet.Id), vm)); })); } } }
public void SetTotals() { if (File.Exists(totalUpgradeRevertFileName)) { string jsonSave = File.ReadAllText(totalUpgradeRevertFileName); totalUpgradeData = JsonUtility.FromJson <UpgradeData>(jsonSave); upgradeData.isRepelPurchased = totalUpgradeData.isRepelPurchased; upgradeData.isRevealPurchased = totalUpgradeData.isRevealPurchased; upgradeData.isConvertPurchased = totalUpgradeData.isConvertPurchased; } else if (File.Exists(totalUpgradeFileName)) { string jsonSave = File.ReadAllText(totalUpgradeFileName); totalUpgradeData = JsonUtility.FromJson <UpgradeData>(jsonSave); upgradeData.isRepelPurchased = totalUpgradeData.isRepelPurchased; upgradeData.isRevealPurchased = totalUpgradeData.isRevealPurchased; upgradeData.isConvertPurchased = totalUpgradeData.isConvertPurchased; } else { totalUpgradeData = new UpgradeData(); } string json = JsonUtility.ToJson(totalUpgradeData); File.WriteAllText(totalUpgradeRevertFileName, json); }
private void OnUpgradeAdded(UpgradeData data) { if (data.CurrencyType == currencyType) { itemList.UpdateViews(DataSource); } }
// Intercambia los items: objetoArrastrado -> objetoSobreElQueSeArrastra, y viceversa. public void OnDrop(PointerEventData eventData) { if (DragAndDropEquipMenu.currentInstance.draggedIconReference == this || DragAndDropEquipMenu.currentInstance.draggedIconReference == null) { return; } // Para facilidad de lectura lo separamos en variables auxiliares. bool otherIsWpn = DragAndDropEquipMenu.currentInstance.draggedIconReference.IsWeaponSlot(); bool thisIsWpn = isWeaponSlot; int otherIndex = DragAndDropEquipMenu.currentInstance.draggedIconReference.GetIndexReferenced(); int thisIndex = indexReferenced; List <UpgradeData> otherList = DragAndDropEquipMenu.currentInstance.draggedIconReference.GetListReferenced(); List <UpgradeData> thisList = listReferenced; UpgradeData otherVar = DragAndDropEquipMenu.currentInstance.draggedIconReference.GetUpgradeReferenced(); UpgradeData thisVar = listReferenced[indexReferenced]; otherList[otherIndex] = thisVar; thisList[thisIndex] = otherVar; UpdateIcon(); DragAndDropEquipMenu.currentInstance.draggedIconReference.UpdateIcon(); if (thisIsWpn || otherIsWpn) { DragAndDropEquipMenu.currentInstance.UpdateWeaponReaded(); } }
private void BuyUpgradeViewModel_Cash(UpgradeData data, bool free) { IPlayerService playerService = GameServices.Instance.PlayerService; var id = data.GeneratorId; switch (data.UpgradeType) { case UpgradeType.Profit: BuyProfitUpgradeVM(data, free, id, false); break; case UpgradeType.Time: BuyTimeUpgradeVM(data, free, id, false); break; default: break; } if (!free) { playerService.CheckNonNegativeCompanyCash(); } GlobalRefs.LevelManager.AddXP(XPSources.BuyUpgrade); }
void Start() { gameData = GameLogic.Instance.gameData; upgradeData = GameLogic.Instance.upgradeData; connectShopItemInfos(); }
public WeaponData(WeaponPresets preset, float weaponScalingFactor = 1) { SetRandomWeaponType(); switch (preset) { case WeaponPresets.randomScaledPlayer: { UpgradesInstalled = new List <UpgradeData>() { new UpgradeData(UpgradeData.ModType.trajectoryMod, UpgradeData.ModStatus.locked) }; float tempWeaponWeight = 0; if (weaponScalingFactor > 3) { if (Random.Range(0, 3) == 1) { UpgradesInstalled.Add(new UpgradeData(UpgradeData.ModType.splitMod, UpgradeData.ModStatus.normal)); tempWeaponWeight += 1.25f; } } while (tempWeaponWeight < weaponScalingFactor) { UpgradesInstalled.Add(new UpgradeData(UpgradeData.GetRandomEffectModifier(), UpgradeData.ModStatus.normal)); tempWeaponWeight += Random.Range(0.35f, 0.65f); } weapon_bounces = 0; weapon_speedScale = 2; break; } case WeaponPresets.randomScaledEnemy: { UpgradesInstalled = new List <UpgradeData>() { new UpgradeData(UpgradeData.ModType.trajectoryMod, UpgradeData.ModStatus.normal) }; float tempWeaponWeight = 0; while (tempWeaponWeight < weaponScalingFactor) { UpgradesInstalled.Add(new UpgradeData(UpgradeData.GetRandomEffectModifier(), UpgradeData.ModStatus.normal)); tempWeaponWeight += Random.Range(0.45f, 0.55f); } weapon_bounces = 0; weapon_speedScale = 0.75f + weaponScalingFactor * 0.2f; break; } case WeaponPresets.droneMinigun: { weapon_bounces = 0; weapon_speedScale = 3; break; } } UpdateWeaponModReading(); }
public UnitTypeData GetRequiredBuilding(UpgradeData upgrade) { if (Research_To_RequiredBuildings.TryGetValue(upgrade.UpgradeId, out var id)) { return(unitTypeRepository.Get(id)); } return(null); }
void OnReceivedUpgradeData(byte[] msg) { UpgradeDataPacket upgradeDataPacket = new UpgradeDataPacket(msg); UpgradeData upgradeData = upgradeDataPacket.GetData(); dataManager.SetUpgradeData(upgradeData); loadingManager.dataCheck[(int)ServerPacketId.UpgradeData - 4] = true; }
public UnitTypeData GetProducer(UpgradeData upgrade) { if (Research_To_Researcher.TryGetValue(upgrade.UpgradeId, out var id)) { return(unitTypeRepository.Get(id)); } throw new System.NotImplementedException(); }
public void UpdateRates(UpgradeData data) { _followersPerDay += data.FollowerEffect; _followerRateLabel.Text = $"({_followersPerDay.ToString("+0;-#")}/day)"; _dailyCultFeesPerFollower += data.FeeEffect; _otherMoneyPerDay += data.MoneyEffect; _moneyPerDayLabel.Text = $"{(Math.Round(_dailyCultFeesPerFollower*_followerCount+_otherMoneyPerDay, 2)).ToString("+0.00;-#.00")}/day"; }
/// <summary> /// /// Creates an upgrade card on a canvas /// /// </summary> public GameObject CreateUpgrade(UpgradeData upgrade, Transform parent, DeckData currentDeck = null, float scaling = defaultUpgradeScaling) { var createdUpgrade = Instantiate(upgradeObject, parent); createdUpgrade.transform.localScale = new Vector3(scaling, scaling, 1.0f); createdUpgrade.GetComponent <UpgradeDisplay>().InitDisplay(upgrade, currentDeck); return(createdUpgrade); }
public UpgradeData GetRequiredResearch(UpgradeData upgrade) { if (Research_To_RequiredResearch.TryGetValue(upgrade.UpgradeId, out var id)) { return(upgradeRepository.Get(id)); } return(null); }
private void BuyInvestorEffectiveness(UpgradeData vm, int id) { var perc = vm.Value / 100.0f; IInvestorService investorService = GameServices.Instance.InvestorService; investorService.AddEffectiveness((float)perc); GlobalRefs.LevelManager.AddXP(XPSources.BuyUpgrade); }
public void Init() { upgradeData = shopWindow.upgradeData[upgrade]; buyButton.buttonSignal.AddListener(OnBuyPressed); backButton.buttonSignal.AddListener(OnBackPressed); headerText.text = "SHOP > " + upgradeData.name; description.text = upgradeData.description; priceText.text = "<c=money>$</c>" + DisplayUtil.InsertCommas(upgradeData.price); }
public void AddSecurityUpgrade(UpgradeData upgradeData) { if (!boughtSecuritiesUpgrades.Contains(upgradeData.Id)) { boughtSecuritiesUpgrades.Add(upgradeData.Id); AddUpgradedGenerator(upgradeData); GameEvents.OnUpgradeAdded(upgradeData); } }
private void OnUpgradeAdded(UpgradeData upgradeData) { if (IsLoaded) { IsAnyUpgradePurchased = true; SendEventToNonCompleted(new TutorialEventData(TutorialEventName.UpgradePurchased, upgradeData)); SkipState(TutorialStateName.BuyUpgrade); } }
public Sprite GetSpriteIconForUpgrade(UpgradeData upg) { Sprite spr; switch (upg.m_currentType) { case UpgradeData.ModType.trajectoryMod: { spr = MenuIcons[6]; break; } case UpgradeData.ModType.splitMod: { spr = MenuIcons[5]; break; } case UpgradeData.ModType.effectBouncing: { spr = MenuIcons[4]; break; } case UpgradeData.ModType.effectPhoton: { spr = MenuIcons[0]; break; } case UpgradeData.ModType.effectNuclear: { spr = MenuIcons[1]; break; } case UpgradeData.ModType.effectExplosive: { spr = MenuIcons[2]; break; } case UpgradeData.ModType.effectEnergySteal: { spr = MenuIcons[3]; break; } default: { spr = blankSprite; break; } } return(spr); }
/// <summary> /// /// Initialise the object. Refreshes the text properties of the upgrade /// /// </summary> public void InitUpgradeObject(UpgradeData _upgradeData, int?_deckId = null) { upgradeId = _upgradeData.Id.Value; upgradeData = _upgradeData; //Needs to pass in the deck list UI to this object in order to know which deck is being edited deckId = _deckId; nameText.text = upgradeData.Name; honourPointsText.text = $"Honour: {upgradeData.HonourPoints}"; }
/// <summary> /// Checks if there is enough minerals and gas to research an upgrade. /// </summary> /// <param name="upgradeId">the unit type of the desired upgrade</param> /// <returns>true if resources are available, false otherwise</returns> public static bool CanAffordUpgrade(int upgradeId) { UpgradeData unitData = VBot.Bot.Data.Upgrades[upgradeId]; if (VBot.Bot.Minerals() >= unitData.MineralCost && VBot.Bot.Gas() >= unitData.VespeneCost) { return(true); } return(false); }
public override void OnSetPage() { CoinsCounter.Instance.AnimateIn(); selected = null; foreach(UpgradeData upgrade in upgrades) { upgrade.UnSelect(); upgrade.UpdateVisual(); } Message.enabled = true; ClickToBuyText.enabled = false; NotEnoughCoinsText.enabled = false; OwnedText.enabled = false; BuyRainbowText.enabled = false; }
void Start() { gameData = GameLogic.Instance.gameData; upgradeData = GameLogic.Instance.upgradeData; player = GameLogic.Instance.player; setInGameGUIDelegates(); setPauseMenuDelegates(); setEndGameMenuDelegates(); setShopMenuDelegates(); setMainMenuDelegates(); }
void OnEnable() { data = target as UpgradeData; data.ensureDataConsistency(); }
public void Select(UpgradeData _upgrade) { if(selected) { selected.UnSelect(); } selected = _upgrade; selected.Select(); Message.enabled = false; UpdateMessage(); }