private void SetupWallSideActuators(IEnumerable<GrabableItemData> items, IReadOnlyList<ActuatorItemData> actuators)
{
if (actuators.Any())
{
CurrentGrabableItems = items;
var factory = parser.TryMatchFactory(actuators, items.Any());
if (factory != null)
{
CurrentTile.SubItems.Add(factory.CreateItem(builder, CurrentTile, actuators));
}
else
{
if(actuators.All(x => x.ActuatorType != 5 && x.ActuatorType != 6))
{
foreach (var i in actuators)
{
Point? absolutePosition = null;
if (i.ActionLocation is RemoteTarget)
absolutePosition = ((RemoteTarget) i.ActionLocation).Position.Position.ToAbsolutePosition(builder.CurrentMap);
CurrentTile.SubItems.Add(new Actuator(builder.GetWallPosition(i.TilePosition, CurrentTile), $"{absolutePosition} {i.DumpString()}"));
}
}
else
{
}
}
}
}
}