package Roguelike.Entity.ActivationAction;
import Roguelike.Entity.Entity;
import Roguelike.Entity.EnvironmentEntity;
import Roguelike.Global;
import Roguelike.Util.EnumBitflag;
import com.badlogic.gdx.utils.XmlReader;
/**
* Created by Philip on 25-Jan-16.
*/
public class ActivationActionSetPassable extends AbstractActivationAction
{
public EnumBitflag<Global.Passability> passableBy;
public ActivationActionSetPassable()
{
}
public ActivationActionSetPassable( EnumBitflag<Global.Passability> passableBy )
{
this.passableBy = passableBy;
}
@Override
public void evaluate( EnvironmentEntity owningEntity, Entity activatingEntity, float delta )
{
owningEntity.passableBy = passableBy;
}
@Override
public void parse( XmlReader.Element xml )
{
passableBy = Global.Passability.parse( xml.get( "Passable", "false" ) );
if ( xml.get( "Opaque", null ) != null )
{
boolean opaque = xml.getBoolean( "Opaque", false );
if ( opaque )
{
passableBy.clearBit( Global.Passability.LIGHT );
}
else
{
passableBy.setBit( Global.Passability.LIGHT );
}
}
}
}