package com.indignado.logicbricks.systems.sensors;
import com.indignado.logicbricks.components.sensors.DelaySensorComponent;
import com.indignado.logicbricks.core.sensors.DelaySensor;
import com.indignado.logicbricks.utils.Log;
/**
* @author Rubentxu
*/
public class DelaySensorSystem extends SensorSystem<DelaySensor, DelaySensorComponent> {
public DelaySensorSystem() {
super(DelaySensorComponent.class);
}
@Override
public boolean query(DelaySensor sensor, float deltaTime) {
boolean isActive = false;
if (sensor.time != -1) sensor.time += deltaTime;
if (sensor.time >= sensor.delay) {
if (sensor.positive && sensor.time >= (sensor.delay + sensor.duration)) {
if (sensor.repeat) {
sensor.time = 0;
} else {
sensor.time = -1;
}
} else {
Log.debug(tag, "query is true time %f", sensor.time);
isActive = true;
}
}
return isActive;
}
}