public void LoadContent(int battleOrder, CharacterIdentity enemyID)
        {
            EnemyBattleCharacterData enemyData = GameClass.ContentManager.Load<EnemyBattleCharacterData>("BattleCharacters/" + enemyID.ToString() + "/" + enemyID.ToString() + "Battle");

               name = enemyData.name;
               runSpeed = enemyData.runSpeed;
               this.battleOrder = battleOrder;
               Sprites = new Dictionary<string, AnimatedSprite>();
               Sprites.Add("Idle", AnimatedSprite.CreateFromData(enemyData.idleAnimation));
               Sprites.Add("Run", AnimatedSprite.CreateFromData(enemyData.runAnimation));
               Sprites.Add("Damage", AnimatedSprite.CreateFromData(enemyData.damageAnimation));
               Sprites.Add("Death", AnimatedSprite.CreateFromData(enemyData.deathAnimation));
               Sprites["Death"].AnimationType = SpriteAnimationType.AnimateOnceMaintainLast;
               yDrawOffset = enemyData.drawOffset;

               switch (battleOrder)
               {
               case 3:
                   position = new Vector2(390, 275 - enemyData.drawOffset);
                   battlePortrait = GameClass.LoadTextureData("General/EnemyBattlePortrait1");
                   battlePortraitPosition = new Vector2(330, 338);
                   break;
               case 4:
                   position = new Vector2(440, 295 - enemyData.drawOffset);
                   battlePortrait = GameClass.LoadTextureData("General/EnemyBattlePortrait2");
                   battlePortraitPosition = new Vector2(330, 358);
                   break;
               case 5:
                   position = new Vector2(490, 315 - enemyData.drawOffset);
                   battlePortrait = GameClass.LoadTextureData("General/EnemyBattlePortrait3");
                   battlePortraitPosition = new Vector2(330, 378);
                   break;
               }

               CurrentAction = "Idle";
               CurrentSprite.CurrentFrame = GameClass.Random.Next(0, CurrentSprite.TotalFrames);

               Facing = CharacterFacing.Left;
               maxHP = enemyData.HP;
               currentHP = maxHP;
               displayHP = maxHP;
               maxMP = enemyData.MP;
               currentMP = maxMP;
               displayMP = maxMP;
               baseATK = enemyData.ATK;
               currentATK = baseATK;
               baseDEF = enemyData.DEF;
               currentDEF = baseDEF;
               baseMAG_ATK = enemyData.MAG_ATK;
               currentMAG_ATK= baseMAG_ATK;
               baseMAG_DEF = enemyData.MAG_DEF;
               currentMAG_DEF = baseMAG_DEF;
               baseSPD = enemyData.SPD;
               currentSPD = baseSPD;
               expWorth = enemyData.EXPWorth;

            techniques = new List<BattleTechnique>();
            foreach (BattleTechniqueData techData in enemyData.techniques)
            {
                BattleTechnique newTechnique = new BattleTechnique();
                newTechnique.LoadContent(this, techData);
                techniques.Add(newTechnique);
            }
        }
        public void LoadContent(int battleOrder, PartyCharacter partyCharacter)
        {
            PlayerBattleCharacterData playerData = GameClass.ContentManager.Load<PlayerBattleCharacterData>("BattleCharacters/" + partyCharacter.CharacterID.ToString() + "/" + partyCharacter.CharacterID.ToString() + "Battle");

               name = playerData.name;
               runSpeed = playerData.runSpeed;
               this.battleOrder = battleOrder;
               this.battlePortrait = GameClass.LoadTextureData(playerData.battlePortraitFileName);
               Sprites = new Dictionary<string, AnimatedSprite>();
               Sprites.Add("BattleStart", AnimatedSprite.CreateFromData(playerData.battleStartAnimation));
               Sprites.Add("Idle", AnimatedSprite.CreateFromData(playerData.idleAnimation));
               Sprites.Add("Run", AnimatedSprite.CreateFromData(playerData.runAnimation));
               Sprites.Add("Damage", AnimatedSprite.CreateFromData(playerData.damageAnimation));
               Sprites["Damage"].AnimationType = SpriteAnimationType.AnimateOnceMaintainLast;
               Sprites.Add("Death", AnimatedSprite.CreateFromData(playerData.deathAnimation));
               Sprites["Death"].AnimationType = SpriteAnimationType.AnimateOnceMaintainLast;
               Sprites.Add("Revived", AnimatedSprite.CreateFromData(playerData.revivedAnimation));
               Sprites["Revived"].AnimationType = SpriteAnimationType.AnimateOnceMaintainLast;
               Sprites.Add("Victory", AnimatedSprite.CreateFromData(playerData.victoryAnimation));
               Sprites["Victory"].AnimationType = SpriteAnimationType.AnimateOnceMaintainLast;
               Sprites.Add("Item", AnimatedSprite.CreateFromData(playerData.itemAnimation));
               Sprites["Item"].AnimationType = SpriteAnimationType.AnimateOnceMaintainLast;
               yDrawOffset = playerData.drawOffset;

               switch (battleOrder)
               {
               case 0:
                   position = new Vector2(260, 275 - playerData.drawOffset);
                   battlePortraitPosition = new Vector2(10, 338);
                   break;
               case 1:
                   position = new Vector2(210, 295 - playerData.drawOffset);
                   battlePortraitPosition = new Vector2(10, 358);
                   break;
               case 2:
                   position = new Vector2(160, 315 - playerData.drawOffset);
                   battlePortraitPosition = new Vector2(10, 378);
                   break;
               }

               CurrentAction = "BattleStart";
               Facing = CharacterFacing.Right;
               maxHP = partyCharacter.HP;
               currentHP = maxHP;
               displayHP = maxHP;
               maxMP = partyCharacter.MP;
               currentMP = maxMP;
               displayMP = maxMP;
               baseATK = partyCharacter.ATK;
               currentATK = baseATK;
               baseDEF = partyCharacter.DEF;
               currentDEF = baseDEF;
               baseMAG_ATK = partyCharacter.MAG_ATK;
               currentMAG_ATK= baseMAG_ATK;
               baseMAG_DEF = partyCharacter.MAG_DEF;
               currentMAG_DEF = baseMAG_DEF;
               baseSPD = partyCharacter.SPD;
               currentSPD = baseSPD;

            techniques = new List<BattleTechnique>();
            foreach (BattleTechniqueData techData in playerData.techniques)
            {
                int techLevelRestriction = 0;
                foreach(BattleTechniqueLevelData techLevelData in partyCharacter.TechniqueLevelData)
                {
                    if (techLevelData.techniqueName == techData.techniqueName)
                    {
                        techLevelRestriction = techLevelData.levelLearnt;
                    }
                }

                if (!(partyCharacter.Level < techLevelRestriction))
                {
                    BattleTechnique newTechnique = new BattleTechnique();
                    newTechnique.LoadContent(this, techData);
                    techniques.Add(newTechnique);
                }
            }
        }