39 lines
1.2 KiB
C#
39 lines
1.2 KiB
C#
using UnityEngine;
|
|
|
|
namespace Watermelon.SquadShooter
|
|
{
|
|
[CreateAssetMenu(fileName = "Enemies Database", menuName = "Data/Enemies Database")]
|
|
public class EnemiesDatabase : ScriptableObject
|
|
{
|
|
[SerializeField] EnemyData[] enemies;
|
|
public EnemyData[] Enemies => enemies;
|
|
|
|
public void InitStatsRealation(int baseCharacterHealth)
|
|
{
|
|
for (int i = 0; i < enemies.Length; i++)
|
|
{
|
|
enemies[i].Stats.InitStatsRelation(baseCharacterHealth);
|
|
}
|
|
}
|
|
|
|
public void SetCurrentCharacterStats(int characterHealth, int weaponDmg)
|
|
{
|
|
for (int i = 0; i < enemies.Length; i++)
|
|
{
|
|
enemies[i].Stats.SetCurrentCreatureStats(characterHealth, weaponDmg, BalanceController.CurrentDifficulty);
|
|
}
|
|
}
|
|
|
|
public EnemyData GetEnemyData(EnemyType type)
|
|
{
|
|
for (int i = 0; i < enemies.Length; i++)
|
|
{
|
|
if (enemies[i].EnemyType.Equals(type))
|
|
return enemies[i];
|
|
}
|
|
|
|
Debug.LogError("[Enemies Database] Enemy of type " + type + " + is not found!");
|
|
return enemies[0];
|
|
}
|
|
}
|
|
} |