// 
// Decompiled by Procyon v0.6.0
// 

package com.hypixel.hytale.server.npc.corecomponents.utility.builders;

import javax.annotation.Nullable;
import com.hypixel.hytale.server.npc.instructions.Sensor;
import java.util.List;
import com.hypixel.hytale.server.npc.corecomponents.utility.SensorAnd;
import com.hypixel.hytale.server.npc.asset.builder.BuilderSupport;
import com.hypixel.hytale.server.npc.asset.builder.BuilderDescriptorState;
import javax.annotation.Nonnull;

public class BuilderSensorAnd extends BuilderSensorMany
{
    @Nonnull
    @Override
    public String getShortDescription() {
        return "Logical AND of list of sensors";
    }
    
    @Nonnull
    @Override
    public String getLongDescription() {
        return "Evaluate all sensors and execute action only when all sensor signal true. Target is provided by first sensor.";
    }
    
    @Nonnull
    @Override
    public BuilderDescriptorState getBuilderDescriptorState() {
        return BuilderDescriptorState.Stable;
    }
    
    @Nullable
    @Override
    public SensorAnd build(@Nonnull final BuilderSupport builderSupport) {
        final List<Sensor> sensors = this.objectListHelper.build(builderSupport);
        if (sensors.isEmpty()) {
            return null;
        }
        return new SensorAnd(this, builderSupport, sensors);
    }
}
