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; } }
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); } }