mirror of
https://github.com/Phantop/LADXHD.git
synced 2024-11-01 04:14:22 +00:00
40 lines
1.3 KiB
C#
40 lines
1.3 KiB
C#
|
using Microsoft.Xna.Framework;
|
||
|
using ProjectZ.Base;
|
||
|
using ProjectZ.InGame.GameObjects.Base;
|
||
|
using ProjectZ.InGame.GameObjects.Base.CObjects;
|
||
|
using ProjectZ.InGame.GameObjects.Base.Components;
|
||
|
using ProjectZ.InGame.Map;
|
||
|
|
||
|
namespace ProjectZ.InGame.GameObjects.Things
|
||
|
{
|
||
|
internal class ObjJumpRaft : GameObject
|
||
|
{
|
||
|
private readonly RectangleF _collisionRectangle;
|
||
|
private readonly int _offsetY;
|
||
|
|
||
|
public ObjJumpRaft() : base("editor jump")
|
||
|
{
|
||
|
EditorColor = Color.Blue * 0.5f;
|
||
|
}
|
||
|
|
||
|
public ObjJumpRaft(Map.Map map, int posX, int posY, int width, int offsetY) : base(map)
|
||
|
{
|
||
|
EntityPosition = new CPosition(posX, posY, 0);
|
||
|
EntitySize = new Rectangle(0, 0, width, 16);
|
||
|
|
||
|
_collisionRectangle = new RectangleF(posX, posY, width, 16);
|
||
|
_offsetY = offsetY;
|
||
|
|
||
|
AddComponent(UpdateComponent.Index, new UpdateComponent(Update));
|
||
|
}
|
||
|
|
||
|
private void Update()
|
||
|
{
|
||
|
if (_collisionRectangle.Intersects(MapManager.ObjLink.BodyRectangle))
|
||
|
{
|
||
|
var goalPosition = new Vector2(MapManager.ObjLink.EntityPosition.X, EntityPosition.Y + _offsetY);
|
||
|
MapManager.ObjLink.RaftJump(goalPosition);
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
}
|