Beispiel #1
0
 public Enemy(Objectmanager objectmanager, ContentManager contentManager, Mathe mathe, Enemydatabase enemydatabase, Enemytype typ, Vector2 position, Richtung blickrichtung, float skalierung)
 {
     Gravitation = 0.40f;
     MaxSpeed = new Vector2(6, 15);
     this.Objectmanager = objectmanager;
     this.Mathe = mathe;
     this.State = Enemystate.Idle;
     this.Blickrichtung = blickrichtung;
     this.Skalierung = skalierung;
     this.PositionCurrent = position;
     this.Typ = typ;
     Enemy Tempenemy = enemydatabase.Read(typ);
     Texturmaße = new Vector2(Tempenemy.Texturmaße.X, Tempenemy.Texturmaße.Y);
     AniGeschwindigkeit = Tempenemy.AniGeschwindigkeit;
     Spalten = Tempenemy.Spalten;
     Texturname = Tempenemy.Texturname;
     Wiederholen = Tempenemy.Wiederholen;
     Textur = Tempenemy.Textur;
     Kollision = new Rectangle((int)(Texturmaße.X / 2) - 5, (int)Texturmaße.Y - 20, 10, 10);
     for (int i = 0; i < Textur.Count(); i++)
     {
         if (Texturname[i] == "Idle")
         {
             Animation = new Animation(Textur[i], true, Spalten[i], new Rectangle(0, 0, (int)Texturmaße.X, (int)Texturmaße.Y), skalierung, AniGeschwindigkeit[i]); break;
         }
     }
 }
Beispiel #2
0
 public Enemy Read(Enemytype typ)
 {
     for (int i = 0; i < Enemys.Count(); i++)
     {
         if (Enemys[i].Typ == typ) return Enemys[i];
     }
     return null;
 }
Beispiel #3
0
 public void AddEnemy(Enemytype typ, Vector2 position, Richtung blickrichtung, float skalierung)
 {
     Enemys.Add(new Enemy(Objectmanager, ContentManager, Mathe, Enemydatabase, typ, position, blickrichtung, skalierung));
 }
Beispiel #4
0
 //Auswahl eines unbestimmten Gegners (Eventaktion)
 public Enemy PickEnemy(Enemytype typ, Vector2 position)
 {
     foreach (Enemy enemy in Enemys)
     {
         if ((enemy.Typ == typ) && (Mathe.Distanzberechnung(new Vector2(enemy.PositionCurrent.X + (enemy.Texturmaße.X / 2), enemy.PositionCurrent.Y + (enemy.Texturmaße.Y / 2)), position) < 100))
         {
             return enemy;
         }
     }
     return null;
 }