public Enemy(string charName, Classes className, int level, GUIElement staticEnemy, Animation standardAnimation, Animation attackAnimation, Animation deathAnimation, bool isAnimated) : base(charName, className, level, standardAnimation, attackAnimation, deathAnimation) { this.isAnimated = isAnimated; this.StaticEnemy = staticEnemy; LoadSkillHelperClass.AddSkillsForEnemy(this); }
//Konstruktor public Character(string charName, Classes className, int level, Animation standardAnimation, Animation attackAnimation, Animation deathAnimation) { this.Name = charName; this.Class = className; this.Level = level; this.SetInitiative(); this.ChangeAttributes(AttributesHelperClass.SetAttributes()); for (int i = Level; i > 0; i--) { this.ChangeAttributes(AttributesHelperClass.LevelUpAttributes(this.Class)); } this.SetFightAttributes(); this.Skills = new List<Skill>(); this.Statuseffects = new List<IStatuseffect>(); if (standardAnimation != null && attackAnimation != null && deathAnimation != null) { this.StandardAnimation = standardAnimation; this.AttackAnimation = attackAnimation; this.DeathAnimation = deathAnimation; } else { StandardAnimation = LoadContentHelper.PlaceHolderForStatics; AttackAnimation = LoadContentHelper.PlaceHolderForStatics; DeathAnimation = LoadContentHelper.PlaceHolderForStatics; } LoadSkillHelperClass.AddStandardSkills(this); this.IsMindBlown = false; }
public void SetAnimation(Animation animation) { this.Animation = animation; }
public void LoadContent(Animation animation, Vector2 position) { this.animation = animation; this.position = position; }
//Initialisiert sämtliche Daten die dieses Évent benötigt und holt sich die texturen und charactere aus dem loadContentHelper public void InitializeData() { StaticEnemies = new List<GUIElement>(); int groupCount = 0; int enemyCount = 0; //Jeder Character erhält seine Initialisierung. Die AttackAnimations werden auf Inaktiv gesetzt, //Die Positio der Charactere wird festgelegt, sämtliche Icons die ein Character benötigt werden geladen foreach (PartyMember partyMember in this.fightCadre) { if (groupCount == 0) { partyMember.AttackAnimation.active = false; partyMember.Position = characterPosition_1; this.fightCadre.ElementAt<Character>(0).LoadContent(partyMember.StandardAnimation, partyMember.Position); partyMember1 = partyMember; BleedIconCharacter1 = LoadContentHelper.BleedIcon; BlessedIconCharacter1 = LoadContentHelper.BlessedIcon; BurnedIconCharacter1 = LoadContentHelper.BurnIcon; HasHaloIconCharacter1 = LoadContentHelper.HaloIcon; MindblownIconCharacter1 = LoadContentHelper.MindblownIcon; PoisenedIconCharacter1 = LoadContentHelper.PoisenIcon; BleedIconCharacter1.PositionX = (int)partyMember1.Position.X + 25; BleedIconCharacter1.PositionY = (int)partyMember1.Position.Y; BlessedIconCharacter1.PositionX = (int)partyMember1.Position.X + 25; BlessedIconCharacter1.PositionY = (int)partyMember1.Position.Y; BurnedIconCharacter1.PositionX = (int)partyMember1.Position.X + 25; BurnedIconCharacter1.PositionY = (int)partyMember1.Position.Y; HasHaloIconCharacter1.PositionX = (int)partyMember1.Position.X + 25; HasHaloIconCharacter1.PositionY = (int)partyMember1.Position.Y; MindblownIconCharacter1.PositionX = (int)partyMember1.Position.X + 25; MindblownIconCharacter1.PositionY = (int)partyMember1.Position.Y; PoisenedIconCharacter1.PositionX = (int)partyMember1.Position.X + 25; PoisenedIconCharacter1.PositionY = (int)partyMember1.Position.Y; } if (groupCount == 1) { partyMember.AttackAnimation.active = false; partyMember.Position = characterPosition_2; this.fightCadre.ElementAt<Character>(1).LoadContent(partyMember.StandardAnimation, partyMember.Position); partyMember2 = partyMember; BleedIconCharacter2 = LoadContentHelper.BleedIcon2; BlessedIconCharacter2 = LoadContentHelper.BlessedIcon2; BurnedIconCharacter2 = LoadContentHelper.BurnIcon2; HasHaloIconCharacter2 = LoadContentHelper.HaloIcon2; MindblownIconCharacter2 = LoadContentHelper.MindblownIcon2; PoisenedIconCharacter2 = LoadContentHelper.PoisenIcon2; BleedIconCharacter2.PositionX = (int)partyMember2.Position.X + 25; BleedIconCharacter2.PositionY = (int)partyMember2.Position.Y; BlessedIconCharacter2.PositionX = (int)partyMember2.Position.X + 25; BlessedIconCharacter2.PositionY = (int)partyMember2.Position.Y; BurnedIconCharacter2.PositionX = (int)partyMember2.Position.X + 25; BurnedIconCharacter2.PositionY = (int)partyMember2.Position.Y; HasHaloIconCharacter2.PositionX = (int)partyMember2.Position.X + 25; HasHaloIconCharacter2.PositionY = (int)partyMember2.Position.Y; MindblownIconCharacter2.PositionX = (int)partyMember2.Position.X + 25; MindblownIconCharacter2.PositionY = (int)partyMember2.Position.Y; PoisenedIconCharacter2.PositionX = (int)partyMember2.Position.X + 25; PoisenedIconCharacter2.PositionY = (int)partyMember2.Position.Y; } if (groupCount == 2) { partyMember.AttackAnimation.active = false; partyMember.Position = characterPosition_3; this.fightCadre.ElementAt<Character>(2).LoadContent(partyMember.StandardAnimation, partyMember.Position); partyMember3 = partyMember; BleedIconCharacter3 = LoadContentHelper.BleedIcon3; BlessedIconCharacter3 = LoadContentHelper.BlessedIcon3; BurnedIconCharacter3 = LoadContentHelper.BurnIcon3; HasHaloIconCharacter3 = LoadContentHelper.HaloIcon3; MindblownIconCharacter3 = LoadContentHelper.MindblownIcon3; PoisenedIconCharacter3 = LoadContentHelper.PoisenIcon3; BleedIconCharacter3.PositionX = (int)partyMember3.Position.X + 25; BleedIconCharacter3.PositionY = (int)partyMember3.Position.Y; BlessedIconCharacter3.PositionX = (int)partyMember3.Position.X + 25; BlessedIconCharacter3.PositionY = (int)partyMember3.Position.Y; BurnedIconCharacter3.PositionX = (int)partyMember3.Position.X + 25; BurnedIconCharacter3.PositionY = (int)partyMember3.Position.Y; HasHaloIconCharacter3.PositionX = (int)partyMember3.Position.X + 25; HasHaloIconCharacter3.PositionY = (int)partyMember3.Position.Y; MindblownIconCharacter3.PositionX = (int)partyMember3.Position.X + 25; MindblownIconCharacter3.PositionY = (int)partyMember3.Position.Y; PoisenedIconCharacter3.PositionX = (int)partyMember3.Position.X + 25; PoisenedIconCharacter3.PositionY = (int)partyMember3.Position.Y; } if (groupCount == 3) { partyMember.AttackAnimation.active = false; partyMember.Position = characterPosition_4; this.fightCadre.ElementAt<Character>(3).LoadContent(partyMember.StandardAnimation, partyMember.Position); partyMember4 = partyMember; BleedIconCharacter4 = LoadContentHelper.BleedIcon4; BlessedIconCharacter4 = LoadContentHelper.BlessedIcon4; BurnedIconCharacter4 = LoadContentHelper.BurnIcon4; HasHaloIconCharacter4 = LoadContentHelper.HaloIcon4; MindblownIconCharacter4 = LoadContentHelper.MindblownIcon4; PoisenedIconCharacter4 = LoadContentHelper.PoisenIcon4; BleedIconCharacter4.PositionX = (int)partyMember4.Position.X + 25; BleedIconCharacter4.PositionY = (int)partyMember4.Position.Y; BlessedIconCharacter4.PositionX = (int)partyMember4.Position.X + 25; BlessedIconCharacter4.PositionY = (int)partyMember4.Position.Y; BurnedIconCharacter4.PositionX = (int)partyMember4.Position.X + 25; BurnedIconCharacter4.PositionY = (int)partyMember4.Position.Y; HasHaloIconCharacter4.PositionX = (int)partyMember4.Position.X + 25; HasHaloIconCharacter4.PositionY = (int)partyMember4.Position.Y; MindblownIconCharacter4.PositionX = (int)partyMember4.Position.X + 25; MindblownIconCharacter4.PositionY = (int)partyMember4.Position.Y; PoisenedIconCharacter4.PositionX = (int)partyMember4.Position.X + 25; PoisenedIconCharacter4.PositionY = (int)partyMember4.Position.Y; } groupCount++; } foreach (Enemy enemy in this.Enemies) { // Sobald der Gegner eine Animation bestizt wird dies erkannt und die Animationen werden geladen if (enemy.isAnimated) { if (enemyCount == 0) { enemy.AttackAnimation.active = false; enemy.Position = enemyPosition_1; enemy.LoadContent(enemy.StandardAnimation, enemy.Position); enemy1 = enemy; BleedIconEnemy1 = LoadContentHelper.BleedIcon5; BlessedIconEnemy1 = LoadContentHelper.BlessedIcon5; BurnedIconEnemy1 = LoadContentHelper.BurnIcon5; HasHaloIconEnemy1 = LoadContentHelper.HaloIcon5; MindblownIconEnemy1 = LoadContentHelper.MindblownIcon5; PoisenedIconEnemy1 = LoadContentHelper.PoisenIcon5; BleedIconEnemy1.PositionX = (int)enemy1.Position.X - 65; BleedIconEnemy1.PositionY = (int)enemy1.Position.Y; BlessedIconEnemy1.PositionX = (int)enemy1.Position.X - 65; BlessedIconEnemy1.PositionY = (int)enemy1.Position.Y; BurnedIconEnemy1.PositionX = (int)enemy1.Position.X - 65; BurnedIconEnemy1.PositionY = (int)enemy1.Position.Y; HasHaloIconEnemy1.PositionX = (int)enemy1.Position.X - 65; HasHaloIconEnemy1.PositionY = (int)enemy1.Position.Y; MindblownIconEnemy1.PositionX = (int)enemy1.Position.X - 65; MindblownIconEnemy1.PositionY = (int)enemy1.Position.Y; PoisenedIconEnemy1.PositionX = (int)enemy1.Position.X - 65; PoisenedIconEnemy1.PositionY = (int)enemy1.Position.Y; } if (enemyCount == 1) { enemy.AttackAnimation.active = false; enemy.Position = enemyPosition_2; this.Enemies.ElementAt<Character>(1).LoadContent(enemy.StandardAnimation, enemy.Position); enemy2 = enemy; BleedIconEnemy2 = LoadContentHelper.BleedIcon6; BlessedIconEnemy2 = LoadContentHelper.BlessedIcon6; BurnedIconEnemy2 = LoadContentHelper.BurnIcon6; HasHaloIconEnemy2 = LoadContentHelper.HaloIcon6; MindblownIconEnemy2 = LoadContentHelper.MindblownIcon6; PoisenedIconEnemy2 = LoadContentHelper.PoisenIcon6; BleedIconEnemy2.PositionX = (int)enemy2.Position.X - 65; BleedIconEnemy2.PositionY = (int)enemy2.Position.Y; BlessedIconEnemy2.PositionX = (int)enemy2.Position.X - 65; BlessedIconEnemy2.PositionY = (int)enemy2.Position.Y; BurnedIconEnemy2.PositionX = (int)enemy2.Position.X - 65; BurnedIconEnemy2.PositionY = (int)enemy2.Position.Y; HasHaloIconEnemy2.PositionX = (int)enemy2.Position.X - 65; HasHaloIconEnemy2.PositionY = (int)enemy2.Position.Y; MindblownIconEnemy2.PositionX = (int)enemy2.Position.X - 65; MindblownIconEnemy2.PositionY = (int)enemy2.Position.Y; PoisenedIconEnemy2.PositionX = (int)enemy2.Position.X - 65; PoisenedIconEnemy2.PositionY = (int)enemy2.Position.Y; } if (enemyCount == 2) { enemy.AttackAnimation.active = false; enemy.Position = enemyPosition_3; this.Enemies.ElementAt<Character>(2).LoadContent(enemy.StandardAnimation, enemy.Position); enemy3 = enemy; BleedIconEnemy3 = LoadContentHelper.BleedIcon7; BlessedIconEnemy3 = LoadContentHelper.BlessedIcon7; BurnedIconEnemy3 = LoadContentHelper.BurnIcon7; HasHaloIconEnemy3 = LoadContentHelper.HaloIcon7; MindblownIconEnemy3 = LoadContentHelper.MindblownIcon7; PoisenedIconEnemy3 = LoadContentHelper.PoisenIcon7; BleedIconEnemy3.PositionX = (int)enemy3.Position.X - 65; BleedIconEnemy3.PositionY = (int)enemy3.Position.Y; BlessedIconEnemy3.PositionX = (int)enemy3.Position.X - 65; BlessedIconEnemy3.PositionY = (int)enemy3.Position.Y; BurnedIconEnemy3.PositionX = (int)enemy3.Position.X - 65; BurnedIconEnemy3.PositionY = (int)enemy3.Position.Y; HasHaloIconEnemy3.PositionX = (int)enemy3.Position.X - 65; HasHaloIconEnemy3.PositionY = (int)enemy3.Position.Y; MindblownIconEnemy3.PositionX = (int)enemy3.Position.X - 65; MindblownIconEnemy3.PositionY = (int)enemy3.Position.Y; PoisenedIconEnemy3.PositionX = (int)enemy3.Position.X - 65; PoisenedIconEnemy3.PositionY = (int)enemy3.Position.Y; } if (enemyCount == 3) { enemy.AttackAnimation.active = false; enemy.Position = enemyPosition_4; this.Enemies.ElementAt<Character>(3).LoadContent(enemy.StandardAnimation, enemy.Position); enemy4 = enemy; BleedIconEnemy4 = LoadContentHelper.BleedIcon8; BlessedIconEnemy4 = LoadContentHelper.BlessedIcon8; BurnedIconEnemy4 = LoadContentHelper.BurnIcon8; HasHaloIconEnemy4 = LoadContentHelper.HaloIcon8; MindblownIconEnemy4 = LoadContentHelper.MindblownIcon8; PoisenedIconEnemy4 = LoadContentHelper.PoisenIcon8; BleedIconEnemy4.PositionX = (int)enemy4.Position.X - 65; BleedIconEnemy4.PositionY = (int)enemy4.Position.Y; BlessedIconEnemy4.PositionX = (int)enemy4.Position.X - 65; BlessedIconEnemy4.PositionY = (int)enemy4.Position.Y; BurnedIconEnemy4.PositionX = (int)enemy4.Position.X - 65; BurnedIconEnemy4.PositionY = (int)enemy4.Position.Y; HasHaloIconEnemy4.PositionX = (int)enemy4.Position.X - 65; HasHaloIconEnemy4.PositionY = (int)enemy4.Position.Y; MindblownIconEnemy4.PositionX = (int)enemy4.Position.X - 65; MindblownIconEnemy4.PositionY = (int)enemy4.Position.Y; PoisenedIconEnemy4.PositionX = (int)enemy4.Position.X - 65; PoisenedIconEnemy4.PositionY = (int)enemy4.Position.Y; } enemyCount++; } // Wenn der Gegner erstellt wird und es keine Animation für den Gegner gibt wird dem entsprechend nur ein Bild des gegeners geladen else { if (enemyCount == 0) { enemy.AttackAnimation.active = false; foreach (GUIElement staticEnemy in LoadContentHelper.AllStaticEnemies) { if (staticEnemy.AssetName == enemy.StaticEnemy.AssetName) { staticBoss = staticEnemy; staticBoss.PositionX = (int)staticBossPosition.X; staticBoss.PositionY = (int)staticBossPosition.Y; StaticEnemies.Add(staticBoss); BleedIconEnemy1 = LoadContentHelper.BleedIcon5; BlessedIconEnemy1 = LoadContentHelper.BlessedIcon5; BurnedIconEnemy1 = LoadContentHelper.BurnIcon5; HasHaloIconEnemy1 = LoadContentHelper.HaloIcon5; MindblownIconEnemy1 = LoadContentHelper.MindblownIcon5; PoisenedIconEnemy1 = LoadContentHelper.PoisenIcon5; BleedIconEnemy1.PositionX = (int)staticBossPosition.X - 30; BleedIconEnemy1.PositionY = (int)staticBossPosition.Y; BlessedIconEnemy1.PositionX = (int)staticBossPosition.X - 30; BlessedIconEnemy1.PositionY = (int)staticBossPosition.Y; BurnedIconEnemy1.PositionX = (int)staticBossPosition.X - 30; BurnedIconEnemy1.PositionY = (int)staticBossPosition.Y; HasHaloIconEnemy1.PositionX = (int)staticBossPosition.X - 30; HasHaloIconEnemy1.PositionY = (int)staticBossPosition.Y; MindblownIconEnemy1.PositionX = (int)staticBossPosition.X - 30; MindblownIconEnemy1.PositionY = (int)staticBossPosition.Y; PoisenedIconEnemy1.PositionX = (int)staticBossPosition.X - 30; PoisenedIconEnemy1.PositionY = (int)staticBossPosition.Y; } } enemy1 = enemy; } if (enemyCount == 1) { enemy.AttackAnimation.active = false; foreach (GUIElement staticEnemy in LoadContentHelper.AllStaticEnemies) { if (staticEnemy.AssetName == enemy.StaticEnemy.AssetName) { staticMinion_1 = staticEnemy; staticMinion_1.PositionX = (int)staticMinionPosition_1.X; staticMinion_1.PositionY = (int)staticMinionPosition_1.Y; StaticEnemies.Add(staticMinion_1); BleedIconEnemy2 = LoadContentHelper.BleedIcon6; BlessedIconEnemy2 = LoadContentHelper.BlessedIcon6; BurnedIconEnemy2 = LoadContentHelper.BurnIcon6; HasHaloIconEnemy2 = LoadContentHelper.HaloIcon6; MindblownIconEnemy2 = LoadContentHelper.MindblownIcon6; PoisenedIconEnemy2 = LoadContentHelper.PoisenIcon6; BleedIconEnemy2.PositionX = (int)staticMinionPosition_1.X - 65; BleedIconEnemy2.PositionY = (int)staticMinionPosition_1.Y; BlessedIconEnemy2.PositionX = (int)staticMinionPosition_1.X - 65; BlessedIconEnemy2.PositionY = (int)staticMinionPosition_1.Y; BurnedIconEnemy2.PositionX = (int)staticMinionPosition_1.X - 65; BurnedIconEnemy2.PositionY = (int)staticMinionPosition_1.Y; HasHaloIconEnemy2.PositionX = (int)staticMinionPosition_1.X - 65; HasHaloIconEnemy2.PositionY = (int)staticMinionPosition_1.Y; MindblownIconEnemy2.PositionX = (int)staticMinionPosition_1.X - 65; MindblownIconEnemy2.PositionY = (int)staticMinionPosition_1.Y; PoisenedIconEnemy2.PositionX = (int)staticMinionPosition_1.X - 65; PoisenedIconEnemy2.PositionY = (int)staticMinionPosition_1.Y; } } } if (enemyCount == 2) { enemy.AttackAnimation.active = false; foreach (GUIElement staticEnemy in LoadContentHelper.AllStaticEnemies) { if (staticEnemy.AssetName == enemy.StaticEnemy.AssetName) { staticMinion_2 = staticEnemy; staticMinion_2.PositionX = (int)staticMinionPosition_2.X; staticMinion_2.PositionY = (int)staticMinionPosition_2.Y; StaticEnemies.Add(staticMinion_2); BleedIconEnemy3 = LoadContentHelper.BleedIcon7; BlessedIconEnemy3 = LoadContentHelper.BlessedIcon7; BurnedIconEnemy3 = LoadContentHelper.BurnIcon7; HasHaloIconEnemy3 = LoadContentHelper.HaloIcon7; MindblownIconEnemy3 = LoadContentHelper.MindblownIcon7; PoisenedIconEnemy3 = LoadContentHelper.PoisenIcon7; BleedIconEnemy3.PositionX = (int)staticMinionPosition_2.X - 65; BleedIconEnemy3.PositionY = (int)staticMinionPosition_2.Y; BlessedIconEnemy3.PositionX = (int)staticMinionPosition_2.X - 65; BlessedIconEnemy3.PositionY = (int)staticMinionPosition_2.Y; BurnedIconEnemy3.PositionX = (int)staticMinionPosition_2.X - 65; BurnedIconEnemy3.PositionY = (int)staticMinionPosition_2.Y; HasHaloIconEnemy3.PositionX = (int)staticMinionPosition_2.X - 65; HasHaloIconEnemy3.PositionY = (int)staticMinionPosition_2.Y; MindblownIconEnemy3.PositionX = (int)staticMinionPosition_2.X - 65; MindblownIconEnemy3.PositionY = (int)staticMinionPosition_2.Y; PoisenedIconEnemy3.PositionX = (int)staticMinionPosition_2.X - 65; PoisenedIconEnemy3.PositionY = (int)staticMinionPosition_2.Y; } } } if (enemyCount == 3) { foreach (GUIElement staticEnemy in LoadContentHelper.AllStaticEnemies) { enemy.AttackAnimation.active = false; if (staticEnemy.AssetName == enemy.StaticEnemy.AssetName) { staticMinion_3 = staticEnemy; staticMinion_3.PositionX = (int)staticMinionPosition_3.X; staticMinion_3.PositionY = (int)staticMinionPosition_3.Y; StaticEnemies.Add(staticMinion_3); BleedIconEnemy4 = LoadContentHelper.BleedIcon8; BlessedIconEnemy4 = LoadContentHelper.BlessedIcon8; BurnedIconEnemy4 = LoadContentHelper.BurnIcon8; HasHaloIconEnemy4 = LoadContentHelper.HaloIcon8; MindblownIconEnemy4 = LoadContentHelper.MindblownIcon8; PoisenedIconEnemy4 = LoadContentHelper.PoisenIcon8; BleedIconEnemy4.PositionX = (int)staticMinionPosition_3.X - 65; BleedIconEnemy4.PositionY = (int)staticMinionPosition_3.Y; BlessedIconEnemy4.PositionX = (int)staticMinionPosition_3.X - 65; BlessedIconEnemy4.PositionY = (int)staticMinionPosition_3.Y; BurnedIconEnemy4.PositionX = (int)staticMinionPosition_3.X - 65; BurnedIconEnemy4.PositionY = (int)staticMinionPosition_3.Y; HasHaloIconEnemy4.PositionX = (int)staticMinionPosition_3.X - 65; HasHaloIconEnemy4.PositionY = (int)staticMinionPosition_3.Y; MindblownIconEnemy4.PositionX = (int)staticMinionPosition_3.X - 65; MindblownIconEnemy4.PositionY = (int)staticMinionPosition_3.Y; PoisenedIconEnemy4.PositionX = (int)staticMinionPosition_3.X - 65; PoisenedIconEnemy4.PositionY = (int)staticMinionPosition_3.Y; } } } enemyCount++; } } //Die Counter die zum Zählen der charactere und Skills sind werdeen auf 0 gesetzt int skillCounter = 0; int charCounter = 0; int enemieCounter = 0; //Nun werden alle Namen und Skills der Charactere Initialisiert. Diese werden später als Targets und Skills verwendet, //die ein Spieler auswählen kann um Skills zu wirken und das hierfür notwendige Ziel zu wähen. foreach (Character character in this.fightCadre) { if (character.GetType() == typeof(PartyMember) || character.GetType() == typeof(Player)) { if (charCounter == 0) { this.Character1Name = new TextElement(LoadContentHelper.AwesomeFont, character.Name, (int)this.targetPosition_1.X, (int)this.targetPosition_1.Y, true, LoadContentHelper.MouseIntersect); this.Character1Name.tclickEvent += this.onClickTarget; PartyNames.Add(Character1Name); foreach (Skill skill in character.Skills) { if (skillCounter == 0) { this.character1skill1 = new TextElement(LoadContentHelper.AwesomeFont, skill.Name, (int)this.skillPosition_1.X, (int)this.skillPosition_1.Y, true, LoadContentHelper.MouseIntersect); this.character1skill1.tclickEvent += this.OnClickSkill; Character_1_Skills.Add(character1skill1); } if (skillCounter == 1) { this.character1skill2 = new TextElement(LoadContentHelper.AwesomeFont, skill.Name, (int)this.skillPosition_2.X, (int)this.skillPosition_2.Y, true, LoadContentHelper.MouseIntersect); this.character1skill2.tclickEvent += this.OnClickSkill; Character_1_Skills.Add(character1skill2); } if (skillCounter == 2) { this.character1skill3 = new TextElement(LoadContentHelper.AwesomeFont, skill.Name, (int)this.skillPosition_3.X, (int)this.skillPosition_3.Y, true, LoadContentHelper.MouseIntersect); this.character1skill3.tclickEvent += this.OnClickSkill; Character_1_Skills.Add(character1skill3); } if (skillCounter == 3) { this.character1skill4 = new TextElement(LoadContentHelper.AwesomeFont, skill.Name, (int)this.skillPosition_4.X, (int)this.skillPosition_4.Y, true, LoadContentHelper.MouseIntersect); this.character1skill4.tclickEvent += this.OnClickSkill; Character_1_Skills.Add(character1skill4); } skillCounter++; } } if (charCounter == 1) { this.Character2Name = new TextElement(LoadContentHelper.AwesomeFont, character.Name, (int)this.targetPosition_2.X, (int)this.targetPosition_2.Y, true, LoadContentHelper.MouseIntersect); this.Character2Name.tclickEvent += this.onClickTarget; PartyNames.Add(Character2Name); foreach (Skill skill in character.Skills) { if (skillCounter == 0) { this.character2skill1 = new TextElement(LoadContentHelper.AwesomeFont, skill.Name, (int)this.skillPosition_1.X, (int)this.skillPosition_1.Y, true, LoadContentHelper.MouseIntersect); this.character2skill1.tclickEvent += this.OnClickSkill; Character_2_Skills.Add(character2skill1); } if (skillCounter == 1) { this.character2skill2 = new TextElement(LoadContentHelper.AwesomeFont, skill.Name, (int)this.skillPosition_2.X, (int)this.skillPosition_2.Y, true, LoadContentHelper.MouseIntersect); this.character2skill2.tclickEvent += this.OnClickSkill; Character_2_Skills.Add(character2skill2); } if (skillCounter == 2) { this.character2skill3 = new TextElement(LoadContentHelper.AwesomeFont, skill.Name, (int)this.skillPosition_3.X, (int)this.skillPosition_3.Y, true, LoadContentHelper.MouseIntersect); this.character2skill3.tclickEvent += this.OnClickSkill; Character_2_Skills.Add(character2skill3); } if (skillCounter == 3) { this.character2skill4 = new TextElement(LoadContentHelper.AwesomeFont, skill.Name, (int)this.skillPosition_4.X, (int)this.skillPosition_4.Y, true, LoadContentHelper.MouseIntersect); this.character2skill4.tclickEvent += this.OnClickSkill; Character_2_Skills.Add(character2skill4); } skillCounter++; } } if (charCounter == 2) { this.Character3Name = new TextElement(LoadContentHelper.AwesomeFont, character.Name, (int)this.targetPosition_3.X, (int)this.targetPosition_3.Y, true, LoadContentHelper.MouseIntersect); this.Character3Name.tclickEvent += this.onClickTarget; PartyNames.Add(Character3Name); foreach (Skill skill in character.Skills) { if (skillCounter == 0) { this.character3skill1 = new TextElement(LoadContentHelper.AwesomeFont, skill.Name, (int)this.skillPosition_1.X, (int)this.skillPosition_1.Y, true, LoadContentHelper.MouseIntersect); this.character3skill1.tclickEvent += this.OnClickSkill; Character_3_Skills.Add(character3skill1); } if (skillCounter == 1) { this.character3skill2 = new TextElement(LoadContentHelper.AwesomeFont, skill.Name, (int)this.skillPosition_2.X, (int)this.skillPosition_2.Y, true, LoadContentHelper.MouseIntersect); this.character3skill2.tclickEvent += this.OnClickSkill; Character_3_Skills.Add(character3skill2); } if (skillCounter == 2) { this.character3skill3 = new TextElement(LoadContentHelper.AwesomeFont, skill.Name, (int)this.skillPosition_3.X, (int)this.skillPosition_3.Y, true, LoadContentHelper.MouseIntersect); this.character3skill3.tclickEvent += this.OnClickSkill; Character_3_Skills.Add(character3skill3); } if (skillCounter == 3) { this.character3skill4 = new TextElement(LoadContentHelper.AwesomeFont, skill.Name, (int)this.skillPosition_4.X, (int)this.skillPosition_4.Y, true, LoadContentHelper.MouseIntersect); this.character3skill4.tclickEvent += this.OnClickSkill; Character_3_Skills.Add(character3skill4); } skillCounter++; } } if (charCounter == 3) { this.Character4Name = new TextElement(LoadContentHelper.AwesomeFont, character.Name, (int)this.targetPosition_4.X, (int)this.targetPosition_4.Y, true, LoadContentHelper.MouseIntersect); this.Character4Name.tclickEvent += this.onClickTarget; PartyNames.Add(Character4Name); foreach (Skill skill in character.Skills) { if (skillCounter == 0) { this.character4skill1 = new TextElement(LoadContentHelper.AwesomeFont, skill.Name, (int)this.skillPosition_1.X, (int)this.skillPosition_1.Y, true, LoadContentHelper.MouseIntersect); this.character4skill1.tclickEvent += this.OnClickSkill; Character_4_Skills.Add(character4skill1); } if (skillCounter == 1) { this.character4skill2 = new TextElement(LoadContentHelper.AwesomeFont, skill.Name, (int)this.skillPosition_2.X, (int)this.skillPosition_2.Y, true, LoadContentHelper.MouseIntersect); this.character4skill2.tclickEvent += this.OnClickSkill; Character_4_Skills.Add(character4skill2); } if (skillCounter == 2) { this.character4skill3 = new TextElement(LoadContentHelper.AwesomeFont, skill.Name, (int)this.skillPosition_3.X, (int)this.skillPosition_3.Y, true, LoadContentHelper.MouseIntersect); this.character4skill3.tclickEvent += this.OnClickSkill; Character_4_Skills.Add(character4skill3); } if (skillCounter == 3) { this.character4skill4 = new TextElement(LoadContentHelper.AwesomeFont, skill.Name, (int)this.skillPosition_4.X, (int)this.skillPosition_4.Y, true, LoadContentHelper.MouseIntersect); this.character4skill4.tclickEvent += this.OnClickSkill; Character_4_Skills.Add(character4skill4); } skillCounter++; } } skillCounter = 0; charCounter++; } } foreach (Enemy enemy in this.Enemies) { if (enemieCounter == 0) { this.enemy1Name = new TextElement(LoadContentHelper.AwesomeFont, enemy.Name, (int)this.targetPosition_1.X, (int)this.targetPosition_1.Y, true, LoadContentHelper.MouseIntersect); this.enemy1Name.tclickEvent += this.onClickTarget; EnemyNames.Add(enemy1Name); } if (enemieCounter == 1) { this.enemy2Name = new TextElement(LoadContentHelper.AwesomeFont, enemy.Name, (int)this.targetPosition_2.X, (int)this.targetPosition_2.Y, true, LoadContentHelper.MouseIntersect); this.enemy2Name.tclickEvent += this.onClickTarget; EnemyNames.Add(enemy2Name); } if (enemieCounter == 2) { this.enemy3Name = new TextElement(LoadContentHelper.AwesomeFont, enemy.Name, (int)this.targetPosition_3.X, (int)this.targetPosition_3.Y, true, LoadContentHelper.MouseIntersect); this.enemy3Name.tclickEvent += this.onClickTarget; EnemyNames.Add(enemy3Name); } if (enemieCounter == 3) { this.enemy4Name = new TextElement(LoadContentHelper.AwesomeFont, enemy.Name, (int)this.targetPosition_4.X, (int)this.targetPosition_4.Y, true, LoadContentHelper.MouseIntersect); this.enemy4Name.tclickEvent += this.onClickTarget; EnemyNames.Add(enemy4Name); } enemieCounter++; } //Die anderen Notwendigen Variablen werden zugewiesen wie SoundEffects, Events usw. Click = LoadContentHelper.Click; Punch = LoadContentHelper.Punch; Heal = LoadContentHelper.Heal; GameOver = new GameOverEvent(LoadContentHelper.NickTheme); battleEvaluation = new BattleEvaluationEvent(FightCadre, LoadContentHelper.NickTheme); CharacterStatBox = LoadContentHelper.CharacterStatBox; AttackHintBox = LoadContentHelper.AttackHintBox; AttackHintBox.PositionX = 0; AttackHintBox.PositionY = 10; skillBox = LoadContentHelper.SkillBox; skillBox.PositionX = 0; skillBox.PositionY = 458; CharacterStatBox.PositionX = 140; CharacterStatBox.PositionY = 30; this.attackSkill = new TextElement(LoadContentHelper.AwesomeFont, "Angriff", (int)this.attackSkillPosition.X, (int)this.attackSkillPosition.Y, true, LoadContentHelper.MouseIntersect); this.attackSkill.tclickEvent += OnClickSkill; this.restSkill = new TextElement(LoadContentHelper.AwesomeFont, "Ausruhen", (int)this.restSkillPosition.X, (int)this.restSkillPosition.Y, true, LoadContentHelper.MouseIntersect); this.restSkill.tclickEvent += OnClickSkill; Back = new TextElement(LoadContentHelper.AwesomeFont, "Zurück",(int)skillPosition_3.X, (int)skillPosition_3.Y, true, LoadContentHelper.MouseIntersect); Back.tclickEvent += OnClickElement; EnemyNames.Add(Back); //Die Heal und Hit Animationen werden Initialisiert hitAnimationStandard = LoadContentHelper.hitAnimation1; Hit1 = new Skill("PhysicalHit", 0, null, null, null, null); Hit1.LoadContent(hitAnimationStandard, new Vector2(0, 0)); hitAnimationStandard.active = false; healAnimationStandard = LoadContentHelper.healAnimation1; Heal1 = new Skill("Heal", 0, null, null, null, null); Heal1.LoadContent(healAnimationStandard, new Vector2(0, 0)); healAnimationStandard.active = false; hitAnimation2 = LoadContentHelper.hitAnimation2; Hit2 = new Skill("PhysicalHit", 0, null, null, null, null); Hit2.LoadContent(hitAnimation2, new Vector2(0, 0)); hitAnimation2.active = false; healAnimation2 = LoadContentHelper.healAnimation2; Heal2 = new Skill("Heal", 0, null, null, null, null); Heal2.LoadContent(healAnimation2, new Vector2(0, 0)); healAnimation2.active = false; hitAnimation3 = LoadContentHelper.hitAnimation3; Hit3 = new Skill("PhysicalHit", 0, null, null, null, null); Hit3.LoadContent(hitAnimation3, new Vector2(0, 0)); hitAnimation3.active = false; healAnimation3 = LoadContentHelper.healAnimation3; Heal3 = new Skill("Heal", 0, null, null, null, null); Heal3.LoadContent(healAnimation3, new Vector2(0, 0)); healAnimation3.active = false; hitAnimation4 = LoadContentHelper.hitAnimation4; Hit4 = new Skill("PhysicalHit", 0, null, null, null, null); Hit4.LoadContent(hitAnimation4, new Vector2(0, 0)); hitAnimation4.active = false; healAnimation4 = LoadContentHelper.healAnimation4; Heal4 = new Skill("Heal", 0, null, null, null, null); Heal4.LoadContent(healAnimation4, new Vector2(0, 0)); healAnimation4.active = false; //Attack und Rest Skills werden zu den SkillListen der Charactere hinzugefügt Character_1_Skills.Add(attackSkill); Character_1_Skills.Add(restSkill); Character_2_Skills.Add(attackSkill); Character_2_Skills.Add(restSkill); Character_3_Skills.Add(attackSkill); Character_3_Skills.Add(restSkill); Character_4_Skills.Add(attackSkill); Character_4_Skills.Add(restSkill); // Die Pfeile zum anzeigen des aktiven Characters werden initialisiert und die Position wird festgelegt if (partyMember1 != null) { ActivePartymember1Arrow = LoadContentHelper.activePartyMemberArrow1; ActivePartymember1Arrow.PositionX = (int)partyMember1.Position.X - 60; ActivePartymember1Arrow.PositionY = (int)partyMember1.Position.Y - 10; } if (partyMember2 != null) { ActivePartymember2Arrow = LoadContentHelper.activePartyMemberArrow2; ActivePartymember2Arrow.PositionX = (int)partyMember2.Position.X - 60; ActivePartymember2Arrow.PositionY = (int)partyMember2.Position.Y - 10; } if (partyMember3 != null) { ActivePartymember3Arrow = LoadContentHelper.activePartyMemberArrow3; ActivePartymember3Arrow.PositionX = (int)partyMember3.Position.X - 60; ActivePartymember3Arrow.PositionY = (int)partyMember3.Position.Y - 10; } if (partyMember4 != null) { ActivePartymember4Arrow = LoadContentHelper.activePartyMemberArrow4; ActivePartymember4Arrow.PositionX = (int)partyMember4.Position.X - 60; ActivePartymember4Arrow.PositionY = (int)partyMember4.Position.Y - 10; } if (enemy1 != null) { ActiveEnemy1Arrow = LoadContentHelper.activeEnemyArrow1; ActiveEnemy1Arrow.PositionX = (int)enemy1.Position.X + 45; ActiveEnemy1Arrow.PositionY = (int)enemy1.Position.Y - 10; } if (enemy2 != null) { ActiveEnemy2Arrow = LoadContentHelper.activeEnemyArrow2; ActiveEnemy2Arrow.PositionX = (int)enemy2.Position.X + 45; ActiveEnemy2Arrow.PositionY = (int)enemy2.Position.Y - 10; } if (enemy3 != null) { ActiveEnemy3Arrow = LoadContentHelper.activeEnemyArrow3; ActiveEnemy3Arrow.PositionX = (int)enemy3.Position.X + 45; ActiveEnemy3Arrow.PositionY = (int)enemy3.Position.Y - 10; } if (enemy4 != null) { ActiveEnemy4Arrow = LoadContentHelper.activeEnemyArrow4; ActiveEnemy4Arrow.PositionX = (int)enemy4.Position.X + 45; ActiveEnemy4Arrow.PositionY = (int)enemy4.Position.Y - 10; } //FightCader wird der Liste FightClub hinzugefügt foreach (Character character in this.fightCadre) { this.FightClub.Add(character); } //Enemies wird der Liste FightClub hinzugefügt foreach (Character character in this.Enemies) { this.FightClub.Add(character); } //Der BackgroundPath wird mit den vorhanden Backgrounds des LoadContentHelpers verglichen, //und der richtige Hintergrund wird zugewiesen foreach (GUIElement background in LoadContentHelper.AllBackgrounds) { if (background.AssetName == BackgroundPath) { this.Background = background; } } // FightClub Member werden nach dem Initiative wert sortiert this.FightClub = this.FightClub.OrderBy(character => character.GetInitiative()).ToList(); activeChar = FightClub.ElementAt<Character>(0); }