Контент-менеджер в другом классе XNA

Я создал отдельный класс (например, назовем его class2.cs) и хочу использовать его в качестве уровня, поскольку, когда я его вызываю, он будет рисовать для меня все на одном уровне. У меня возникли проблемы с тем, чтобы контент-менеджер работал в классе 2. В данном Game1.cs вы можете легко просто перейти texture2d= Content.Load<Texture2D>("photo");, но я не могу в class2.

Я понимаю, что мне нужно создать новый Content Manager, но для его конструктора требуется игровой сервис, в котором я не уверен, что я должен подключить. В настоящее время у меня есть: ContentManager content = new ContentManager();, но мне нужна перегрузка для ContentManager.


person Dominic K    schedule 06.03.2010    source источник


Ответы (1)


Передайте Content конструктору вашего второго класса из игры, или вы можете создать класс Globals.cs со статическими переменными для вашего ContentManager или spriteBatch или любых общих ресурсов.

person smelch    schedule 06.03.2010
comment
Не используйте глобальные переменные — вместо этого используйте внедрение зависимостей (codeplex.com/unity) - person BlueRaja - Danny Pflughoeft; 06.03.2010
comment
РЕДАКТИРОВАТЬ: Неважно, исправлено, мне пришлось загружать contentmanager после инициализации, а не как в конструкторе. - person Dominic K; 06.03.2010
comment
@BlueRaja, передайте Content конструктору вашего второго класса, то есть инъекции зависимостей, кстати - person Allen Rice; 09.03.2010