using System.Threading.Tasks;
using ColdMint.scripts.levelGraphEditor;
using ColdMint.scripts.map.dateBean;
namespace ColdMint.scripts.map.interfaces;
///
/// Room placement strategy
/// 房间放置策略
///
public interface IRoomPlacementStrategy
{
///
/// Place the room in the designated location
/// 在指定的位置放置房间
///
///
///Room placement information
///房间放置信息
///
///
///Placement success or not
///是否放置成功
///
public Task PlaceRoom(RoomPlacementData roomPlacementData);
///
/// Calculate new room placement information
/// 计算新的房间放置信息
///
///
///Parent room node
///父房间节点
///
///
///New room data to be placed
///欲放置的新房间数据
///
///
public Task CalculateNewRoomPlacementData(IRoom? parentRoomNode, RoomNodeData newRoomNodeData);
}