void UpdateEnemyAnimation(EnumData.EnemyState enemyState, FaceDirection faceDirection, EnemyDisplayData enemyDisplayData) { switch (enemyState) { case EnumData.EnemyState.Idle: break; case EnumData.EnemyState.Walking: UpdateDirectionSprite(enemyDisplayData.walkSprite, faceDirection); break; case EnumData.EnemyState.Petrified: currentAnimationSpriteGroup = enemyDisplayData.petrificationSprite; break; case EnumData.EnemyState.Pushed: break; case EnumData.EnemyState.PhysicsControlled: break; case EnumData.EnemyState.PrimaryMoveUse: UpdateDirectionSprite(enemyDisplayData.primaryMove, faceDirection); break; case EnumData.EnemyState.SecondaryMoveUse: UpdateDirectionSprite(enemyDisplayData.secondaryMove, faceDirection); break; } }
private void UpdateSprite(EnumData.EnemyState enemyState, FaceDirection faceDirection) { switch (enemyType) { case EnumData.MonsterBreed.Cyclops: UpdateEnemyAnimation(enemyState, faceDirection, cyclopsEnemyDisplayData); break; case EnumData.MonsterBreed.Centaur: UpdateEnemyAnimation(enemyState, faceDirection, centaurEnemyDisplayData); break; case EnumData.MonsterBreed.Snakes: UpdateEnemyAnimation(enemyState, faceDirection, snakeEnemyDisplayData); break; case EnumData.MonsterBreed.Minotaur: UpdateEnemyAnimation(enemyState, faceDirection, minnataurEnemyDisplayData); break; case EnumData.MonsterBreed.ZeusHead: UpdateEnemyAnimation(enemyState, faceDirection, zeusHeadEnemyDisplayData); break; case EnumData.MonsterBreed.MirrorKnight: UpdateEnemyAnimation(enemyState, faceDirection, mirrorKnightEnemyDisplayData); break; } }
void SetState(int enemyState, int faceDirection) { if (currentFaceDirection != (FaceDirection)faceDirection || currentEnemyState != (EnumData.EnemyState)enemyState) { UpdateSprite((EnumData.EnemyState)enemyState, (FaceDirection)faceDirection); } currentFaceDirection = (FaceDirection)faceDirection; currentEnemyState = (EnumData.EnemyState)enemyState; }