public AEnemyMovement(AEnemyObject player, Level level, IEffectMusic effect, float jumpHeight = 6f, float walkSpeed = 2f) { this.player = player; this.level = level; hasJumped = true; isGround = false; this.jumpHeight = jumpHeight; this.walkingSpeed = walkSpeed; this.effects = effect; }
public void NPCAttack(IPlayerObject enemy, AEnemyObject player, GameTime gametime, IEffectMusic effect) { SetTimer(gametime); if (NPCCollision.IsTouchingNPC(player.Rectangle, enemy.Rectangle)) { if (gametime.TotalGameTime.TotalSeconds - timer > 0.7) { effect.PlayAttack(); isSetTimer = false; enemy.Hearts -= player.AttackDamage; if (!enemy.IsHit) { enemy.IsHit = true; effect.PlayHit(); } } } }
public MoveCommandStaticNPC(AEnemyObject player, Level level, IEffectMusic effect) : base(player, level, effect, 4, 2) { }
public AMoveCommandFollowWhenNearby(AEnemyObject player, Level level, IEffectMusic effect, float jumpHeight = 4, float walkspeed = 2) : base(player, level, effect, jumpHeight, walkspeed) { }
public MoveCommandGuardTimeNPC(AEnemyObject player, Level level, IEffectMusic effect, double walkTime = 2.0, double stopTime = 3.0, float jumpHeight = 4, float walkspeed = 2) : base(player, level, effect, jumpHeight, walkspeed) { this.walkTime = walkTime; this.stopTime = stopTime; }
public MoveCommandWalkNPC(AEnemyObject player, Level level, IEffectMusic effect, float jumpHeight = 4, float walkspeed = 2, float timeOnJump = 5) : base(player, level, effect, jumpHeight, walkspeed) { this.timeOnJump = timeOnJump; }
public MoveCommandGuardPositionNPC(AEnemyObject player, Level level, IEffectMusic effect, int minX, int maxX, double stopTime = 3.0) : base(player, level, effect, 4, 2) { this.minX = minX; this.maxX = maxX; this.stopTime = stopTime; }