// MODIFIED (by STST): 2.7.2011
 /// <summary>
 /// Erstellt eine neue Instanz eines allgemeinen WaveAI Controllers.
 /// </summary>
 /// <remarks>
 /// Da dies eine Abstrakte Klasse ist, wird dieser innerhalb des Konstruktors der konkreten Klasse aufgerufen.
 /// </remarks>
 /// <param name="shootingFrequency">Die Schussfrequenz.</param>
 /// <param name="controllees">Die GameItem, die der Controller kontrollieren soll.</param>
 /// <param name="velocityIncrease">Geschwindigkeitserhöhung</param>
 /// <param name="controllerManager">Verweis auf Verwaltungsklasse</param>
 protected WaveAI(ControllerManager controllerManager, float shootingFrequency, ICollection <IGameItem> controllees, Vector2 velocityIncrease)
     : base(controllerManager, shootingFrequency, null, velocityIncrease) //null wird das single controllee gesetzt
 {
     this.Controllees = controllees;
     // <STST>
     this.AlienMatrix = AliensInMatrix();
     // </STST>
 }
        /// <summary>
        /// Erstellt eine neue Instanz eines algemeinen AIControllers.
        /// </summary>
        /// <remarks>
        /// Da dies eine Abstrakte Klasse ist, wird dieser Konstruktor innerhalb des Konstruktors der konkreten Klasse aufgerufen.
        /// </remarks>
        /// <param name="shootingFrequency">Die Schussfrequenz.</param>
        /// <param name="controllee">Das GameItem, das der Controller kontrollieren soll.</param>
        /// <param name="velocityIncrease">Geschwindigkeitserhöhung</param>
        /// <param name="controllerManager">Verweis auf Verwaltungsklasse</param>
        protected AIController(ControllerManager controllerManager, float shootingFrequency, IGameItem controllee, Vector2 velocityIncrease)
            : base(controllerManager, controllee)
        {
            this.ShootingFrequency = shootingFrequency;
            this.VelocityIncrease  = velocityIncrease;

            // STST
            Alien.Destroyed += new System.EventHandler(Alien_Destroyed);
        }
        // MODIFIED (by STST): 2.7.2011
        /// <summary>
        /// Generiert eine neue Instanz der <see cref="KeyboardController"/> Klasse.
        /// </summary>
        public KeyboardController(ControllerManager controllerManager, IGameItem controllee)
            : base(controllerManager, controllee)
        {
            this.KBconfig = KeyboardConfig.Default;

            if (this.Controllee is Player)
            {
                myPlayer = (Player)Controllee;
            }
        }
 // MODIFIED (by STST): 2.7.2011
 /// <summary>
 /// Erstellt eine neue Instanz eines allgemeinen MinibossAI Kontrollers.
 /// </summary>
 /// <param name="controllerManager">Verweis auf Verwaltungsklasse</param>
 /// <param name="shootingFrequency">Die Schussfrequenz.</param>
 /// <param name="controllee">Das GameItem, das der Controller kontrollieren soll.</param>
 /// <param name="velocityIncrease">Geschwindigkeitserhöhung</param>
 /// <remarks>
 /// Da dies eine Abstrakte Klasse ist, wird dieser Konstruktor innerhalb des Konstruktors der konkreten Klasse aufgerufen.
 /// </remarks>
 protected MinibossAI(ControllerManager controllerManager, float shootingFrequency, IGameItem controllee, Vector2 velocityIncrease)
     : base(controllerManager, shootingFrequency, controllee, velocityIncrease)
 {
     //Nichts zu erledigen
 }
 /// <summary>
 /// Erstellt eine neue Instanz eines allgemeinen Controllers.
 /// </summary>
 /// <remarks>
 /// Da dies eine Abstrakte Klasse ist, wird dieser innerhalb des Konstruktors der konkreten Klasse aufgerufen.
 /// </remarks>
 /// <param name="controllerManager">Verweis auf Verwaltungsklasse</param>
 /// <param name="controllee">Controllee des Controllers</param>
 protected Controller(ControllerManager controllerManager, IGameItem controllee)
 {
     this.Controllee        = controllee;
     this.controllerManager = controllerManager;
 }
 /// <summary>
 /// Initializes a new instance of the <see cref="MoveDownTestAI"/> class.
 /// </summary>
 /// <param name="controllerManager">Verweis auf Verwaltungsklasse</param>
 /// <param name="shootingFrequency">Die Schussfrequenz.</param>
 /// <param name="controllees">Die GameItem, die der Controller kontrollieren soll.</param>
 /// <param name="velocityIncrease">Geschwindigkeitserhöhung</param>
 public MoveDownTestAI(ControllerManager controllerManager, float shootingFrequency, ICollection <IGameItem> controllees, Vector2 velocityIncrease)
     : base(controllerManager, shootingFrequency, controllees, velocityIncrease)
 {
 }
Exemple #7
0
        /// <summary>
        /// Generiert eine neue Instanz der <see cref="KeyboardController"/> Klasse.
        /// </summary>
        public XBoxController(ControllerManager controllerManager, IGameItem controllee, sbyte controllerNumber)
            : base(controllerManager, controllee)
        {
            this.XBox = XBoxControllerConfig.Default;

            if (controllerNumber > 0 && controllerNumber < 5)
            {
                /*Switche über controllerNumber um den richtigen XBox Controller auszuwählen,
                 * dieser wurde vom Controller Manger vorgegeben*/
                switch (controllerNumber)
                {
                case 1:
                    if (GamePad.GetState(PlayerIndex.One).IsConnected)
                    {
                        myPad            = PlayerIndex.One;
                        GamePadConnected = true;
                    }
                    //else if (GamePad.GetState(PlayerIndex.Two).IsConnected)
                    //{
                    //    myPad = PlayerIndex.Two;
                    //    GamePadConnected = true;
                    //}
                    //else if (GamePad.GetState(PlayerIndex.Three).IsConnected)
                    //{
                    //    myPad = PlayerIndex.Three;
                    //    GamePadConnected = true;
                    //}
                    //else if (GamePad.GetState(PlayerIndex.Four).IsConnected)
                    //{
                    //    myPad = PlayerIndex.Four;
                    //    GamePadConnected = true;
                    //}
                    else
                    {
                        myPad            = PlayerIndex.One;
                        GamePadConnected = false;
                    }
                    break;

                case 2:
                    if (GamePad.GetState(PlayerIndex.Two).IsConnected)
                    {
                        myPad            = PlayerIndex.Two;
                        GamePadConnected = true;
                    }

                    else
                    {
                        myPad            = PlayerIndex.Two;
                        GamePadConnected = false;
                    }
                    break;

                case 3:
                    if (GamePad.GetState(PlayerIndex.Three).IsConnected)
                    {
                        myPad            = PlayerIndex.Three;
                        GamePadConnected = true;
                    }

                    else
                    {
                        myPad            = PlayerIndex.Three;
                        GamePadConnected = false;
                    }
                    break;

                case 4:
                    if (GamePad.GetState(PlayerIndex.Four).IsConnected)
                    {
                        myPad            = PlayerIndex.Four;
                        GamePadConnected = true;
                    }

                    else
                    {
                        myPad            = PlayerIndex.Four;
                        GamePadConnected = false;
                    }
                    break;
                }



                if (this.Controllee is Player)
                {
                    myPlayer = (Player)Controllee;
                }
            }
            else
            {
                throw new ArgumentOutOfRangeException("controllerNumber");
            }
        }
 // by STST
 // MODIFIED (by STST): 2.7.2011
 /// <summary>
 /// Generiert eine neue BlockWaveAI Klasse.
 /// </summary>
 /// <param name="shootingFrequency">Die Schussfrequenz.</param>
 /// <param name="controllees">Die GameItem, die der Controller kontrollieren soll.</param>
 /// <param name="velocityIncrease">Geschwindigkeitserhöhung</param>
 /// <param name="controllerManager">Verweis auf Verwaltungsklasse</param>
 public BlockWaveAI(ControllerManager controllerManager, float shootingFrequency, ICollection <IGameItem> controllees, Vector2 velocityIncrease)
     : base(controllerManager, shootingFrequency, controllees, velocityIncrease)
 {
     rnd = new Random();
 }
Exemple #9
0
 // MODIFIED (by STST): 2.7.2011
 /// <summary>
 /// Erstellt eine neue Instanz eines allgemeinen PlayerControllers.
 /// </summary>
 /// <remarks>
 /// Da dies eine Abstrakte Klasse ist, wird dieser innerhalb des Konstruktors der konkreten Klasse aufgerufen.
 /// </remarks>
 /// <param name="controllerManager">Verweis auf Verwaltungsklasse</param>
 /// <param name="controllee">Controllee des Controllers</param>
 protected PlayerController(ControllerManager controllerManager, IGameItem controllee)
     : base(controllerManager, controllee)
 {
     //Es gibt hier nichts zu tun.
 }
Exemple #10
0
 // MODIFIED (by STST): 2.7.2011
 /// <summary>
 /// Generiert eine neue Instanz der MothershipAI Controllers.
 /// </summary>
 public MothershipAI(ControllerManager controllerManager, float shootingFrequency, IGameItem controllee, Vector2 velocityIncrease)
     : base(controllerManager, shootingFrequency, controllee, velocityIncrease)
 {
     Mothership.Destroyed += new EventHandler(Mothership_Destroyed);
 }