using System.Collections.Generic; using UnityEngine; using UnityEngine.UI; namespace Fruitomation.Game { public class BuildingManager : MonoBehaviour { private class BuildingInfo { public BuildingInfo(BuildingBase b, RectTransform rt) { Building = b; Rect = rt; } public BuildingBase Building { get; } public RectTransform Rect { get; } } private bool[,] InhabitedCells { get; } = new bool[96, 49]; private List Buildings { get; } = new(); public bool AddBuildingAt(Vector2Int position, GameObject prefab, bool updateCellMap = false) { GameObject go = Instantiate(prefab, transform); BuildingInfo info = new ( go.GetComponent(), go.GetComponent() ); Vector2Int p0 = position * 40; Vector2Int p1 = p0 + new Vector2Int(20, 100); Vector2 off0 = info.Building.SizeOnGrid - Vector2.one; Vector2 off1 = off0 * 20; info.Rect.sizeDelta = info.Building.SizeOnGrid * 40; info.Rect.anchoredPosition = p1 + off1; Buildings.Add(info); return true; } } }