示例#1
0
    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;
    }
示例#2
0
    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;
    }
示例#3
0
    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;
    }
示例#4
0
    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));
 }