private void UpdatePopup() { float wellsBonus = 1f + AppConstants.WellSingleBonusValue * WellsController.instance.wells.FindAll(x => Vector3.Distance(x.wellData.position, automation.automationData.position) < AppConstants.WellsBonusDistance).Count; wellsBonus = wellsBonus > AppConstants.WellsBonusMinValue ? wellsBonus : AppConstants.WellsBonusMinValue; wellsBonus = wellsBonus < AppConstants.WellsBonusMaxValue ? wellsBonus : AppConstants.WellsBonusMaxValue; int ts = (int)(System.DateTime.UtcNow - new System.DateTime(1970, 1, 1, 0, 0, 0, System.DateTimeKind.Utc)).TotalSeconds; float gadgets = wellsBonus * Mathf.Abs(automation.automationData.ownerGadgetsConsumptionTimestamp - ts) * AppConstants.AutomationGadgetsProductionConstant; gadgets = gadgets < AppConstants.AutomationSingleResourceCapacity ? gadgets : AppConstants.AutomationSingleResourceCapacity; gadgetsAmount.text = ResourcesController.FormatNumber(gadgets) + (automation.TerritoryBoosted > 1 ? " (<color=lime>x" + automation.TerritoryBoosted + "</color>)" : ""); gadgetsButton.GetComponent <Button>().onClick.RemoveAllListeners(); gadgetsButton.GetComponent <Button>().onClick.AddListener(() => { CollectGadgets(gadgets); }); biomassAmount.text = ResourcesController.FormatNumber(automation.automationData.convertedBiomassAmount) + (automation.TerritoryBoosted > 1 ? " (<color=lime>x" + automation.TerritoryBoosted + "</color>)" : ""); biomassButton.GetComponent <Button>().onClick.RemoveAllListeners(); biomassButton.GetComponent <Button>().onClick.AddListener(() => { CollectBiomass(automation.automationData.convertedBiomassAmount); }); energyAmount.text = ResourcesController.FormatNumber(automation.automationData.convertedEnergyAmount) + (automation.TerritoryBoosted > 1 ? " (<color=lime>x" + automation.TerritoryBoosted + "</color>)" : ""); energyButton.GetComponent <Button>().onClick.RemoveAllListeners(); energyButton.GetComponent <Button>().onClick.AddListener(() => { CollectEnergy(automation.automationData.convertedEnergyAmount); }); fuelAmount.text = ResourcesController.FormatNumber(automation.automationData.convertedFuelAmount) + (automation.TerritoryBoosted > 1 ? " (<color=lime>x" + automation.TerritoryBoosted + "</color>)" : ""); fuelButton.GetComponent <Button>().onClick.RemoveAllListeners(); fuelButton.GetComponent <Button>().onClick.AddListener(() => { CollectFuel(automation.automationData.convertedFuelAmount); }); ownerConversionFrom.sprite = automation.automationData.convertedResourceType == (int)AppConstants.ResourceType.ENERGY ? energySprite : automation.automationData.convertedResourceType == (int)AppConstants.ResourceType.BIOMASS ? biomassSprite : automation.automationData.convertedResourceType == (int)AppConstants.ResourceType.GADGETS ? gadgetsSprite : fuelSprite; commonConversionFrom.sprite = automation.automationData.convertedResourceType == (int)AppConstants.ResourceType.ENERGY ? energySprite : automation.automationData.convertedResourceType == (int)AppConstants.ResourceType.BIOMASS ? biomassSprite : automation.automationData.convertedResourceType == (int)AppConstants.ResourceType.GADGETS ? gadgetsSprite : fuelSprite; conversionButton.GetComponent <Button>().onClick.RemoveAllListeners(); conversionButton.GetComponent <Button>().onClick.AddListener(() => { ChangeConversion(); }); commonNick.text = automation.automationData.nick; }
private void UpdatePopup() { float wellsBonus = 1f + AppConstants.WellSingleBonusValue * WellsController.instance.wells.FindAll(x => x.wellData.id != well.wellData.id && Vector3.Distance(x.wellData.position, well.wellData.position) < AppConstants.WellsBonusDistance).Count; wellsBonus = wellsBonus > AppConstants.WellsBonusMinValue ? wellsBonus : AppConstants.WellsBonusMinValue; wellsBonus = wellsBonus < AppConstants.WellsBonusMaxValue ? wellsBonus : AppConstants.WellsBonusMaxValue; ownerLevel.text = "Poziom " + well.wellData.level + System.Environment.NewLine + "Wydajność ~ " + ResourcesController.FormatNumber((well.wellData.level * wellsBonus)) + " P/s" + (well.TerritoryBoosted > 1 ? " (<color=lime>x" + well.TerritoryBoosted + "</color>)" : ""); commonLevel.text = "Poziom " + well.wellData.level + System.Environment.NewLine + "Wydajność ~" + ResourcesController.FormatNumber((AppConstants.WellCommonFuelConstant * well.wellData.level * wellsBonus)) + " P/s" + (well.TerritoryBoosted > 1 ? " (<color=lime>x" + well.TerritoryBoosted + "</color>)" : ""); upgradeAmount.text = ResourcesController.FormatNumber(AppConstants.WellUpgradeCostConstant * well.wellData.level); levelupButton.GetComponent <Button>().onClick.RemoveAllListeners(); levelupButton.GetComponent <Button>().onClick.AddListener(() => { LevelUpWell(AppConstants.WellUpgradeCostConstant * well.wellData.level); }); commonNick.text = well.wellData.nick; }
private void UpdatePopup() { generatorLevel.text = "Poziom " + generator.generatorData.level.ToString() + System.Environment.NewLine + "Wydajność: ~ " + (AppConstants.GeneratorOwnerEnergyConstant * generator.generatorData.level).ToString() + " E/s" + (generator.TerritoryBoosted > 1 ? " (<color=lime>x" + generator.TerritoryBoosted + "</color>)" : ""); batteryLevel.text = "Poziom " + generator.generatorData.batteryLevel.ToString() + System.Environment.NewLine + "Pojemność: ~ " + (generator.generatorData.batteryLevel * AppConstants.GeneratorBatteryCapacityConstant).ToString() + " E" + (generator.TerritoryBoosted > 1 ? " (<color=lime>x" + generator.TerritoryBoosted + "</color>)" : ""); converterLevel.text = "Poziom " + generator.generatorData.converterLevel.ToString() + System.Environment.NewLine + "Wydajność: ~ " + (generator.generatorData.converterLevel * AppConstants.GeneratorConverterEfficiencyConstant) + " E/s" + (generator.TerritoryBoosted > 1 ? " (<color=lime>x" + generator.TerritoryBoosted + "</color>)" : ""); commonLevel.text = "Poziom " + generator.generatorData.level.ToString() + System.Environment.NewLine + "Wydajność: ~ " + (AppConstants.GeneratorCommonEnergyConstant * generator.generatorData.level).ToString() + " E/s" + (generator.TerritoryBoosted > 1 ? " (<color=lime>x" + generator.TerritoryBoosted + "</color>)" : ""); int generatorUpgradeCost = 0; for (int i = 0; i < generator.generatorData.level + 1; i++) { generatorUpgradeCost += (i * AppConstants.GeneratorUpgradeConstant); } generatorCost.text = ResourcesController.FormatNumber(generatorUpgradeCost); levelupGeneratorButton.GetComponent <Button>().onClick.RemoveAllListeners(); levelupGeneratorButton.GetComponent <Button>().onClick.AddListener(() => { LevelUpGenerator(generatorUpgradeCost); }); int batteryUpgradeCost = 0; for (int i = 0; i < generator.generatorData.batteryLevel + 1; i++) { batteryUpgradeCost += (i * AppConstants.GeneratorBatteryUpgradeConstant); } batteryCost.text = ResourcesController.FormatNumber(batteryUpgradeCost); levelupBatteryButton.GetComponent <Button>().onClick.RemoveAllListeners(); levelupBatteryButton.GetComponent <Button>().onClick.AddListener(() => { LevelUpBattery(batteryUpgradeCost); }); int converterUpgradeCost = 0; for (int i = 0; i < generator.generatorData.converterLevel + 1; i++) { converterUpgradeCost += (i * AppConstants.GeneratorConverterUpgradeConstant); } converterCost.text = ResourcesController.FormatNumber(converterUpgradeCost); levelupConverterButton.GetComponent <Button>().onClick.RemoveAllListeners(); levelupConverterButton.GetComponent <Button>().onClick.AddListener(() => { LevelUpConverter(converterUpgradeCost); }); conversionFrom.sprite = generator.generatorData.converterFromResource == (int)AppConstants.ResourceType.ENERGY ? energySprite : generator.generatorData.converterFromResource == (int)AppConstants.ResourceType.BIOMASS ? biomassSprite : generator.generatorData.converterFromResource == (int)AppConstants.ResourceType.GADGETS ? gadgetsSprite : fuelSprite; conversionTo.sprite = generator.generatorData.converterToResource == (int)AppConstants.ResourceType.ENERGY ? energySprite : generator.generatorData.converterToResource == (int)AppConstants.ResourceType.BIOMASS ? biomassSprite : generator.generatorData.converterToResource == (int)AppConstants.ResourceType.GADGETS ? gadgetsSprite : fuelSprite; int conversionChangeCostVar = (generator.generatorData.converterChangesCount + 1) * AppConstants.GeneratorConversionChangeConstant; conversionChangeCost.text = ResourcesController.FormatNumber(conversionChangeCostVar); changeConversionButton.GetComponent <Button>().onClick.RemoveAllListeners(); changeConversionButton.GetComponent <Button>().onClick.AddListener(() => { ChangeConversion(conversionChangeCostVar); }); commonNick.text = generator.generatorData.nick; }
private void UpdatePopup() { float fruitSize = 0f; int ts = (int)(DateTime.UtcNow - new DateTime(1970, 1, 1, 0, 0, 0, DateTimeKind.Utc)).TotalSeconds; int initialTreeLifetime = Mathf.Abs((tree.treeData.nick == PlayerPrefs.GetString(AppConstants.NickTag) ? tree.treeData.ownerFruitCollectionTimestamp : tree.treeData.commonFruitCollectionTimestamp) - tree.treeData.creationTimestamp); int currentTreeLifetime = Mathf.Abs(ts - tree.treeData.creationTimestamp); int level = 0; int nextLevelLifetime = 0; int nextLevelLifetimeMem = 0; for (int i = 0; i < currentTreeLifetime + AppConstants.TreeUpgradeTimeConstantInSeconds; i += AppConstants.TreeUpgradeTimeConstantInSeconds) { if (i == nextLevelLifetime || i >= currentTreeLifetime) { if (i > initialTreeLifetime) { if (fruitSize.Equals(0f)) { fruitSize = fruitSize + (Mathf.Abs((i > currentTreeLifetime ? currentTreeLifetime : i) - initialTreeLifetime) * level * AppConstants.TreeFruitGrowConstant); } else { fruitSize = fruitSize + (Mathf.Abs((i > currentTreeLifetime ? currentTreeLifetime : i) - nextLevelLifetimeMem) * level * AppConstants.TreeFruitGrowConstant); } nextLevelLifetimeMem = i; } if (i < currentTreeLifetime) { level++; nextLevelLifetime = nextLevelLifetime + level * AppConstants.TreeUpgradeTimeConstantInSeconds; } } } float biomassBonus = 1f + AppConstants.TreeSingleBonusValue * TreesController.instance.trees.FindAll(x => x.treeData.id != tree.treeData.id && Vector3.Distance(x.treeData.position, tree.treeData.position) < AppConstants.TreesBonusDistance).Count; biomassBonus = biomassBonus > AppConstants.TreesBonusMinValue ? biomassBonus : AppConstants.TreesBonusMinValue; biomassBonus = biomassBonus < AppConstants.TreesBonusMaxValue ? biomassBonus : AppConstants.TreesBonusMaxValue; float wellsBonus = 1f + AppConstants.WellSingleBonusValue * WellsController.instance.wells.FindAll(x => Vector3.Distance(x.wellData.position, tree.treeData.position) < AppConstants.WellsBonusDistance).Count; wellsBonus = wellsBonus > AppConstants.WellsBonusMinValue ? wellsBonus : AppConstants.WellsBonusMinValue; wellsBonus = wellsBonus < AppConstants.WellsBonusMaxValue ? wellsBonus : AppConstants.WellsBonusMaxValue; biomassBonus = biomassBonus + wellsBonus; float biomass = (fruitSize * biomassBonus); float maxBiomass = AppConstants.TreeFruitMaximumSizeConstant * level; biomass = (tree.treeData.nick == PlayerPrefs.GetString(AppConstants.NickTag) ? biomass : biomass > maxBiomass ? maxBiomass : biomass); levelText.text = "Poziom " + level; biomassAmount.text = ResourcesController.FormatNumber((biomass)) + (tree.TerritoryBoosted > 1 ? " (<color=lime>x" + tree.TerritoryBoosted + "</color>)" : ""); biomassButton.alpha = (tree.treeData.nick == PlayerPrefs.GetString(AppConstants.NickTag) || biomass.Equals(maxBiomass)) ? 1f : 0.5f; biomassButton.interactable = (tree.treeData.nick == PlayerPrefs.GetString(AppConstants.NickTag) || biomass.Equals(maxBiomass)); biomassButton.GetComponent <Button>().onClick.RemoveAllListeners(); biomassButton.GetComponent <Button>().onClick.AddListener(() => { if (tree.treeData.nick == PlayerPrefs.GetString(AppConstants.NickTag)) { CollectOwnerFruit(biomass); } else { CollectCommonFruit(biomass); } }); nickText.text = tree.treeData.nick; }
// Method to add industry project point public void AddIndustryProjectPoints(int value) { PlayerPrefs.SetInt(AppConstants.IndustryDeltaPoints, PlayerPrefs.GetInt(AppConstants.IndustryDeltaPoints) + value); PlayerPrefs.Save(); industryPointsText.text = ResourcesController.FormatNumber(PlayerPrefs.GetInt(AppConstants.IndustryPoints) + PlayerPrefs.GetInt(AppConstants.IndustryDeltaPoints)); }
// Method to add nature project point public void AddNatureProjectPoints(int value) { PlayerPrefs.SetInt(AppConstants.NatureDeltaPoints, PlayerPrefs.GetInt(AppConstants.NatureDeltaPoints) + value); PlayerPrefs.Save(); naturePointsText.text = ResourcesController.FormatNumber(PlayerPrefs.GetInt(AppConstants.NaturePoints) + PlayerPrefs.GetInt(AppConstants.NatureDeltaPoints)); }
// Initialization public void Start() { naturePointsText.text = ResourcesController.FormatNumber(PlayerPrefs.GetInt(AppConstants.NaturePoints) + PlayerPrefs.GetInt(AppConstants.NatureDeltaPoints)); commercyPointsText.text = ResourcesController.FormatNumber(PlayerPrefs.GetInt(AppConstants.CommercyPoints) + PlayerPrefs.GetInt(AppConstants.CommercyDeltaPoints)); industryPointsText.text = ResourcesController.FormatNumber(PlayerPrefs.GetInt(AppConstants.IndustryPoints) + PlayerPrefs.GetInt(AppConstants.IndustryDeltaPoints)); }