Beispiel #1
0
    private IEnumerator BeforePlayerTurn()
    {
        if (firstTurn)
        {
            firstTurn = false;
        }
        else
        {
            experience.Increase();
            yield return(new WaitForSecondsRealtime(0.2f));
        }

        if (experience.Value == expForLvlUp)
        {
            yield return(LvlUp());
        }

        yield return(death.SetValue(list.Count));

        if (death.Value >= countForDeath)
        {
            yield return(Death());

            yield break;
        }
        nextCircle = CreateCircle();
    }
Beispiel #2
0
    public void SetupHUD(Monster monster)
    {
        m_pMonster = monster;

        nameText.text  = "Name: " + monster.MonsterBase.Name;
        levelText.text = "Lvl: " + monster.Level;
        healthSliderBar.SetValue((float)monster.CurrentHealth / monster.MaxHealth);
        energySliderBar.SetValue((float)monster.CurrentEnergy / monster.MaxEnergy);
        healthText.text = monster.CurrentHealth + "/" + monster.MaxHealth;
        energyText.text = monster.CurrentEnergy + "/" + monster.MaxEnergy;

        statusImages = new Dictionary <ConditionID, Image>()
        {
            { ConditionID.Poison, poisonImage },
            { ConditionID.Sleep, sleepImage },
            { ConditionID.Paralyze, paralyzeImage },
            { ConditionID.Freeze, freezeImage },
            { ConditionID.Confusion, confusionImage },
            { ConditionID.Burn, burnImage },
            { ConditionID.Drown, drownImage },
            { ConditionID.Stun, stunImage },
            { ConditionID.KnockBack, knockbackImage },
            { ConditionID.Blind, blindImage },
            { ConditionID.Unconscious, unconsciousImage }
        };

        SetStatusIcons();
        m_pMonster.OnStatusChanged += SetStatusIcons;
    }
Beispiel #3
0
    private IEnumerator LvlUp()
    {
        lvlUpEffect.Play();
        yield return(experience.SetValue(0));

        expForLvlUp = (int)(expForLvlUp * 1.2);
        experience.SetMaxValue(expForLvlUp);
        purposes.Dequeue().dissolveEvent.Invoke();
        for (var i = 0; i < list.Count; i++)
        {
            if (list.InnerList[i].Digit == DigitCap)
            {
                yield return(list.ChangeValue(i, DigitCap / 2));
            }
        }

        DigitCap++;
        yield return(new WaitForSecondsRealtime(1.3f));

        yield return(CollapseSum());
    }