add CheckRectangle method and little changes in monsters
This commit is contained in:
parent
0ad20e3638
commit
55a585eeb0
7 changed files with 36 additions and 4 deletions
|
@ -13,10 +13,15 @@ namespace DangerousD.GameCore.GameObjects.LivingEntities.Monsters
|
|||
internal class Frank : CoreEnemy
|
||||
{
|
||||
private bool isGoRight = false;
|
||||
private int leftBoarder;
|
||||
private int rightBoarder;
|
||||
|
||||
public Frank(Vector2 position) : base(position)
|
||||
{
|
||||
Width = 112;
|
||||
Height = 160;
|
||||
leftBoarder = 50;
|
||||
rightBoarder = 500;
|
||||
GraphicsComponent.StartAnimation("FrankMoveLeft");
|
||||
monster_speed = 1;
|
||||
name = "Frank";
|
||||
|
|
|
@ -23,6 +23,11 @@ namespace DangerousD.GameCore.GameObjects.LivingEntities.Monsters
|
|||
|
||||
protected override GraphicsComponent GraphicsComponent { get; } = new(new List<string> { "BallMoveRight" }, "BallMoveRight");
|
||||
|
||||
public override void Update(GameTime gameTime)
|
||||
{
|
||||
|
||||
base.Update(gameTime);
|
||||
}
|
||||
public override void Attack()
|
||||
{
|
||||
|
||||
|
|
|
@ -46,7 +46,7 @@ namespace DangerousD.GameCore.GameObjects.LivingEntities.Monsters
|
|||
webLength++;
|
||||
_pos.Y += 25;
|
||||
web.Height = webLength * 25;
|
||||
web.SetPosition(new Vector2(_pos.X + Width / 2 - web.Width / 2, Pos.Y - 25 * webLength));
|
||||
web.SetPosition(new Vector2(_pos.X + Width / 2 - web.Width / 2 + 2, Pos.Y - 25 * webLength));
|
||||
delay = 0;
|
||||
if (webLength == 4)
|
||||
{
|
||||
|
@ -59,7 +59,7 @@ namespace DangerousD.GameCore.GameObjects.LivingEntities.Monsters
|
|||
webLength--;
|
||||
_pos.Y -= 25;
|
||||
web.Height = webLength * 25;
|
||||
web.SetPosition(new Vector2(_pos.X + Width / 2 - web.Width / 2, Pos.Y - 25 * webLength));
|
||||
web.SetPosition(new Vector2(_pos.X + Width / 2 - web.Width / 2 + 2, Pos.Y - 25 * webLength));
|
||||
delay = 0;
|
||||
if (webLength == 0)
|
||||
{
|
||||
|
|
|
@ -16,6 +16,7 @@ namespace DangerousD.GameCore.GameObjects.LivingEntities.Monsters
|
|||
int leftBorder;
|
||||
int rightBorder;
|
||||
bool isAttaking = false;
|
||||
|
||||
public Zombie(Vector2 position) : base(position)
|
||||
{
|
||||
Width = 72;
|
||||
|
|
|
@ -11,8 +11,8 @@ namespace DangerousD.GameCore.Levels
|
|||
public void InitLevel()
|
||||
{
|
||||
new Player(new Vector2(80,0));
|
||||
var Zombie = new Zombie(new Vector2(140, 128));
|
||||
var Frank = new Frank(new Vector2(384, 128));
|
||||
//var Zombie = new Zombie(new Vector2(140, 128));
|
||||
var Frank = new Frank(new Vector2(384, 0));
|
||||
|
||||
var Spider = new Spider(new Vector2(112, 0));
|
||||
var FlameSkull = new FlameSkull(new Vector2(512, 0));
|
||||
|
|
|
@ -20,9 +20,13 @@ namespace DangerousD.GameCore
|
|||
public PhysicsManager physicsManager;
|
||||
public List<Player> players;
|
||||
public List<GameObject> otherObjects = new();
|
||||
|
||||
public List<GameObject> GetAllGameObjects { get; private set; }
|
||||
public Player GetPlayer1 { get; private set; }
|
||||
public GameManager()
|
||||
{
|
||||
|
||||
GetAllGameObjects = new List<GameObject>();
|
||||
livingEntities = new List<LivingEntity>();
|
||||
mapObjects = new List<MapObject>();
|
||||
entities = new List<Entity>();
|
||||
|
@ -34,6 +38,7 @@ namespace DangerousD.GameCore
|
|||
|
||||
internal void Register(GameObject gameObject)
|
||||
{
|
||||
GetAllGameObjects.Add(gameObject);
|
||||
if (gameObject is Player)
|
||||
{
|
||||
livingEntities.Add(gameObject as LivingEntity);
|
||||
|
|
|
@ -206,5 +206,21 @@ namespace DangerousD.GameCore.Managers
|
|||
}
|
||||
return null;
|
||||
}
|
||||
public List<GameObject> CheckRectangle(Rectangle rectangle, Type type)
|
||||
{
|
||||
var gameObjects = AppManager.Instance.GameManager.GetAllGameObjects;
|
||||
List<GameObject> intersected = new List<GameObject>();
|
||||
for (int i = 0; i < gameObjects.Count; i++)
|
||||
{
|
||||
if (gameObjects[i].GetType() == type)
|
||||
{
|
||||
if (gameObjects[i].Rectangle.Intersects(rectangle))
|
||||
{
|
||||
intersected.Add(gameObjects[i]);
|
||||
}
|
||||
}
|
||||
}
|
||||
return intersected;
|
||||
}
|
||||
}
|
||||
}
|
Loading…
Add table
Reference in a new issue