/// <summary> /// Allows the game to perform any initialization it needs to before starting to run. /// This is where it can query for any required services and load any non-graphic /// related content. Calling base.Initialize will enumerate through any components /// and initialize them as well. /// </summary> protected override void Initialize() { // TODO: Add your initialization logic here // set ScreenHeight ScreenHeight = GraphicsDevice.Viewport.Height; // set ScreenWidth ScreenWidth = GraphicsDevice.Viewport.Width; // set cameraPos cameraPos = new Vector3(ScreenWidth / 2, 0, 0); // initialise a new sceneGraph sceneGraph = new SceneGraph(); // initialise a new sceneManager sceneManager = new SceneManager(sceneGraph); // initialise a new collisionManager collisionManager = new CollisionManager(sceneManager); // initialise a new inputManager inputManager = new InputManager(); // initialise a new aiComponontManager aiComponentManager = new AIComponentManager(inputManager); // initialise a new entityManager entityManager = new EntityManager(collisionManager, sceneGraph, aiComponentManager); // initialise a new engineDemo gameDemo = new GameDemo(); // run engineDemo initialise method gameDemo.Initialise(entityManager, sceneManager, collisionManager, aiComponentManager, inputManager, sceneGraph); // add input listeners to the engineDemo inputManager.AddListener(((IKeyboardListener)gameDemo).OnNewKeyboardInput); inputManager.AddListener(((IMouseListener)gameDemo).OnNewMouseInput); // set headerLoaction headerLocation = new Vector2(-ScreenWidth / 2, 0); // initialise base.Initialize(); }
/// <summary> /// Returns an instance of requested entity. /// </summary> /// <typeparam name="T"></typeparam> /// <returns></returns> public IMind RequestMind <T>() where T : IMind, new() { //instanciate a new Mind IMind mind = new T(); // Add a keyboard listener if the class implements the interface for it if (mind is IKeyboardListener) { // add listener _inputManager.AddListener(((IKeyboardListener)mind).OnNewKeyboardInput); } //add the newly created mind to the mind list _mindList.Add(mind); return(mind); }
/// <summary> /// Returns an instance of requested entity. /// </summary> /// <typeparam name="T"></typeparam> /// <returns></returns> public IMind RequestMind <T>() where T : IMind, new() { //instanciate a new Mind IMind mind = new T(); // Deploy _animator to mind mind.SetAnimator(new Animator(_sceneManager, _contentManager)); // Deploy _audioManager to mind mind.SetAudioPlayer(_audioManager); // Add a keyboard listener if the class implements the interface for it if (mind is IKeyboardListener) { // add listener _inputManager.AddListener(((IKeyboardListener)mind).OnNewKeyboardInput); } //add the newly created mind to the mind list _mindList.Add(mind); return(mind); }
/// <summary> /// Subscribe an keyboard listener /// </summary> /// <param name="listener"></param> public void SubscribeKeyboardListener(IKeyboardListener listener) { // Subscribe passed keyboard listener to the input manager _inputManager.AddListener((listener).OnNewKeyboardInput); }
/// <summary> /// Subscrible a keyboard listener /// </summary> /// <param name="pListener"></param> public void SubscribeListener(IKeyboardListener pListener) { inputManager.AddListener(pListener.OnNewKeyboardInput); }