1.8 KiB
ContentManager extensions
ContentManager.OpenStream
System.IO.Stream ContentManager.OpenStream(string filename)
OpenStream allows easy access to TitleContainer.OpenStream so you can use the Game.Content object to load compiled resources and included resources.
// my-file.txt is in the RootDirectory
var stream = Content.OpenStream("my-file.txt");
// do something with file
stream.Close();
ContentManager.GetGraphicsDevice
GraphicsDevice ContentManager.GetGraphicsDevice()
GetGraphicsDevice returns the current GraphicsDevice from the services.
var graphicsDevice = Content.GetGraphicsDevice();
var width = graphicsDevice.DisplayMode.Width;
ContentReader extensions
The ContentReader extensions help when writing your own content pipeline readers.
ContentReader.GetGraphicsDevice
GraphicsDevice ContentManager.GetGraphicsDevice()
GetGraphicsDevice returns the current GraphicsDevice to help when loading content for the current display.
public class MyTypeReader : ContentTypeReader<MyType> {
protected override MyType Read(ContentReader reader, MyType existingInstance)
{
var graphicsDevice = reader.GetGraphicsDevice();
// ...
}
}
ContentReader.GetRelativeAssetName
string ContentReader.GetRelativeAssetName(string relativeName)
GetRelativeAssetName helps when your content type loads a different type, and you want to know the name to give ContentManager.Load.
public class MyTypeReader : ContentTypeReader<MyType> {
protected override MyType Read(ContentReader reader, MyType existingInstance)
{
var assetName = reader.GetRelativeAssetName(reader.ReadString());
var other = reader.ContentManager.Load<OtherType>(assetName);
// ...
}
}