BossPreperation

This commit is contained in:
Niklas Ulf Anders Cullberg
2012-10-31 00:19:07 +01:00
parent 2dbad13a64
commit 450ffdb68c
4 changed files with 39 additions and 3 deletions
@@ -17,6 +17,7 @@ namespace DepthsBelow.Component
/// The texture to be rendered. /// The texture to be rendered.
/// </summary> /// </summary>
public Texture2D Texture; public Texture2D Texture;
public Texture2D AlternativeTexture;
/// <summary> /// <summary>
/// Color modifier. /// Color modifier.
/// </summary> /// </summary>
@@ -38,7 +39,14 @@ namespace DepthsBelow.Component
public void Draw(SpriteBatch spriteBatch) public void Draw(SpriteBatch spriteBatch)
{ {
var transform = this.Parent.GetComponent<Transform>(); var transform = this.Parent.GetComponent<Transform>();
spriteBatch.Draw(Texture, transform.World.Position + transform.World.Origin, null, Color, transform.World.Rotation, transform.World.Origin, Scale, SpriteEffects, 0); if (AlternativeTexture == null)
{
spriteBatch.Draw(Texture, transform.World.Position + transform.World.Origin, null, Color, transform.World.Rotation, transform.World.Origin, Scale, SpriteEffects, 0);
}
else
{
spriteBatch.Draw(AlternativeTexture, transform.World.Position + transform.World.Origin - new Vector2(Grid.TileSize, Grid.TileSize), null, Color, transform.World.Rotation, transform.World.Origin, Scale, SpriteEffects, 0);
}
} }
} }
} }
+9 -1
View File
@@ -84,7 +84,15 @@ namespace DepthsBelow
} }
if (mapObject.Type == "MonsterSpawn") if (mapObject.Type == "MonsterSpawn")
{ {
var enemy = new MonsterSpawn(ref core.Swarm); var enemy = new MonsterSpawn("Monster", ref core.Swarm);
var mapObjectPos = new Vector2(mapObject.Bounds.X, mapObject.Bounds.Y - Grid.TileSize);
var mapObjectGridPos = Grid.WorldToGrid(mapObjectPos);
enemy.X = mapObjectGridPos.X;
enemy.Y = mapObjectGridPos.Y;
}
if (mapObject.Type == "BossSpawn")
{
var enemy = new MonsterSpawn("BUB", ref core.Swarm);
var mapObjectPos = new Vector2(mapObject.Bounds.X, mapObject.Bounds.Y - Grid.TileSize); var mapObjectPos = new Vector2(mapObject.Bounds.X, mapObject.Bounds.Y - Grid.TileSize);
var mapObjectGridPos = Grid.WorldToGrid(mapObjectPos); var mapObjectGridPos = Grid.WorldToGrid(mapObjectPos);
enemy.X = mapObjectGridPos.X; enemy.X = mapObjectGridPos.X;
+8 -1
View File
@@ -14,12 +14,15 @@ namespace DepthsBelow
int wakingDistance = 7; int wakingDistance = 7;
int sleepingDistance = 6; int sleepingDistance = 6;
string type;
List<SmallEnemy> swarm; List<SmallEnemy> swarm;
public MonsterSpawn(ref List<SmallEnemy> Swarm) public MonsterSpawn(string _type, ref List<SmallEnemy> Swarm)
: base() : base()
{ {
//this.entityManager = entityManager; //this.entityManager = entityManager;
type = _type;
swarm = Swarm; swarm = Swarm;
} }
@@ -37,6 +40,10 @@ namespace DepthsBelow
if (Vector2.Distance(distance1, distance2) < wakingDistance/* && Vector2.Distance(distance1, distance2) > sleepingDistance*/) if (Vector2.Distance(distance1, distance2) < wakingDistance/* && Vector2.Distance(distance1, distance2) > sleepingDistance*/)
{ {
var enemy = new SmallEnemy(ref swarm); var enemy = new SmallEnemy(ref swarm);
if (type == "BUB")
{
enemy.LoadBoss();
}
enemy.X = this.X; enemy.X = this.X;
enemy.Y = this.Y; enemy.Y = this.Y;
swarm.Add(enemy); swarm.Add(enemy);
+13
View File
@@ -86,6 +86,19 @@ namespace DepthsBelow
Texture = GameServices.GetService<ContentManager>().Load<Texture2D>("images/Monster"); Texture = GameServices.GetService<ContentManager>().Load<Texture2D>("images/Monster");
} }
public void LoadBoss()
{
GetComponent<SpriteRenderer>().AlternativeTexture = GameServices.GetService<ContentManager>().Load<Texture2D>("images/Pineapple");
var stat = new Component.Stat(this)
{
Life = 500,
Defence = 15,
Strength = 70,
GetAim = 80,
GetDodge = 5
};
}
public override void Update(GameTime gameTime) public override void Update(GameTime gameTime)
{ {
base.Update(gameTime); base.Update(gameTime);