using System.Collections.Generic; using System.Threading.Tasks; using ColdMint.scripts.map.dateBean; using ColdMint.scripts.map.interfaces; using Godot; namespace ColdMint.scripts.map.RoomPlacer; public abstract class RoomPlacerTemplate : IRoomPlacer { private List _placedRooms; protected void Init() { _placedRooms = new List(); } public abstract Task PlaceRoom(Vector2 position, IRoom room); public abstract Task CalculatedPosition(IRoom mainRoom, IRoom newRoom, RoomSlot mainRoomSlot, RoomSlot newRoomSlot, RoomPlacerConfig roomPlacerConfig); public int PlacedRoomNumber { get { if (_placedRooms == null) { return 0; } return _placedRooms.Count; } } }