//-------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)); } } }
protected void InitCurrStats() { for (int i = 0; i < Stats.Size; i++) { CurrStats.Set(i, MaxStats.Get(i)); } }
protected void InitMaxStats() { Name = PlayerData.Name; for (int i = 0; i < Stats.Size; i++) { MaxStats.Set(i, PlayerData.BaseStats.Get(i)); } }
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++; } }
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)); } } } }