mirror of
https://github.com/Phantop/LADXHD.git
synced 2024-11-01 04:14:22 +00:00
38 lines
1.2 KiB
C#
38 lines
1.2 KiB
C#
|
using Microsoft.Xna.Framework;
|
|||
|
using ProjectZ.InGame.GameObjects.Base;
|
|||
|
using ProjectZ.InGame.GameObjects.Base.CObjects;
|
|||
|
using ProjectZ.InGame.GameObjects.Base.Components;
|
|||
|
using ProjectZ.InGame.Map;
|
|||
|
using ProjectZ.InGame.Things;
|
|||
|
|
|||
|
namespace ProjectZ.InGame.GameObjects.Things
|
|||
|
{
|
|||
|
class ObjSpikes2D : GameObject
|
|||
|
{
|
|||
|
private readonly DamageFieldComponent _damageField;
|
|||
|
|
|||
|
public ObjSpikes2D(Map.Map map, int posX, int posY) : base(map)
|
|||
|
{
|
|||
|
SprEditorImage = Resources.SprWhite;
|
|||
|
EditorIconSource = new Rectangle(0, 0, 16, 16);
|
|||
|
EditorColor = Color.Red;
|
|||
|
|
|||
|
EntityPosition = new CPosition(posX, posY, 0);
|
|||
|
EntitySize = new Rectangle(0, 0, 16, 16);
|
|||
|
|
|||
|
var box = new CBox(posX, posY + 10, 0, 16, 6, 8);
|
|||
|
AddComponent(DamageFieldComponent.Index, _damageField = new DamageFieldComponent(box, HitType.Object, 2)
|
|||
|
{
|
|||
|
OnDamage = DamagePlayer
|
|||
|
});
|
|||
|
}
|
|||
|
|
|||
|
private bool DamagePlayer()
|
|||
|
{
|
|||
|
MapManager.ObjLink.InflictSpikeDamage2D();
|
|||
|
|
|||
|
return MapManager.ObjLink.HitPlayer(new Vector2(0, -1), _damageField.DamageType, _damageField.Strength, true);
|
|||
|
}
|
|||
|
}
|
|||
|
}
|