Beispiel #1
0
        public void SetForecast(FightForecast forecast)
        {
            var attackerName = transform.Find("Forecast/Attacker Name").GetComponent <Text>();

            attackerName.text = forecast.AttackerForecast.Attacker.Name.ToUpper();

            var defenderName = transform.Find("Forecast/Defender Name").GetComponent <Text>();

            defenderName.text = forecast.AttackerForecast.Defender.Name.ToUpper();

            PopulateChances(forecast.AttackerForecast.Chances, CombatantParam.Attacker);

            if (forecast.DefenderForecast != null)
            {
                PopulateChances(forecast.DefenderForecast.Chances, CombatantParam.Defender);
            }

            var attackerHealth = forecast.AttackerForecast.Attacker.Health;
            var defenderHealth = forecast.AttackerForecast.Defender.Health;

            var attackerHealthText = GetAmount("Health", CombatantParam.Attacker).GetComponent <Text>();

            attackerHealthText.text = attackerHealth.ToString();

            var defenderHealthText = GetAmount("Health", CombatantParam.Defender).GetComponent <Text>();

            defenderHealthText.text = defenderHealth.ToString();

            var attackerHitCount = GetAmount("HitCount", CombatantParam.Attacker);

            attackerHitCount.SetActive(forecast.AttackerForecast.Hit.HitCount > 1);

            var attackerDamageText = GetAmount("Damage", CombatantParam.Attacker).GetComponent <Text>();

            attackerDamageText.text = forecast.AttackerForecast.Hit.BaseDamage.ToString();

            var defenderDamage = 0;

            if (forecast.DefenderForecast != null)
            {
                var defenderHitCount = GetAmount("HitCount", CombatantParam.Defender);
                defenderHitCount.SetActive(forecast.DefenderForecast.Hit.HitCount > 1);
                defenderDamage = forecast.DefenderForecast.Hit.BaseDamage;
            }

            var defenderDamageText = GetAmount("Damage", CombatantParam.Defender).GetComponent <Text>();

            defenderDamageText.text = defenderDamage.ToString();
        }
Beispiel #2
0
        public void ShowForecast(FightForecast forecast)
        {
            _currentWindow = Instantiate(Prefab);
            _currentWindow.transform.SetParent(transform);

            var forecastWindow = _currentWindow.transform.Find("Forecast");
            var canvasGroup    = forecastWindow.GetComponent <CanvasGroup>();

            canvasGroup.alpha = 0;
            forecastWindow.transform.localPosition = new Vector3(0, -40, 0);

            var forecastComponent = _currentWindow.GetComponent <UI.CombatForecast.CombatForecast>();

            forecastComponent.SetForecast(forecast);

            var animSequence = DOTween.Sequence().SetEase(Ease.OutCubic);

            animSequence.Insert(0, canvasGroup.DOFade(1, TransitionTime));
            animSequence.Insert(0, forecastWindow.transform.DOLocalMove(Vector3.zero, TransitionTime));

            StartCoroutine(PlayAndAttachEvents(animSequence));
        }
 private void OnNewForecast(FightForecast forecast)
 {
     View.ShowForecast(forecast);
 }
Beispiel #4
0
 public FinalizedFight FinalizeFight(FightForecast forecast)
 {
     return(_finalizer.Finalize(forecast, _randomizer));
 }