using System.Collections.Generic; using UnityEngine; namespace EscapeRoomEngine.Engine.Runtime { public struct Dimensions { public int width; public int length; public int x; public int z; public Vector2Int Position { get => new(x, z); set { x = value.x; z = value.y; } } public Vector2Int Size { get => new(width, length); set { width = value.x; length = value.y; } } public int Area => width * length; public HashSet EveryPosition { get { var positions = new HashSet(); for (var zIter = 0; zIter < length; zIter++) { for (var xIter = 0; xIter < width; xIter++) { positions.Add(new Vector2Int(xIter, zIter)); } } return positions; } } public override string ToString() => $"({width}, {length}) at ({x}, {z})"; } }