DrawableGameComponent.Initialize Method
Initializes the component. Override this method to load any non-graphics resources and query for any required services.
Namespace: Microsoft.Xna.Framework
Assembly: Microsoft.Xna.Framework.Game (in microsoft.xna.framework.game.dll)
Syntax
public override void Initialize ()
Exceptions
Exception type | Condition |
---|---|
InvalidOperationException | There is no IGraphicsDeviceService available in the GameServiceContainer that this DrawableGameComponent is associated with. Usually this means there is no GraphicsDeviceManager associated with the services of a Game. |
Remarks
Game services are a mechanism for maintaining loose coupling between objects that need to interact with each other. Services work through a mediator—in this case, Game.Services. Service providers register with Game.Services, and service consumers request services from Game.Services. This arrangement allows an object that requires a service to request the service without knowing the name of the service provider.
Game services are defined by an interface. A class specifies the services it provides by implementing interfaces and registering the services with Game.Services. A service is registered by calling Game.Services.AddService specifying the type of service being implemented and a reference to the object providing the service. For example, to register an object that provides a service represented by the interface IMyService, you would use the following code.
Services.AddService( typeof( IMyService ), myobject );
Once a service is registered, the object providing the service can be retrieved by Game.Services.GetService and specifying the desired service. For example, to retrieve IGraphicsDeviceService, you would use the following code.
IGraphicsDeviceService graphicsservice = (IGraphicsDeviceService)Services.GetService( typeof(IGraphicsDeviceService) );
See Also
Reference
Game.Services Property
DrawableGameComponent Class
DrawableGameComponent Members
Microsoft.Xna.Framework Namespace
Platforms
Xbox 360, Windows XP SP2, Windows Vista