Example #1
0
 /// <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();
 }
Example #2
0
        /// <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);
        }
Example #4
0
 /// <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);
 }
Example #5
0
 /// <summary>
 /// Subscrible a keyboard listener
 /// </summary>
 /// <param name="pListener"></param>
 public void SubscribeListener(IKeyboardListener pListener)
 {
     inputManager.AddListener(pListener.OnNewKeyboardInput);
 }