Exemple #1
0
        private void UpdateGeneratorIcon()
        {
            if (Services.PlanetService.CurrentPlanet.Id == PlanetConst.EARTH_ID)
            {
                if (generator.State == GeneratorState.Active)
                {
                    staticGeneratorImage?.Deactivate();
                    ToggleAnimatedObject(Services.PlanetService.CurrentPlanet.Id, true);
                }
                else
                {
                    staticGeneratorImage?.Activate();
                    ToggleAnimatedObject(Services.PlanetService.CurrentPlanet.Id, false);
                }
            }
            else
            {
                if (HasAnimatedImageForPlanet(Services.PlanetService.CurrentPlanet.Id))
                {
                    ToggleAnimatedObject(Services.PlanetService.CurrentPlanet.Id, true);
                    staticGeneratorImage?.Deactivate();
                }
                else
                {
                    var generatorIconData = Services.ResourceService.GeneratorLocalData.GetLocalData(generator.GeneratorId).GetIconData(Services.PlanetService.CurrentPlanet.Id);

                    ToggleAnimatedObject(Services.PlanetService.CurrentPlanet.Id, false);
                    staticGeneratorImage?.Activate();
                    if (staticGeneratorImage != null)
                    {
                        staticGeneratorImage.overrideSprite = Services.ResourceService.GetSpriteByKey(generatorIconData.icon_id);
                    }
                }
            }
        }
Exemple #2
0
        private void Setup()
        {
            Construct();
            switch (boostService.State)
            {
            case BoostState.FirstCharger: {
                progressBack.Activate();
                progressFill.overrideSprite = orangeSprite;
                readyToActivateText.Deactivate();
                activateText.Activate();
                activateText.text = Services.ResourceService.Localization.GetString("boost");
                timerText.Activate();
                button.interactable = false;
                videoAdIconImage.Deactivate();
                x20Image.gameObject.Activate();
            }
            break;

            case BoostState.Active: {
                progressBack.Activate();
                progressFill.fillAmount     = 1.0f;
                progressFill.overrideSprite = orangeSprite;
                readyToActivateText.Deactivate();
                activateText.Activate();
                activateText.text = Services.ResourceService.Localization.GetString("boost");
                timerText.Activate();
                button.interactable = true;
                videoAdIconImage.Deactivate();
                x20Image.gameObject.Activate();
            }
            break;

            case BoostState.ReadyToActivate: {
                progressBack.Deactivate();
                readyToActivateText.Activate();
                readyToActivateText.text = Services.ResourceService.Localization.GetString("megaboost");
                activateText.Deactivate();
                timerText.Deactivate();
                button.interactable = true;
                videoAdIconImage.Deactivate();
                x20Image.gameObject.Activate();
            }
            break;

            case BoostState.Locked: {
                progressBack.Activate();
                progressFill.overrideSprite = greenSprite;
                readyToActivateText.Deactivate();
                activateText.Activate();
                activateText.text = Services.ResourceService.Localization.GetString("unlocknow");
                timerText.Activate();
                button.interactable = true;
                videoAdIconImage.Activate();
                x20Image.gameObject.Deactivate();
            }
            break;
            }
        }
 public void SetImageProperties(Sprite imageSprite = null, Color?newColor = null, bool keepAspectRatio = false)
 {
     ImageAnnouncement.Activate();
     ImageAnnouncement.sprite = imageSprite;
     ImageAnnouncement.DOColor(newColor ?? Color.white, 0.5f);
     ImageAnnouncement.preserveAspect = keepAspectRatio;
 }
Exemple #4
0
 private void UpdateGeneratorIcon()
 {
     if (lockIcon == null)
     {
         return;
     }
     if (generatorPlanetIconData == null || (generatorPlanetIconData.planet_id != Services.PlanetService.CurrentPlanet.Id))
     {
         generatorPlanetIconData = Services.ResourceService.GeneratorLocalData.GetLocalData(generator.GeneratorId)
                                   .GetIconData(Services.PlanetService.CurrentPlanet.Id);
         if (generatorPlanetIconData != null)
         {
             lockIcon.Activate();
             if (generatorPlanetIconData.icon_id.IsValid())
             {
                 var sprite = Services.ResourceService.GetSpriteByKey(generatorPlanetIconData.lock_icon);
                 if (sprite != null)
                 {
                     lockIcon.overrideSprite = sprite;
                 }
                 else
                 {
                     Debug.LogError($"Not found generator {generator.GeneratorId} icon for planet => {Services.PlanetService.CurrentPlanet.Id}");
                     lockIcon.MakeTransparent();
                 }
             }
             else
             {
                 lockIcon.MakeTransparent();
             }
         }
     }
 }
Exemple #5
0
        private void UpdateReadytOpenPlanetView()
        {
            actionButton.Activate();
            actionButton.interactable = true;
            SetButtonGrayed(false);

            actionButtonName.Activate();
            actionButtonName.text = Services.ResourceService.Localization.GetString("btn_launch");

            progressParent.Deactivate();
            priceParent.Deactivate();
            buttonRocketImage.Activate();
            moduleCollection.Deactivate();
            //buttonRocketImage.overrideSprite = context.EndOpenedSprite;

            actionButton.SetListener(() => {
                Services.GetService <IPlanetService>().SetOpened(planetId);
                actionButton.GetComponent <Animator>()?.SetTrigger("click");
                Services.ViewService.Remove(ViewType.PlanetsView);
                GameEvents.OnTutorialEvent(new TutorialEventData(TutorialEventName.OpenPlanetClicked, Planet.Id));
            });
        }
Exemple #6
0
 private void UpdateTabState(IPlanetService planetService)
 {
     //Now rocket game available also on Earth
     if (planetService.IsMoonOpened)
     {
         raceTabCarIconImage.overrideSprite = raceAvailableIconSprite;
         tabMoonImage.Deactivate();
     }
     else
     {
         raceTabCarIconImage.overrideSprite = raceNotAvailableIconSprite;
         tabMoonImage.Activate();
     }
 }
        public void ShowProgress(float progress)
        {
            if (!IsDownloading)
            {
                if (IfDownloading != null)
                {
                    IfDownloading.Invoke(false);
                }

                return;
            }

            var rProgress = progress / 100; //relative progress

            if (LoaderImage)
            {
                if (!LoaderImage.IsActive())
                {
                    LoaderImage.Activate();
                    DownloadIcon.Deactivate();

                    if (OnDownloadStarts != null)
                    {
                        OnDownloadStarts.Invoke();
                    }

                    if (IfDownloading != null)
                    {
                        IfDownloading.Invoke(true);
                    }
                }

                LoaderImage.fillAmount = rProgress;
                if (Downloading != null)
                {
                    Downloading.Invoke(rProgress);
                }
            }

            _alreadyClicked = true;
        }
Exemple #8
0
        private void UpdateMiscImages()
        {
            IPlanetService planetService = Services.GetService <IPlanetService>();

            if (planetService.IsOpened(PlanetConst.MARS_ID))
            {
                marsImage.Deactivate();
            }
            else
            {
                marsImage.Activate();
            }

            if (planetService.IsOpened(PlanetConst.MOON_ID))
            {
                moonImage.Deactivate();
            }
            else
            {
                moonImage.Activate();
            }
        }
Exemple #9
0
        public void Setup(ShipModuleInfo module)
        {
            this.module = module;
            ModuleNameData moduleNameData = Services.ResourceService.ModuleNameRepository.GetModuleNameData(module.Id);

            moduleNameText.text = Services.ResourceService.Localization.GetString(moduleNameData.name);
            switch (module.State)
            {
            case ShipModuleState.Opened: {
                currencyIconImage.Deactivate();
                currencyText.Deactivate();
                planetImage.Deactivate();
                buyButton.Deactivate();
            }
            break;

            case ShipModuleState.Available: {
                currencyIconImage.Activate();
                currencyText.Activate();
                planetImage.Deactivate();
                buyButton.Activate();
            }
            break;

            case ShipModuleState.Locked: {
                currencyIconImage.Activate();
                currencyText.Activate();
                planetImage.Activate();
                buyButton.Activate();
            }
            break;
            }
            currencyIconImage.overrideSprite = Services.ResourceService.GetCurrencySprite(module.CurrencyType);
            currencyText.text = BosUtils.GetCurrencyString(Currency.Create(module.CurrencyType, module.Price));

            PlanetNameData planetNameData = Services.ResourceService.PlanetNameRepository.GetPlanetNameData(module.Data.PlanetId);

            if (planetNameData != null)
            {
                planetImage.overrideSprite = Services.ResourceService.GetSpriteByKey(planetNameData.icon);
            }
            else
            {
                planetImage.overrideSprite = Services.ResourceService.Sprites.FallbackSprite;
            }

            buyButton.SetListener(() => {
                var status = Services.GetService <IShipModuleService>().BuyModule(module.Id);
                switch (status)
                {
                case ModuleTransactionState.Success: {
                    Services.SoundService.PlayOneShot(SoundName.buyUpgrade);
                    Setup(module);
                }
                break;

                case ModuleTransactionState.NotEnoughCurrency:
                    {
                        if (module.CurrencyType == CurrencyType.Coins)
                        {
                            Services.ViewService.Show(ViewType.CoinRequiredView, new ViewData {
                                UserData = (int)module.Price
                            });
                        }
                    }
                    break;
                }
            });

            IShipModuleService moduleService = Services.GetService <IShipModuleService>();

            updateTimer.Setup(0.5f, (deltaTime) => {
                ModuleTransactionState moduleTransactionState;
                if (moduleService.IsAllowBuyModule(module.Id, out moduleTransactionState))
                {
                    buyButton.interactable = true;
                }
                else if (moduleTransactionState == ModuleTransactionState.NotEnoughCurrency && module.CurrencyType == CurrencyType.Coins)
                {
                    buyButton.interactable = true;
                }
                else
                {
                    buyButton.interactable = false;
                }
            }, true);

            MoveObject(module);
        }