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.
/// </summary>
public Texture2D Texture;
public Texture2D AlternativeTexture;
/// <summary>
/// Color modifier.
/// </summary>
@@ -38,7 +39,14 @@ namespace DepthsBelow.Component
public void Draw(SpriteBatch spriteBatch)
{
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")
{
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 mapObjectGridPos = Grid.WorldToGrid(mapObjectPos);
enemy.X = mapObjectGridPos.X;
+8 -1
View File
@@ -14,12 +14,15 @@ namespace DepthsBelow
int wakingDistance = 7;
int sleepingDistance = 6;
string type;
List<SmallEnemy> swarm;
public MonsterSpawn(ref List<SmallEnemy> Swarm)
public MonsterSpawn(string _type, ref List<SmallEnemy> Swarm)
: base()
{
//this.entityManager = entityManager;
type = _type;
swarm = Swarm;
}
@@ -37,6 +40,10 @@ namespace DepthsBelow
if (Vector2.Distance(distance1, distance2) < wakingDistance/* && Vector2.Distance(distance1, distance2) > sleepingDistance*/)
{
var enemy = new SmallEnemy(ref swarm);
if (type == "BUB")
{
enemy.LoadBoss();
}
enemy.X = this.X;
enemy.Y = this.Y;
swarm.Add(enemy);
+13
View File
@@ -86,6 +86,19 @@ namespace DepthsBelow
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)
{
base.Update(gameTime);