public Boss(SpriteBatch spriteBatch, Soul game, AudioManager audio, GameTime gameTime, string alias, EntityManager entityManager) : base(spriteBatch, game, Constants.BOSS_IDLE_FILENAME, new Vector2(Constants.BOSS_WIDTH, Constants.BOSS_HEIGHT), alias, EntityType.BOSS) { spriteIdle = new Sprite(spriteBatch, game, Constants.BOSS_IDLE_FILENAME); spriteShoot = new Sprite(spriteBatch, game, Constants.BOSS_SHOOT_FILENAME); spriteSpawn = new Sprite(spriteBatch, game, Constants.BOSS_SPAWN_FILENAME); spriteDeath = new Sprite(spriteBatch, game, Constants.BOSS_DEATH_FILENAME); this.sprite = spriteSpawn; this.animation.MaxFrames = 0; animation2 = new Animation(((int)(spriteShoot.X / dimension.X)) - 1); this.entityManager = entityManager; weapon = new BossWeapon(spriteBatch, game, sprite.Y); weapon.Damage = damage; offset = Vector2.Zero; this.random = new Random(); hitFx = new HitFX(game); velocity.X = 5; this.audio = audio; fireRate = burst; burstPause = int.Parse(game.constants.getValue("BOSS", "BURSTPAUSE")); }
public Entity(SpriteBatch spriteBatch, Soul game, string filename, Vector2 dimension, string alias, EntityType type) { sprite = new Sprite(spriteBatch, game, filename); screenBoundaries = new Rectangle(0, 0, Constants.RESOLUTION_VIRTUAL_WIDTH, Constants.RESOLUTION_VIRTUAL_HEIGHT); this.alias = alias; this.dimension = dimension; offset.X = dimension.X * 0.5f; offset.Y = dimension.Y * 0.5f; this.type = type; animation = new Animation(((int)(sprite.X / dimension.X)) - 1); this.game = game; this.spriteBatch = spriteBatch; //IniFile config = new IniFile("Content\\Config\\config.ini"); //config.parse(); debug = bool.Parse(game.config.getValue("Debug","Hitbox")); bool varyingEntity = false; List<String> varyingEntities = new List<string>(); varyingEntities.Add("BLUE_BLOOD_VESSEL"); varyingEntities.Add("RED_BLOOD_VESSEL"); varyingEntities.Add("PURPLE_BLOOD_VESSEL"); varyingEntities.Add("DARK_THOUGHT"); varyingEntities.Add("DARK_WHISPER"); varyingEntities.Add("INNER_DEMON"); varyingEntities.Add("LESSER_DEMON"); varyingEntities.Add("NIGHTMARE"); varyingEntities.Add("PLAYER"); varyingEntities.Add("BOSS"); foreach (String entityType in varyingEntities) { if (type.ToString().Equals(entityType)) { varyingEntity = true; } } if (varyingEntity) { //IniFile ini = new IniFile("Content\\Config\\constants.ini"); //ini.parse(); health = int.Parse(game.constants.getValue(type.ToString(), "HEALTH")); if (type.ToString().Equals("PLAYER")) { maxHealth = int.Parse(game.constants.getValue(type.ToString(), "MAXHEALTH")); } if (!type.ToString().Equals("BOSS")) { hitRadius = int.Parse(game.constants.getValue(type.ToString(), "RADIUS")); maxVelocity = new Vector2(float.Parse(game.constants.getValue(type.ToString(), "SPEED")), float.Parse(game.constants.getValue(type.ToString(), "SPEED"))); } if (!type.ToString().Equals("INNER_DEMON") && !type.ToString().Equals("LESSER_DEMON") && !type.ToString().Equals("BOSS")) { damage = int.Parse(game.constants.getValue(type.ToString(), "DAMAGE")); } if (type.ToString().Equals("DARK_THOUGHT") || type.ToString().Equals("PLAYER")) { fireRate = float.Parse(game.constants.getValue(type.ToString(), "RATE")); } if (type.ToString().Equals("DARK_THOUGHT") || type.ToString().Equals("BOSS")) { burst = int.Parse(game.constants.getValue(type.ToString(), "BURSTPERIOD")); } if (type.ToString().Equals("INNER_DEMON") || type.ToString().Equals("BOSS")) { minSpawn = int.Parse(game.constants.getValue(type.ToString(), "MINSPAWN")); maxSpawn = int.Parse(game.constants.getValue(type.ToString(), "MAXSPAWN")); } if (type.ToString().Equals("DARK_WHISPER")) { spikeDamage = int.Parse(game.constants.getValue(type.ToString(), "SPIKEDAMAGE")); spikeSpeed = int.Parse(game.constants.getValue(type.ToString(), "SPIKESPEED")); spikeRange = int.Parse(game.constants.getValue(type.ToString(), "SPIKERANGE")); } } }