// Contains definitions of all animations for every character in the game. private void PopulateLists() { // What type of game object am I? switch (this.mObjectType) { case ObjectType.DRAGON: { //I'm a DRAGON, so define my DRAGON animations. Animation MoveLeft = new Animation("Sprites/Units/Dragon/DragonFlyingLeft", 4, 1, 4, 200); Animation MoveRight = new Animation("Sprites/Units/Dragon/DragonFlyingRight", 4, 1, 4, 200); Animation IdleLeft = new Animation("Sprites/Units/Dragon/DragonIdleLeft", 20, 1, 20, 200); Animation IdleRight = new Animation("Sprites/Units/Dragon/DragonIdleRight", 20, 1, 20, 200); Animation AttackLeft = new Animation("Sprites/Units/Dragon/DragonAttackLeft", 10, 1, 10, 200); Animation AttackRight = new Animation("Sprites/Units/Dragon/DragonAttackRight", 10, 1, 10, 200); Animation DeathLeft = new Animation("Sprites/Units/Dragon/DragonDeathLeft", 10, 1, 10, 200); Animation DeathRight = new Animation("Sprites/Units/Dragon/DragonDeathRight", 10, 1, 10, 200); // Populate my list of animations. All game objects will populate animations in a consistant order. // Move will always be at index 0. IDLE_LEFT will always be at index 1, etc. mUnitAnimationList.Add(MoveLeft); mUnitAnimationList.Add(MoveRight); mUnitAnimationList.Add(IdleLeft); mUnitAnimationList.Add(IdleRight); mUnitAnimationList.Add(AttackLeft); mUnitAnimationList.Add(AttackRight); mUnitAnimationList.Add(DeathLeft); mUnitAnimationList.Add(DeathRight); this.mCombatType = CombatType.MELEE; } break; case ObjectType.CLERIC: { //I'm a CLERIC, so define my CLERIC animations. Animation MoveLeft = new Animation("Sprites/Units/Cleric/ClericWalkingLeft", 4, 1, 4, 200); Animation MoveRight = new Animation("Sprites/Units/Cleric/ClericWalkingRight", 4, 1, 4, 200); Animation IdleLeft = new Animation("Sprites/Units/Cleric/ClericIdleLeft", 1, 1, 1, 200); Animation IdleRight = new Animation("Sprites/Units/Cleric/ClericIdleRight", 1, 1, 1, 200); Animation AttackLeft = new Animation("Sprites/Units/Cleric/ClericHealLeft", 3, 1, 3, 200); Animation AttackRight = new Animation("Sprites/Units/Cleric/ClericHealRight", 3, 1, 3, 200); Animation DeathLeft = new Animation("Sprites/Units/Cleric/ClericDeathLeft", 15, 1, 15, 200); Animation DeathRight = new Animation("Sprites/Units/Cleric/ClericDeathRight", 15, 1, 15, 200); // Populate my list of animations. All game objects will populate animations in a consistant order. // Move will always be at index 0. IDLE_LEFT will always be at index 1, etc. mUnitAnimationList.Add(MoveLeft); mUnitAnimationList.Add(MoveRight); mUnitAnimationList.Add(IdleLeft); mUnitAnimationList.Add(IdleRight); mUnitAnimationList.Add(AttackLeft); mUnitAnimationList.Add(AttackRight); mUnitAnimationList.Add(DeathLeft); mUnitAnimationList.Add(DeathRight); mCombatType = CombatType.HEALER; } break; case ObjectType.BERSERKER: { //I'm a BERSERKER, so define my BERSERKER animations. Animation MoveLeft = new Animation("Sprites/Units/Berzerker/BerzerkerWalkingLeft", 7, 1, 7, 200); Animation MoveRight = new Animation("Sprites/Units/Berzerker/BerzerkerWalkingRight", 7, 1, 7, 200); Animation IdleLeft = new Animation("Sprites/Units/Berzerker/BerzerkerIdleLeft", 6, 1, 6, 200); Animation IdleRight = new Animation("Sprites/Units/Berzerker/BerzerkerIdleRight", 6, 1, 6, 200); Animation AttackLeft = new Animation("Sprites/Units/Berzerker/BerzerkerAttackLeft", 5, 1, 5, 200); Animation AttackRight = new Animation("Sprites/Units/Berzerker/BerzerkerAttackRight", 5, 1, 5, 200); Animation DeathLeft = new Animation("Sprites/Units/Berzerker/BerzerkerDyingLeft", 6, 1, 6, 200); Animation DeathRight = new Animation("Sprites/Units/Berzerker/BerzerkerDyingRight", 6, 1, 6, 200); // Populate my list of animations. All game objects will populate animations in a consistant order. // Move will always be at index 0. IDLE_LEFT will always be at index 1, etc. mUnitAnimationList.Add(MoveLeft); mUnitAnimationList.Add(MoveRight); mUnitAnimationList.Add(IdleLeft); mUnitAnimationList.Add(IdleRight); mUnitAnimationList.Add(AttackLeft); mUnitAnimationList.Add(AttackRight); mUnitAnimationList.Add(DeathLeft); mUnitAnimationList.Add(DeathRight); mCombatType = CombatType.MELEE; } break; // THIS IS AXE THROWER case ObjectType.AXE_THROWER: { //I'm a AXE_THROWER, so define my AXE_THROWER animations. Animation MoveLeft = new Animation("Sprites/Units/AxeThrower/AxeThrowerWalkingLeft", 7, 1, 7, 200); Animation MoveRight = new Animation("Sprites/Units/AxeThrower/AxeThrowerWalkingRight", 7, 1, 7, 200); Animation IdleLeft = new Animation("Sprites/Units/AxeThrower/AxeThrowerIdleLeft", 3, 1, 3, 200); Animation IdleRight = new Animation("Sprites/Units/AxeThrower/AxeThrowerIdleRight", 3, 1, 3, 200); Animation AttackLeft = new Animation("Sprites/Units/AxeThrower/AxeThrowerAttackLeft", 6, 1, 6, 200); Animation AttackRight = new Animation("Sprites/Units/AxeThrower/AxeThrowerAttackRight", 6, 1, 6, 200); Animation DeathLeft = new Animation("Sprites/Units/AxeThrower/AxeThrowerDyingLeft", 3, 1, 3, 200); Animation DeathRight = new Animation("Sprites/Units/AxeThrower/AxeThrowerDyingRight", 3, 1, 3, 200); // Populate my list of animations. All game objects will populate animations in a consistant order. // Move will always be at index 0. IDLE_LEFT will always be at index 1, etc. mUnitAnimationList.Add(MoveLeft); mUnitAnimationList.Add(MoveRight); mUnitAnimationList.Add(IdleLeft); mUnitAnimationList.Add(IdleRight); mUnitAnimationList.Add(AttackLeft); mUnitAnimationList.Add(AttackRight); mUnitAnimationList.Add(DeathLeft); mUnitAnimationList.Add(DeathRight); mCombatType = CombatType.RANGED; } break; case ObjectType.FIRE_MAGE: { //I'm a FIRE_MAGE, so define my FIRE_MAGE animations. Animation MoveLeft = new Animation("Sprites/Units/FireMage/FireWalkingLeft", 14, 1, 14, 200); Animation MoveRight = new Animation("Sprites/Units/FireMage/FireWalkingRight", 14, 1, 14, 200); Animation IdleLeft = new Animation("Sprites/Units/FireMage/FireIdleLeft", 15, 1, 15, 200); Animation IdleRight = new Animation("Sprites/Units/FireMage/FireIdleRight", 15, 1, 15, 200); Animation AttackLeft = new Animation("Sprites/Units/FireMage/FireAttackLeft", 6, 1, 6, 200); Animation AttackRight = new Animation("Sprites/Units/FireMage/FireAttackRight", 6, 1, 6, 200); Animation DeathLeft = new Animation("Sprites/Units/FireMage/FireDyingLeft", 1, 1, 1, 200); Animation DeathRight = new Animation("Sprites/Units/FireMage/FireDyingRight", 1, 1, 1, 200); // Populate my list of animations. All game objects will populate animations in a consistant order. // Move will always be at index 0. IDLE_LEFT will always be at index 1, etc. mUnitAnimationList.Add(MoveLeft); mUnitAnimationList.Add(MoveRight); mUnitAnimationList.Add(IdleLeft); mUnitAnimationList.Add(IdleRight); mUnitAnimationList.Add(AttackLeft); mUnitAnimationList.Add(AttackRight); mUnitAnimationList.Add(DeathLeft); mUnitAnimationList.Add(DeathRight); mCombatType = CombatType.RANGED; } break; case ObjectType.NECROMANCER: { //I'm a NECROMANCER, so define my NECROMANCER animations. Animation MoveLeft = new Animation("Sprites/Units/Necro/NecroWalkingLeft", 6, 1, 6, 200); Animation MoveRight = new Animation("Sprites/Units/Necro/NecroWalkingRight", 6, 1, 6, 200); Animation IdleLeft = new Animation("Sprites/Units/Necro/NecroIdleLeft", 1, 1, 1, 200); Animation IdleRight = new Animation("Sprites/Units/Necro/NecroIdleRight", 1, 1, 1, 200); Animation AttackLeft = new Animation("Sprites/Units/Necro/NecroAttackingLeft", 4, 1, 4, 200); Animation AttackRight = new Animation("Sprites/Units/Necro/NecroAttackingRight", 4, 1, 4, 200); Animation DeathLeft = new Animation("Sprites/Units/Necro/NecroDyingLeft", 8, 1, 8, 100); Animation DeathRight = new Animation("Sprites/Units/Necro/NecroDyingRight", 8, 1, 8, 100); // Populate my list of animations. All game objects will populate animations in a consistant order. // Move will always be at index 0. IDLE_LEFT will always be at index 1, etc. mUnitAnimationList.Add(MoveLeft); mUnitAnimationList.Add(MoveRight); mUnitAnimationList.Add(IdleLeft); mUnitAnimationList.Add(IdleRight); mUnitAnimationList.Add(AttackLeft); mUnitAnimationList.Add(AttackRight); mUnitAnimationList.Add(DeathLeft); mUnitAnimationList.Add(DeathRight); mCombatType = CombatType.RANGED; } break; case ObjectType.WOLF: { //I'm a WOLF, so define my WOLF animations. Animation MoveLeft = new Animation("Sprites/Units/Wolf/WolfWalkingLeft", 8, 1, 8, 200); Animation MoveRight = new Animation("Sprites/Units/Wolf/WolfWalkingRight", 8, 1, 8, 200); Animation IdleLeft = new Animation("Sprites/Units/Wolf/WolfIdleLeft", 14, 1, 14, 200); Animation IdleRight = new Animation("Sprites/Units/Wolf/WolfIdleRight", 14, 1, 14, 200); Animation AttackLeft = new Animation("Sprites/Units/Wolf/WolfAttackLeft", 4, 1, 4, 200); Animation AttackRight = new Animation("Sprites/Units/Wolf/WolfAttackRight", 4, 1, 4, 200); Animation DeathLeft = new Animation("Sprites/Units/Wolf/WolfDyingLeft", 4, 1, 4, 200); Animation DeathRight = new Animation("Sprites/Units/Wolf/WolfDyingRight", 4, 1, 4, 200); // Populate my list of animations. All game objects will populate animations in a consistant order. // Move will always be at index 0. IDLE_LEFT will always be at index 1, etc. mUnitAnimationList.Add(MoveLeft); mUnitAnimationList.Add(MoveRight); mUnitAnimationList.Add(IdleLeft); mUnitAnimationList.Add(IdleRight); mUnitAnimationList.Add(AttackLeft); mUnitAnimationList.Add(AttackRight); mUnitAnimationList.Add(DeathLeft); mUnitAnimationList.Add(DeathRight); mCombatType = CombatType.MELEE; } break; case ObjectType.ARCANE_MAGE: { //I'm a ARCANE_MAGE, so define my ARCANE_MAGE animations. Animation MoveLeft = new Animation("Sprites/Units/ArcaneMage/ArcaneWalkingLeft", 6, 1, 6, 200); Animation MoveRight = new Animation("Sprites/Units/ArcaneMage/ArcaneWalkingRight", 6, 1, 6, 200); Animation IdleLeft = new Animation("Sprites/Units/ArcaneMage/ArcaneIdleLeft", 1, 1, 1, 200); Animation IdleRight = new Animation("Sprites/Units/ArcaneMage/ArcaneIdleRight", 1, 1, 1, 200); Animation AttackLeft = new Animation("Sprites/Units/ArcaneMage/ArcaneAttackLeft", 4, 1, 4, 200); Animation AttackRight = new Animation("Sprites/Units/ArcaneMage/ArcaneAttackRight", 4, 1, 4, 200); Animation DeathLeft = new Animation("Sprites/Units/ArcaneMage/ArcaneMageDeathLeft", 9, 1, 9, 200); Animation DeathRight = new Animation("Sprites/Units/ArcaneMage/ArcaneMageDeathRight", 9, 1, 9, 200); // Populate my list of animations. All game objects will populate animations in a consistant order. // Move will always be at index 0. IDLE_LEFT will always be at index 1, etc. mUnitAnimationList.Add(MoveLeft); mUnitAnimationList.Add(MoveRight); mUnitAnimationList.Add(IdleLeft); mUnitAnimationList.Add(IdleRight); mUnitAnimationList.Add(AttackLeft); mUnitAnimationList.Add(AttackRight); mUnitAnimationList.Add(DeathLeft); mUnitAnimationList.Add(DeathRight); mCombatType = CombatType.RANGED; } break; //TODO: THIS IS IMP case ObjectType.IMP: { //I'm a IMP, so define my IMP animations. Animation MoveLeft = new Animation("Sprites/Units/Imp/ImpWalkingLeft", 4, 1, 4, 200); Animation MoveRight = new Animation("Sprites/Units/Imp/ImpWalkingRight", 4, 1, 4, 200); Animation AttackLeft = new Animation("Sprites/Units/Imp/ImpAttackingLeft", 4, 1, 4, 200); Animation AttackRight = new Animation("Sprites/Units/Imp/ImpAttackingRight", 4, 1, 4, 200); Animation DeathLeft = new Animation("Sprites/Units/Imp/ImpDyingLeft", 14, 1, 14, 150); Animation DeathRight = new Animation("Sprites/Units/Imp/ImpDyingRight", 14, 1, 14, 150); Animation IdleLeft = new Animation("Sprites/Units/Imp/ImpIdleLeft", 1, 1, 1, 200); Animation IdleRight = new Animation("Sprites/Units/Imp/ImpIdleRight", 1, 1, 1, 200); // Populate my list of animations. All game objects will populate animations in a consistant order. // Move will always be at index 0. IDLE_LEFT will always be at index 1, etc. mUnitAnimationList.Add(MoveLeft); mUnitAnimationList.Add(MoveRight); mUnitAnimationList.Add(IdleLeft); mUnitAnimationList.Add(IdleRight); mUnitAnimationList.Add(AttackLeft); mUnitAnimationList.Add(AttackRight); mUnitAnimationList.Add(DeathLeft); mUnitAnimationList.Add(DeathRight); mCombatType = CombatType.MELEE; } break; case ObjectType.GOG: { //I'm a GOG, so define my GOG animations. Animation MoveLeft = new Animation("Sprites/Units/Gog/GogWalkingLeft", 5, 1, 5, 200); Animation MoveRight = new Animation("Sprites/Units/Gog/GogWalkingRight", 5, 1, 5, 200); Animation AttackLeft = new Animation("Sprites/Units/Gog/GogAttackingLeft", 3, 1, 3, 200); Animation AttackRight = new Animation("Sprites/Units/Gog/GogAttackingRight", 3, 1, 3, 200); Animation DeathLeft = new Animation("Sprites/Units/Gog/GogDyingLeft", 15, 1, 15, 200); Animation DeathRight = new Animation("Sprites/Units/Gog/GogDyingRight", 15, 1, 15, 200); Animation IdleLeft = new Animation("Sprites/Units/Gog/GogWalkingLeft", 0, 1, 1, 200); Animation IdleRight = new Animation("Sprites/Units/Gog/GogWalkingRight", 0, 1, 1, 200); // Populate my list of animations. All game objects will populate animations in a consistant order. // Move will always be at index 0. IDLE_LEFT will always be at index 1, etc. mUnitAnimationList.Add(MoveLeft); mUnitAnimationList.Add(MoveRight); mUnitAnimationList.Add(IdleLeft); mUnitAnimationList.Add(IdleRight); mUnitAnimationList.Add(AttackLeft); mUnitAnimationList.Add(AttackRight); mUnitAnimationList.Add(DeathLeft); mUnitAnimationList.Add(DeathRight); mCombatType = CombatType.RANGED; } break; // THIS IS BANSHEE case ObjectType.BANSHEE: { //I'm a BANSHEE, so define my BANSHEE animations. Animation MoveLeft = new Animation("Sprites/Units/Banshee/BansheeWalkingLeft", 6, 1, 6, 200); Animation MoveRight = new Animation("Sprites/Units/Banshee/BansheeWalkingRight", 6, 1, 6, 200); Animation AttackLeft = new Animation("Sprites/Units/Banshee/BansheeAttackingLeft", 2, 1, 2, 100); Animation AttackRight = new Animation("Sprites/Units/Banshee/BansheeAttackingLeft", 2, 1, 2, 100); Animation DeathLeft = new Animation("Sprites/Units/Banshee/BansheeDeathLeft", 5, 1, 5, 200); Animation DeathRight = new Animation("Sprites/Units/Banshee/BansheeDeathRight", 5, 1, 5, 200); Animation IdleLeft = new Animation("Sprites/Units/Banshee/BansheeAttackingLeft", 0, 1, 1, 200); Animation IdleRight = new Animation("Sprites/Units/Banshee/BansheeAttackingRight", 0, 1, 1, 200); // Populate my list of animations. All game objects will populate animations in a consistant order. // Move will always be at index 0. IDLE_LEFT will always be at index 1, etc. mUnitAnimationList.Add(MoveLeft); mUnitAnimationList.Add(MoveRight); mUnitAnimationList.Add(IdleLeft); mUnitAnimationList.Add(IdleRight); mUnitAnimationList.Add(AttackLeft); mUnitAnimationList.Add(AttackRight); mUnitAnimationList.Add(DeathLeft); mUnitAnimationList.Add(DeathRight); mCombatType = CombatType.RANGED; } break; // TODO: THIS IS REAPER case ObjectType.REAPER: { //I'm a REAPER, so define my REAPER animations. Animation MoveLeft = new Animation("Sprites/Units/Reaper/ReaperWalkingLeft", 9, 1, 9, 200); Animation MoveRight = new Animation("Sprites/Units/Reaper/ReaperWalkingRight", 9, 1, 9, 200); Animation AttackLeft = new Animation("Sprites/Units/Reaper/ReaperAttackingLeft", 6, 1, 6, 200); Animation AttackRight = new Animation("Sprites/Units/Reaper/ReaperAttackingRight", 6, 1, 6, 200); Animation DeathLeft = new Animation("Sprites/Units/Reaper/ReaperDyingLeft", 16, 2, 16, 200); Animation DeathRight = new Animation("Sprites/Units/Reaper/ReaperDyingRight", 16, 2, 16, 200); Animation IdleLeft = new Animation("Sprites/Units/Reaper/ReaperWalkingLeft", 9, 1, 9, 200); Animation IdleRight = new Animation("Sprites/Units/Reaper/ReaperWalkingRight", 9, 1, 9, 200); // Populate my list of animations. All game objects will populate animations in a consistant order. // Move will always be at index 0. IDLE_LEFT will always be at index 1, etc. mUnitAnimationList.Add(MoveLeft); mUnitAnimationList.Add(MoveRight); mUnitAnimationList.Add(IdleLeft); mUnitAnimationList.Add(IdleRight); mUnitAnimationList.Add(AttackLeft); mUnitAnimationList.Add(AttackRight); mUnitAnimationList.Add(DeathLeft); mUnitAnimationList.Add(DeathRight); mCombatType = CombatType.MELEE; } break; case ObjectType.DOOM_HOUND: { //I'm a DOOM_HOUND, so define my DOOM_HOUND animations. Animation MoveLeft = new Animation("Sprites/Units/DoomHound/DoomHoundWalkLeft", 10, 1, 10, 200); Animation MoveRight = new Animation("Sprites/Units/DoomHound/DoomHoundWalkRight", 10, 1, 10, 200); Animation AttackLeft = new Animation("Sprites/Units/DoomHound/DoomHoundAttackLeft", 8, 1, 8, 200); Animation AttackRight = new Animation("Sprites/Units/DoomHound/DoomHoundAttackRight", 8, 1, 8, 200); Animation DeathLeft = new Animation("Sprites/Units/DoomHound/DoomHoundDeathLeft", 6, 1, 6, 150); Animation DeathRight = new Animation("Sprites/Units/DoomHound/DoomHoundDeathRight", 6, 1, 6, 150); Animation IdleLeft = new Animation("Sprites/Units/DoomHound/DoomHoundWalkLeft", 10, 1, 10, 200); Animation IdleRight = new Animation("Sprites/Units/DoomHound/DoomHoundWalkRight", 10, 1, 10, 200); // Populate my list of animations. All game objects will populate animations in a consistant order. // Move will always be at index 0. IDLE_LEFT will always be at index 1, etc. mUnitAnimationList.Add(MoveLeft); mUnitAnimationList.Add(MoveRight); mUnitAnimationList.Add(IdleLeft); mUnitAnimationList.Add(IdleRight); mUnitAnimationList.Add(AttackLeft); mUnitAnimationList.Add(AttackRight); mUnitAnimationList.Add(DeathLeft); mUnitAnimationList.Add(DeathRight); mCombatType = CombatType.MELEE; } break; case ObjectType.HERO: { //I'm a HERO, so define my HERO animations. Animation MoveLeft = new Animation("Sprites/Hero/HeroWalkingLeft", 4, 1, 4, 200); Animation MoveRight = new Animation("Sprites/Hero/HeroWalkingRight", 4, 1, 4, 200); Animation IdleLeft = new Animation("Sprites/Hero/HeroIdleLeft", 12, 1, 12, 200); Animation IdleRight = new Animation("Sprites/Hero/HeroIdleRight", 12, 1, 12, 200); Animation AttackLeft = new Animation("Sprites/Hero/HeroAttackingLeft", 4, 1, 4, 200); Animation AttackRight = new Animation("Sprites/Hero/HeroAttackingRight", 4, 1, 4, 200); Animation DeathLeft = new Animation("Sprites/Hero/HeroDyingLeft", 10, 1, 10, 150); Animation DeathRight = new Animation("Sprites/Hero/HeroDyingRight", 10, 1, 10, 150); Animation CastBattleCryLeft = new Animation("Sprites/Hero/HeroCastBattleCryLeft", 11, 0, 11, 200); Animation CastBattleCryRight = new Animation("Sprites/Hero/HeroCastBattleCryRight", 11, 0, 11, 200); Animation CastIntimidateLeft = new Animation("Sprites/Hero/HeroCastIntimidateLeft", 11, 0, 11, 200); Animation CastIntimidateRight = new Animation("Sprites/Hero/HeroCastIntimidateRight", 11, 0, 11, 200); // Populate my list of animations. All game objects will populate animations in a consistant order. // Move will always be at index 0. IDLE_LEFT will always be at index 1, etc. mUnitAnimationList.Add(MoveLeft); mUnitAnimationList.Add(MoveRight); mUnitAnimationList.Add(IdleLeft); mUnitAnimationList.Add(IdleRight); mUnitAnimationList.Add(AttackLeft); mUnitAnimationList.Add(AttackRight); mUnitAnimationList.Add(DeathLeft); mUnitAnimationList.Add(DeathRight); mUnitAnimationList.Add(CastBattleCryLeft); mUnitAnimationList.Add(CastBattleCryRight); mUnitAnimationList.Add(CastIntimidateLeft); mUnitAnimationList.Add(CastIntimidateRight); mCombatType = CombatType.MELEE; } break; case ObjectType.ORC_CASTLE: { Animation Castle = new Animation("Sprites/Structures/OrcCastle2", 1, 1, 1, 100000); // Animation Castle = new Animation("Sprites/Castle/NecromancerStructure", 10, 1, 10, 500); mUnitAnimationList.Add(Castle); } break; case ObjectType.DRAGON_CAVE: { Animation Structure = new Animation("Sprites/Structures/DragonCave", 9, 1, 9, 500); mUnitAnimationList.Add(Structure); } break; case ObjectType.ABBEY: { Animation Structure = new Animation("Sprites/Structures/Abbey", 20, 1, 20, 200); mUnitAnimationList.Add(Structure); } break; case ObjectType.BONEPIT: { Animation Structure = new Animation("Sprites/Structures/BonePit", 10, 1, 10, 200); mUnitAnimationList.Add(Structure); } break; case ObjectType.FIRE_TEMPLE: { Animation Structure = new Animation("Sprites/Structures/FireTemple", 9, 1, 9, 200); mUnitAnimationList.Add(Structure); } break; case ObjectType.WOLFPEN: { Animation Structure = new Animation("Sprites/Structures/WolfPen", 1, 1, 1, 100000); mUnitAnimationList.Add(Structure); } break; case ObjectType.LIBRARY: { Animation Structure = new Animation("Sprites/Structures/Library", 21, 1, 21, 100000); mUnitAnimationList.Add(Structure); } break; case ObjectType.ARMORY: { Animation Structure = new Animation("Sprites/Structures/Armory", 1, 1, 1, 100000); mUnitAnimationList.Add(Structure); } break; case ObjectType.BARRACKS: { Animation Structure = new Animation("Sprites/Structures/Barracks", 1, 1, 1, 100000); mUnitAnimationList.Add(Structure); } break; case ObjectType.FIRE_MAGE_PROJECTILE: { //Give me my axe I can throw at my foes! Animation CastLeft = new Animation("Sprites/Units/FireMage/FireballLeft", 5, 1, 5, 200); Animation CastRight = new Animation("Sprites/Units/FireMage/FireballRight", 5, 1, 5, 200); mProjectileAnimationList.Add(CastLeft); mProjectileAnimationList.Add(CastRight); } break; case ObjectType.GOG_PROJECTILE: { //Give me my axe I can throw at my foes! Animation CastLeft = new Animation("Sprites/Units/Gog/FireballLeft", 5, 1, 5, 100); Animation CastRight = new Animation("Sprites/Units/Gog/FireballRight", 5, 1, 5, 100); mProjectileAnimationList.Add(CastLeft); mProjectileAnimationList.Add(CastRight); } break; case ObjectType.NECROMANCER_PROJECTILE: { //Give me my axe I can throw at my foes! Animation CastLeft = new Animation("Sprites/Units/Necro/SkullChompLeft", 8, 1, 8, 200); Animation CastRight = new Animation("Sprites/Units/Necro/SkullChompRight", 8, 1, 8, 200); mProjectileAnimationList.Add(CastLeft); mProjectileAnimationList.Add(CastRight); } break; //TODO: THIS IS A BANSHEE PROJECTILE case ObjectType.BANSHEE_PROJECTILE: { //Give me my axe I can throw at my foes! Animation CastLeft = new Animation("Sprites/Units/Banshee/SkullLeft", 4, 1, 4, 150); Animation CastRight = new Animation("Sprites/Units/Banshee/SkullRight", 4, 1, 4, 150); mProjectileAnimationList.Add(CastLeft); mProjectileAnimationList.Add(CastRight); } break; case ObjectType.ARCANE_MAGE_PROJECTILE: { //Give me my axe I can throw at my foes! Animation CastLeft = new Animation("Sprites/Units/ArcaneMage/ArcaneOrbLeft", 5, 1, 5, 200); Animation CastRight = new Animation("Sprites/Units/ArcaneMage/ArcaneOrbRight", 5, 1, 5, 200); mProjectileAnimationList.Add(CastLeft); mProjectileAnimationList.Add(CastRight); } break; // THIS IS AN AXE THROWER PROJECTILE case ObjectType.AXE_THROWER_PROJECTILE: { //Give me my axe I can throw at my foes! Animation CastLeft = new Animation("Sprites/Units/AxeThrower/AxeThrowerSpellLeft", 12, 1, 12, 100); Animation CastRight = new Animation("Sprites/Units/AxeThrower/AxeThrowerSpellRight", 12, 1, 12, 100); mProjectileAnimationList.Add(CastLeft); mProjectileAnimationList.Add(CastRight); } break; case ObjectType.GOLD: //TODO: Animation GoldAnimation = new Animation("Sprites/ItemDrops/COIN", 59, 1, 59, 50); mItemDropAnimation = GoldAnimation; break; case ObjectType.HEALTH: Animation HealthDropAnimation = new Animation("Sprites/ItemDrops/HealthPickupAnimation", 15, 1, 15, 200); mItemDropAnimation = HealthDropAnimation; break; default: throw new ArgumentOutOfRangeException(); break; } }
public void AddAnimation(Animation animation) { mAnimationList.Add(animation); SetAnimation(); mSprite.LoadContent(); }