From 33331e83ee597b3526b34630898da600ef5b14b8 Mon Sep 17 00:00:00 2001
From: MARKPRO44 <119742977+MARKPRO4444@users.noreply.github.com>
Date: Fri, 18 Aug 2023 18:14:01 +0300
Subject: [PATCH] Hunchman
---
DangerousD/Content/lvl.tmx | 2 +-
.../LivingEntities/Monsters/Hunchman.cs | 38 +++++--------------
.../LivingEntities/Monsters/HunchmanDagger.cs | 31 ++++++++++-----
3 files changed, 31 insertions(+), 40 deletions(-)
diff --git a/DangerousD/Content/lvl.tmx b/DangerousD/Content/lvl.tmx
index 5fcea6a..e03bd77 100644
--- a/DangerousD/Content/lvl.tmx
+++ b/DangerousD/Content/lvl.tmx
@@ -700,7 +700,7 @@
-
diff --git a/DangerousD/GameCore/GameObjects/LivingEntities/Monsters/Hunchman.cs b/DangerousD/GameCore/GameObjects/LivingEntities/Monsters/Hunchman.cs
index 1ca0b17..9ba700b 100644
--- a/DangerousD/GameCore/GameObjects/LivingEntities/Monsters/Hunchman.cs
+++ b/DangerousD/GameCore/GameObjects/LivingEntities/Monsters/Hunchman.cs
@@ -36,7 +36,7 @@ namespace DangerousD.GameCore.GameObjects.LivingEntities.Monsters
}
protected override GraphicsComponent GraphicsComponent { get; } = new(new List
- { "HunchmanMoveLeft", "HunchmanMoveRight", "HunchmanDaggerLeft", "HunchmanDaggerRight" }, "HunchmanMoveLeft");
+ { "HunchmanMoveLeft", "HunchmanMoveRight", "HunchmanAttackLeft", "HunchmanAttackRight" }, "HunchmanMoveLeft");
public override void Update(GameTime gameTime)
@@ -56,17 +56,19 @@ namespace DangerousD.GameCore.GameObjects.LivingEntities.Monsters
isAttaking = true;
if (isGoRight)
{
- if (animation != "HunchmanDaggerRight")
+ if (animation != "HunchmanAttackRight")
{
- GraphicsComponent.StartAnimation("HunchmanDaggerRight");
+ GraphicsComponent.StartAnimation("HunchmanAttackRight");
}
+ HunchmanDagger hunchmanDagger = new HunchmanDagger(Pos,isGoRight);
}
else
{
- if (animation != "HunchmanDaggerLeft")
+ if (animation != "HunchmanAttackLeft")
{
- GraphicsComponent.StartAnimation("HunchmanDaggerLeft");
+ GraphicsComponent.StartAnimation("HunchmanAttackLeft");
}
+ HunchmanDagger hunchmanDagger = new HunchmanDagger(Pos, isGoRight);
}
}
@@ -117,18 +119,7 @@ namespace DangerousD.GameCore.GameObjects.LivingEntities.Monsters
}
}
- public override void OnCollision(GameObject gameObject)
- {
- if (gameObject is Player)
- {
- if (AppManager.Instance.GameManager.players[0].IsAlive)
- {
- Attack();
- }
- }
-
- base.OnCollision(gameObject);
- }
+
public void Target()
{
@@ -136,18 +127,7 @@ namespace DangerousD.GameCore.GameObjects.LivingEntities.Monsters
if (physicsManager.RayCast(this, player) == null)
{
- if(this._pos.X <= player.Pos.X)
- {
- isTarget = true;
- leftBoarder = Pos.X - 10;
- rightBoarder = player.Pos.X;
- }
- else if(this._pos.X >= player.Pos.X)
- {
- isTarget = true;
- rightBoarder = Pos.X + 10;
- leftBoarder = player.Pos.X;
- }
+ Attack();
}
}
}
diff --git a/DangerousD/GameCore/GameObjects/LivingEntities/Monsters/HunchmanDagger.cs b/DangerousD/GameCore/GameObjects/LivingEntities/Monsters/HunchmanDagger.cs
index 9699ad6..11cfe8a 100644
--- a/DangerousD/GameCore/GameObjects/LivingEntities/Monsters/HunchmanDagger.cs
+++ b/DangerousD/GameCore/GameObjects/LivingEntities/Monsters/HunchmanDagger.cs
@@ -14,8 +14,9 @@ namespace DangerousD.GameCore.GameObjects.LivingEntities.Monsters
{
private bool isGoRight = false;
- public HunchmanDagger(Vector2 position) : base(position)
+ public HunchmanDagger(Vector2 position, bool isGoRight) : base(position)
{
+ this.isGoRight = isGoRight;
name = "Hunchman";
monster_speed = 4;
Width = 9;
@@ -36,22 +37,36 @@ namespace DangerousD.GameCore.GameObjects.LivingEntities.Monsters
public override void Death()
{
-
+ AppManager.Instance.GameManager.Remove(this);
}
public override void Move(GameTime gameTime)
{
velocity.X = 0;
- var animation = GraphicsComponent.GetCurrentAnimation;
-
- if (animation == "HunchmanDaggerRight")
+ var getCols = AppManager.Instance.GameManager.physicsManager.CheckRectangle(new Rectangle(0, 0, 0, 0));
+ if (isGoRight)
{
+ StartCicycleAnimation("HunchmanDaggerRight");
velocity.X = monster_speed;
+ getCols = AppManager.Instance.GameManager.physicsManager.CheckRectangle(new Rectangle((int)Pos.X, (int)Pos.Y, Width+5, Height));
+ if(getCols.Count>0)
+ {
+ Death();
+ }
}
- else if (animation == "HunchmanDaggerLeft")
+
+ else if (!isGoRight)
{
+ StartCicycleAnimation("HunchmanDaggerLeft");
velocity.X = -monster_speed;
+ getCols = AppManager.Instance.GameManager.physicsManager.CheckRectangle(new Rectangle((int)Pos.X-5, (int)Pos.Y, Width + 5, Height));
+ if (getCols.Count > 0)
+ {
+ Death();
+ }
}
+
+
}
public override void OnCollision(GameObject gameObject)
@@ -60,10 +75,6 @@ namespace DangerousD.GameCore.GameObjects.LivingEntities.Monsters
{
AppManager.Instance.GameManager.players[0].Death(name);
}
- else
- {
- Death();
- }
base.OnCollision(gameObject);
}