В настоящее время я экспериментирую с расширениями Xna Content Pipeline.В рамках этого эксперимента я пытаюсь загрузить файл, содержащий другой «элемент контента», который необходимо загрузить.Например:
public class CustomItem
{
public string Name;
public Texture2D Texture;
}
Теперь в моем обработчике контента я могу создать новый экземпляр CustomItem и инициализировать поле имени, поскольку это просто строка.Тем не менее, я не могу загрузить файл текстуры во время компиляции контента (ПРИМЕЧАНИЕ: текстура - это просто пример, в идеале я хотел бы иметь возможность загружать любой другой тип контента).
Что я ищуибо это что-то вроде:
// ... start class ...
public override CustomItem Process(SomeInputFormat input, ContentProcessorContext context)
{
return new CustomItem()
{
Name = input.ItemName,
Texture = context.LoadAsset<Texture2D>(input.ItemTexturePath) // I realise LoadAsset<T>() does not exist - it's an example of what would be ideal
};
}
// ... end class ...
Кто-нибудь знает, возможно ли это на самом деле, и если да, то как это сделать?Я бы предпочел не идти по пути поздней загрузки других элементов содержимого, если это возможно, или создания собственной пользовательской загрузки содержимого с использованием двоичных программ чтения и записи.