Пример #1
0
    //-------helper
    protected void UpdateStats()
    {
        ResetBounuses();
        InitMaxStats();
        ApplyEquipmentsUtilities();
        ReloadWeaponWC();
        InitOnCallEvent();
        ApplyBounuses();
        InitPassives();

        for (int i = 0; i < Stats.Size; i++)
        {
            if ((int)STATSTYPE.HEALTH == i)
            {
                if (CurrStats.Get(i) > MaxStats.Get(i))
                {
                    CurrStats.Set(i, MaxStats.Get(i));
                }
            }
            else if ((int)STATSTYPE.ESSENSE == i)
            {
                if (CurrStats.Get(i) > MaxStats.Get(i))
                {
                    CurrStats.Set(i, MaxStats.Get(i));
                }
            }
            else
            {
                CurrStats.Set(i, MaxStats.Get(i));
            }
        }
    }
Пример #2
0
 protected void InitCurrStats()
 {
     for (int i = 0; i < Stats.Size; i++)
     {
         CurrStats.Set(i, MaxStats.Get(i));
     }
 }
Пример #3
0
 protected void InitMaxStats()
 {
     Name = PlayerData.Name;
     for (int i = 0; i < Stats.Size; i++)
     {
         MaxStats.Set(i, PlayerData.BaseStats.Get(i));
     }
 }
Пример #4
0
 protected void CheckLevelUp()
 {
     if (PlayerData.lvl >= LvlExpModule.LvlCap)
     {
         return;
     }
     if (PlayerData.exp >= NextLevelExp)
     {
         PlayerData.lvl++;
         PlayerData.exp = 0;
         CurrStats.Set(STATSTYPE.HEALTH, MaxStats.Get(STATSTYPE.HEALTH));
         CurrStats.Set(STATSTYPE.ESSENSE, MaxStats.Get(STATSTYPE.ESSENSE));
         NextLevelExp = LvlExpModule.GetRequiredExp(PlayerData.lvl + 1);
         AudioSource.PlayClipAtPoint(LevelUpSFX, transform.position, GameManager.SFX_Volume);
         PlayerData.SkillPoints++;
     }
 }
Пример #5
0
    protected void ApplyEquipmentsUtilities()
    {
        Dictionary <EQUIPSET, int> Sets = new Dictionary <EQUIPSET, int>();

        foreach (var e in PlayerData.Equipments)
        {
            if (e != null)
            {
                for (int i = 0; i < Stats.Size; i++)
                {
                    MaxStats.Add(i, e.Stats.Get(i));
                }
                if (e.Set != EQUIPSET.None)
                {
                    if (!Sets.ContainsKey(e.Set))
                    {
                        Sets.Add(e.Set, 1);
                    }
                    else
                    {
                        Sets[e.Set]++;
                    }
                }
            }
        }
        foreach (var set in Sets)
        {
            Set s = ((GameObject)Resources.Load("SetPrefabs/" + set.Key.ToString())).GetComponent <Set>();
            foreach (Bounus b in s.Bounuses)
            {
                if (set.Value >= b.condiction)
                {
                    Bounuses.Add(new Bounus(b));
                }
            }
        }
    }