public void SetMissionBattle(OfflineBattle battle, int battleNumber, int totalBattles)
        {
            var colorsConfig = configsProvider.Get <ColorsConfig>();

            this.battle            = battle;
            rectTransform.rotation = Quaternion.Euler(0, 0, (-360F / totalBattles) * battleNumber);
            image.fillAmount       = (1F / totalBattles) - 0.01F;
            if (battle.battleFinished)
            {
                image.color = battle.battleSuccess ? colorsConfig.missionSuccess : colorsConfig.missionFailed;
            }
            else
            {
                image.color = battle.battleStarted ? colorsConfig.missionSuccess : colorsConfig.missionIdle;
            }
        }
Exemplo n.º 2
0
        public void SetBattle(OfflineBattle offlineBattle, int battleNumber)
        {
            var colorConfigs = configs.Get <ColorsConfig>();

            battle     = offlineBattle;
            title.text = $"{battleNumber}. Battle";

            progress.gameObject.SetActive(!battle.cancelled && battle.battleStarted && !battle.battleFinished);
            rewardsCanvas.gameObject.SetActive(battle.battleSuccess && battle.lootedItems?.IsEmpty() == false);
            if (battle.cancelled)
            {
                resultText.text  = "aborted";
                resultText.color = colorConfigs.missionIdle;
                resultText.gameObject.SetActive(true);
            }
            else if (battle.battleFinished)
            {
                if (battle.battleSuccess)
                {
                    if (battle.lootedItems?.IsEmpty() == false)
                    {
                        resultText.gameObject.SetActive(false);
                        lootItems.ForEach(lootItem => Destroy(lootItem.gameObject));
                        lootItems.Clear();
                        battle.lootedItems.ForEach(item =>
                        {
                            if (item.type == LootedItemType.GEAR)
                            {
                                var gear = gearService.Gear(item.value);
                                gear.markedToBreakdown = forgeService.IsAutoBreakdown(gear);
                            }
                            var prefab = Instantiate(lootItemPrefab, rewardsCanvas);
                            prefab.SetItem(item, rewardsCanvas.rect.height);
                            lootItems.Add(prefab);
                        });
                    }
                    else
                    {
                        resultText.text  = "success";
                        resultText.color = colorConfigs.missionSuccess;
                        resultText.gameObject.SetActive(true);
                    }
                }
                else
                {
                    resultText.text  = "failed";
                    resultText.color = colorConfigs.missionFailed;
                    resultText.gameObject.SetActive(true);
                }
            }
            else if (battle.battleStarted)
            {
                resultText.gameObject.SetActive(false);
            }
            else
            {
                resultText.text  = "starts soon";
                resultText.color = colorConfigs.missionIdle;
                resultText.gameObject.SetActive(true);
            }
        }