For some reason the LoadContent method does not get called in my Components. For example I have Game class in which I do:
//Game.cs
protected override void LoadContent() {
editor = new Editor(...);
Components.Add(editor);
}
//Editor.cs
public class Editor : DrawableGameComponent{
Game game;
public Editor(Game game, ...):base(game){
this.game = game;
}
//THIS method never gets called!
protected override void LoadContent() {
background = game.Content.Load<Texture2D>("background");
base.LoadContent();
}
}
Any tips?
EDIT: When you keep in mind the order of Initialize and LoadContent everything works out fine!
I suspect your trouble is due to the Initialize function. LoadContent
is called by Initialize
. There are two things you need to check for:
base.Initialize()
is called. In the code above, you are creating and adding the component in the LoadContent
function of Game.cs, which occurs after Initialize
.Verify that the Initialize
function in your Editor
class is calling the base Initialize
function:
public override void Initialize()
{
base.Initialize();
}
Check out this blog post by Nick Gravelyn for more information. Particularly relevant to your question, in his post, Nick writes that:
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With