// 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) { }
/// <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(); }
// 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. }
// 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); }