при условии, что вы поместили строку public enemy[] enemiesArray = new enemy[5];
внутри своего игрового класса, тогда ваши враги Array - это просто поле вашего игрового класса, а не игровой компонент, вы должны иметь возможность ссылаться на него как
myGameClass.enemiesArray[1]
Предполагая, что ваш игровой класс находится в области видимости.
также, как @annonymously говорит, что списки легче изменять размер во время выполнения, чем массивы, поэтому рассмотрите возможность использования 'List (5) врагаМассив;' вместо
однако это не очень масштабный способ обработки, поэтому я предлагаю вам изучить, как создавать и регистрировать GameComponents. также подумайте о том, чтобы сделать его универсальным, чтобы вы могли иметь одно место для ссылки на все ваши игровые элементы вместо того, чтобы иметь врагов, массив, маркеры, некоторый другой массив и т. д.
простой способ - создать абстрактный класс, подобный
public abstract class GameThing
{
public Vector2 Position {get; set;}
//some other props...
}
, а затем используйте это как базу для своих игровых предметов, чтобы враг определялся как
public class Enemy : GameThing
{
//some props
}
и вместо
public enemy[] enemiesArray = new enemy[5];
вы бы использовали
public GameThing[] gameItemsArray= new GameThing[5];
добавить элементы, как это
gameItemsArray[1] = new Enemy();