public override void OnRemoved(Entity entity) { base.OnAdded(entity); EventSenderComponent eventSender = entity.GetComponent <EventSenderComponent>(); eventSender.GenericEvent -= Event; }
public override void OnAdded(Entity entity) { base.OnAdded(entity); SpeedComponent speed = entity.GetComponent <SpeedComponent>(); EventSenderComponent eventSender = entity.GetComponent <EventSenderComponent>(); speed.SpeedY = 0; eventSender.GenericEvent += Event; }
public override void OnAdded(Entity entity) { base.OnAdded(entity); LinkOnAirStateComponent onAir = entity.GetComponent <LinkOnAirStateComponent>(); SpeedComponent speed = entity.GetComponent <SpeedComponent>(); GoalSpeedComponent goalSpeed = entity.GetComponent <GoalSpeedComponent>(); EventSenderComponent eventSender = entity.GetComponent <EventSenderComponent>(); goalSpeed.GoalSpeedY = onAir.MaxVerticalSpeed; goalSpeed.AccelY = onAir.Gravity; goalSpeed.GoalSpeedX = speed.Speed.X; eventSender.GenericEvent += Event; }
public override void Process(Entity entity) { PositionComponent position = entity.GetComponent <PositionComponent>(); SpeedComponent speed = entity.GetComponent <SpeedComponent>(); AABBComponent aabb = entity.GetComponent <AABBComponent>(); Vector2 new_position = speed.PreviousPosition; MapCollisionType type = MoveContactMap( ref new_position, position.Position - speed.PreviousPosition, aabb.Rectangle, EntitySystem.BlackBoard.GetEntry <Map>("Map")); position.Position = new_position; EventSenderComponent eventSender = entity.GetComponent <EventSenderComponent>(); if (eventSender != null) { eventSender.Trigger <MapCollisionEventType>(entity, new MapCollisionEventType(type)); } }