diff --git a/DangerousD/GameCore/GameObjects/Entities/SilasBall.cs b/DangerousD/GameCore/GameObjects/Entities/SilasBall.cs index 48dd53b..94e7ca6 100644 --- a/DangerousD/GameCore/GameObjects/Entities/SilasBall.cs +++ b/DangerousD/GameCore/GameObjects/Entities/SilasBall.cs @@ -12,20 +12,22 @@ namespace DangerousD.GameCore.GameObjects.Entities { public class SilasBall : LivingEntity { - public bool IsVisibility=true; + + private Vector2 v; public SilasBall(Vector2 position) : base(position) { - Height = 60; - Width = 60; + Height = 24; + Width = 24; acceleration = Vector2.Zero; } public SilasBall(Vector2 position, Vector2 velosity) : base(position) { - Height = 60; - Width = 60; + Height = 24; + Width = 24; acceleration = Vector2.Zero; velocity = velosity; + v = velosity; } @@ -33,17 +35,17 @@ namespace DangerousD.GameCore.GameObjects.Entities public override void Update(GameTime gameTime) { base.Update(gameTime); - if (AppManager.Instance.GameManager.physicsManager.CheckRectangle(Rectangle).Count>0) + if (AppManager.Instance.GameManager.physicsManager.CheckRectangle( new Rectangle(Rectangle.X-2,Rectangle.Y-2,Rectangle.Width+8,Rectangle.Height+8)).Count>0) { - IsVisibility = false; + AppManager.Instance.GameManager.Remove(this); } + velocity = v; } public override void Draw(SpriteBatch spriteBatch) { - if (IsVisibility) - { - base.Draw(spriteBatch); - } + + base.Draw(spriteBatch); + } } diff --git a/DangerousD/GameCore/GameObjects/LivingEntities/Monsters/SilasHands.cs b/DangerousD/GameCore/GameObjects/LivingEntities/Monsters/SilasHands.cs index e16f168..a54a59b 100644 --- a/DangerousD/GameCore/GameObjects/LivingEntities/Monsters/SilasHands.cs +++ b/DangerousD/GameCore/GameObjects/LivingEntities/Monsters/SilasHands.cs @@ -15,8 +15,8 @@ namespace DangerousD.GameCore.GameObjects.LivingEntities.Monsters public SilasHands(Vector2 position) : base(position) { name = "SilasHand"; - Width = 48; - Height = 48; + Width = 16; + Height = 16; monster_health = 2; monster_speed = 2; acceleration = Vector2.Zero; diff --git a/DangerousD/GameCore/GameObjects/LivingEntities/Monsters/SilasMaster.cs b/DangerousD/GameCore/GameObjects/LivingEntities/Monsters/SilasMaster.cs index 4b3b5cb..34069af 100644 --- a/DangerousD/GameCore/GameObjects/LivingEntities/Monsters/SilasMaster.cs +++ b/DangerousD/GameCore/GameObjects/LivingEntities/Monsters/SilasMaster.cs @@ -24,21 +24,17 @@ namespace DangerousD.GameCore.GameObjects.LivingEntities.Monsters public SilasMaster(Vector2 position) : base(position) { name = "SilasMaster"; - Width = 144; - Height = 160; + Width = 48; + Height = 53; monster_health = 15; - monster_speed = 4; + monster_speed = 2; acceleration = Vector2.Zero; leftBorder = (int)position.X - 60; rightBorder = (int)position.X + 120; acceleration = Vector2.Zero; - hands.Add(new SilasHands(new Vector2(Pos.X+60,Pos.Y+120))); - hands.Add(new SilasHands(new Vector2(Pos.X + 90, Pos.Y + 120))); - for (int i = 0; i < 4; i++) - { - SilasBall silasball = new SilasBall(new Vector2(Pos.X + i * 40, Pos.Y + 120), new Vector2((i - 2) * 4, 6)); - balls.Add(silasball); - } + hands.Add(new SilasHands(new Vector2(Pos.X+0,Pos.Y+53))); + hands.Add(new SilasHands(new Vector2(Pos.X + 24, Pos.Y + 53))); + } protected override GraphicsComponent GraphicsComponent { get; } = new GraphicsComponent(new List() { "SilasMove", "SilasAttack" }, "SilasMove"); public override void Attack() @@ -64,13 +60,15 @@ namespace DangerousD.GameCore.GameObjects.LivingEntities.Monsters private void SpawnAttackBall() { - for (int i = 0; i < balls.Count; i++) + balls.Clear(); + for (int i = 0; i < 4; i++) { - balls[i].SetPosition(new Vector2(Pos.X + i * 40, Pos.Y + 120)); - balls[i].IsVisibility=true; + SilasBall silasball = new SilasBall(new Vector2(Pos.X + i * 12, Pos.Y + 53), new Vector2((i - 2) * 2, 2)); + + balls.Add(silasball); } - - + + } public void Attack(GameTime gameTime)