using System.Collections.Generic;
using EscapeRoomEngine.Engine.Runtime.Modules;
using UnityEngine;
namespace EscapeRoomEngine.Engine.Runtime.Requirements.Placement
{
///
/// This requirement places a module in the same position as its first related module.
/// Accepts an optional offset to the module.
///
[CreateAssetMenu(menuName = "Requirements/Place With First Related Module")]
public class PlaceWithFirstRelatedModule : PlacementRequirement
{
public Vector3Int offset;
protected override List FilterCandidates(List candidates, Module module, Space space)
{
var placement = module.relatedModules[0].srPlacement;
placement.position += offset;
return new List { placement };
}
}
}