LADXHD/InGame/GameObjects/Bosses/BossMoldormTail.cs

35 lines
1.5 KiB
C#
Raw Normal View History

2023-12-14 22:21:22 +00:00
using Microsoft.Xna.Framework;
using ProjectZ.InGame.GameObjects.Base;
using ProjectZ.InGame.GameObjects.Base.CObjects;
using ProjectZ.InGame.GameObjects.Base.Components;
using ProjectZ.InGame.SaveLoad;
using ProjectZ.InGame.Things;
namespace ProjectZ.InGame.GameObjects.Bosses
{
class BossMoldormTail : GameObject
{
public BossMoldormTail(Map.Map map, BossMoldorm nightmare) : base(map)
{
Tags = Values.GameObjectTag.Enemy;
EntityPosition = new CPosition(nightmare.EntityPosition.X, nightmare.EntityPosition.Y, 0);
var animator = AnimatorSaveLoad.LoadAnimator("Nightmares/nightmare tail");
animator.Play("idle");
var sprite = new CSprite(EntityPosition);
var hittableBox = new CBox(EntityPosition, -6, -6, 12, 12, 8);
AddComponent(HittableComponent.Index, new HittableComponent(hittableBox, nightmare.OnHitTail));
AddComponent(BaseAnimationComponent.Index, new AnimationComponent(animator, sprite, new Vector2(-8, -8)));
AddComponent(DrawComponent.Index, new DrawCSpriteComponent(sprite, Values.LayerBottom));
AddComponent(PushableComponent.Index, new PushableComponent(new CBox(EntityPosition, -6, -6, 12, 12, 8), OnPush) { RepelMultiplier = 1.5f });
}
private bool OnPush(Vector2 direction, PushableComponent.PushType type)
{
return true;
}
}
}