merge commit

This commit is contained in:
bmvolf 2023-08-17 13:24:03 +03:00
commit 9568f313fd
2 changed files with 43 additions and 18 deletions

View file

@ -7,23 +7,27 @@ using System.Collections.Generic;
using System.Linq; using System.Linq;
using System.Text; using System.Text;
using System.Threading.Tasks; using System.Threading.Tasks;
using DangerousD.GameCore.Managers;
namespace DangerousD.GameCore.GameObjects.LivingEntities.Monsters namespace DangerousD.GameCore.GameObjects.LivingEntities.Monsters
{ {
public class Zombie : CoreEnemy public class Zombie : CoreEnemy
{ {
private bool isGoRight = true; private bool isGoRight = true;
int leftBorder; float leftBorder;
int rightBorder; float rightBorder;
bool isAttaking = false; bool isAttaking = false;
bool isTarget = false;
PhysicsManager physicsManager;
public Zombie(Vector2 position) : base(position) public Zombie(Vector2 position) : base(position)
{ {
Width = 72; Width = 24;
Height = 120; Height = 40;
monster_speed = 3; monster_speed = 3;
name = "Zombie"; name = "Zombie";
leftBorder = (int)position.X - 60; leftBorder = (int)position.X - 100;
rightBorder = (int)position.X + 120; rightBorder = (int)position.X + 100;
physicsManager = new PhysicsManager();
} }
protected override GraphicsComponent GraphicsComponent { get; } = new(new List<string> { "ZombieMoveRight", "ZombieMoveLeft", "ZombieRightAttack", "ZombieLeftAttack" }, "ZombieMoveLeft"); protected override GraphicsComponent GraphicsComponent { get; } = new(new List<string> { "ZombieMoveRight", "ZombieMoveLeft", "ZombieRightAttack", "ZombieLeftAttack" }, "ZombieMoveLeft");
@ -31,6 +35,7 @@ namespace DangerousD.GameCore.GameObjects.LivingEntities.Monsters
{ {
if (!isAttaking) if (!isAttaking)
{ {
Target();
Move(gameTime); Move(gameTime);
} }
@ -106,5 +111,25 @@ namespace DangerousD.GameCore.GameObjects.LivingEntities.Monsters
} }
base.OnCollision(gameObject); base.OnCollision(gameObject);
} }
public void Target()
{
if(physicsManager.RayCast(this, AppManager.Instance.GameManager.players[0]) == null)
{
if(isGoRight && this._pos.X <= AppManager.Instance.GameManager.players[0].Pos.X)
{
isTarget = true;
leftBorder = Pos.X - 10;
rightBorder = Pos.X + AppManager.Instance.GameManager.players[0].Pos.X;
}
else if(!isGoRight && this._pos.X >= AppManager.Instance.GameManager.players[0].Pos.X)
{
isTarget = true;
rightBorder = Pos.X + 10;
leftBorder = AppManager.Instance.GameManager.players[0].Pos.X;
}
}
}
} }
} }

View file

@ -10,18 +10,16 @@ namespace DangerousD.GameCore.Levels
{ {
public void InitLevel() public void InitLevel()
{ {
new Player(new Vector2(0,0)); new Player(new Vector2(80,0));
var Zombie = new Zombie(new Vector2(250, 128));
var Spider = new Spider(new Vector2(112, 0)); //var Frank = new Frank(new Vector2(384, 128));
var FlameSkull = new FlameSkull(new Vector2(512, 0)); //var Spider = new Spider(new Vector2(112, 0));
var Werewolf = new Werewolf(new Vector2(640, 0)); //var FlameSkull = new FlameSkull(new Vector2(512, 0));
var Ghost = new Ghost(new Vector2(730, 0)); //var Werewolf = new Werewolf(new Vector2(640, 0));
var Frank = new Frank(new Vector2(100, 64)); //var Ghost = new Ghost(new Vector2(730, 0));
var FrankBalls = new FrankBalls(new Vector2(Frank.Pos.X, Frank.Pos.Y)); //var FrankBalls = new FrankBalls(new Vector2(Frank.Pos.X, Frank.Pos.Y));
var Zombie = new Zombie(new Vector2(300, 64)); //var SilasHand = new SilasHands(new Vector2(200,64));
//var SilasMaster = new SilasMaster(new Vector2(400, 64));
var SilasHand = new SilasHands(new Vector2(200,64));
var SilasMaster = new SilasMaster(new Vector2(400, 64));
new GrassBlock(new Vector2(0, 224)); new GrassBlock(new Vector2(0, 224));
for (int i = 0; i < 50; i++) for (int i = 0; i < 50; i++)
{ {
@ -30,6 +28,8 @@ namespace DangerousD.GameCore.Levels
new GrassBlock(new Vector2(500, 224)); new GrassBlock(new Vector2(500, 224));
Player player = new Player(new Vector2(400, 64)); Player player = new Player(new Vector2(400, 64));
player.AnimationJump(); player.AnimationJump();
//new GrassBlock(new Vector2(500, 224));
} }
} }
} }