Я сделал, как следует из названия, но Unity, кажется, добавляет все переменные в скрипт, который выше в иерархии.У кого-нибудь есть исправление? ![enter image description here](https://i.stack.imgur.com/Zsvtl.png)
открытый абстрактный класс Враг: Entity {...} открытый абстрактный класс Unit: Entity {...}
public void GenerateCharacters(int x, int y, GameObject c, int i)
{
GameObject go = Instantiate(c) as GameObject;
Entity e = go.GetComponent<Entity>();
//StartCoroutine(e.SpawnAnim());
if (i == 0)
{
Unit u = c.GetComponent<Unit>();
u.InitializeUnits();
u.healthBarEnemy = healthBarEnemy;
u.healthBarAlly = healthBarAlly;
u.healthMeter = healthbarMeter;
GeneratePosition(u, x, y);
u.InitiateGrid(grid);
u.PlayerChange(gamePhase);
}
else
{
Enemy en = c.GetComponent<Enemy>();
en.InitializeEnemies();
en.healthBarEnemy = healthBarEnemy;
en.healthBarAlly = healthBarAlly;
en.healthMeter = healthbarMeter;
GeneratePosition(e, x, y);
en.InitiateGrid(grid);
en.PlayerChange(gamePhase);
}
Debug.Log(unitList.Count);
}