위 코딩은 그래픽장치의 게임 서비스를 얻어오는 구문이다. 게임컴포넌트들은 언제나 Game 개체를 인자로 전달받으므로 모든 게임컴포넌트는 게임이 가지는 모든 게임 서비스들에 접근할 수 있다. 바로 위의 구문이 그것의 예인거다.
그렇다면 게임 서비스를 만드는 방법은 무엇일까?
일단 게임 서비스를 만드는 첫 번째는 인터페이스를 만드는 것이다.
게임 서비스는 특정 인터페이스를 하나만 가질 수 있는데 게임 서비스를 반환해 달라는 요청을 받을 때 어떤 개체를 반환해야 하는지 알기 위해서 이다.
예를 들어 입력에 관련한 게임 서비드를 등록하기 위해서는 아래와 같은 인터페이스를 하나 생성할 수 있다.
public interface IInputHandler { };
이 인터페이스 안에는 속성, 메서드, 이벤트등등이 들어갈 수 있다.
인터페이스를 만들었다면 이젠 인터페이스로 부터 게임컴포넌트를 상속받아야 한다.
public class InputHandler : Microsoft.Xna.Framework.GameComponent, IInputHandler
이젠 마지막으로 게임의 서비스 컬렉션에 이 서비스를 추가하는 것이다.
예를 들면 아래와 같다.