Files
modular-vr/Assets/Escape Room Engine/Engine/Scripts/Dimensions.cs
2022-11-07 14:21:00 +01:00

63 lines
1.4 KiB
C#

using System.Collections.Generic;
using UnityEngine;
namespace Escape_Room_Engine.Engine.Scripts
{
public struct Dimensions
{
internal Dimensions(int width, int length, int x, int z)
{
this.width = width;
this.length = length;
this.x = x;
this.z = z;
}
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<Vector2Int> EveryPosition
{
get
{
var positions = new HashSet<Vector2Int>();
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})";
}
}