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;
        }
Exemplo n.º 4
0
        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));
            }
        }