Сначала создайте новый полигон
const polygon = new Polygon()
// ... Можете добавлять блоки
polygon.blocks.add(...)
// ... Экспортировать, импортировать
polygon.import(...polygon.export())
// ... И так далее
polygon.area.setOpenWalls("left", "top")
"Открывает" одну или несколько стен. Подаётся агрумент ...sides
. Используемые значения: "left" | "right" | "top" | "bottom"
. Подавать значения можно в любом порядке.
PolygonArea.setOpenWalls("left", "top")
Возвращяет размер рабочей области Vector2
в пикселях. Может использоваться для изменения размера.
PolygonArea.size = new Vector2(1000, 500) // width: 1000px, height: 500px
Возвращяет текущие соотношение пикселей и сантиметров (px:cm). Может использоваться для изменения соотношения. Соотношение поумолчанию 1 пиксель к одному сантиметру (1:1).
PolygonArea.ratio = 1 / 2 // px:cm
Очищяет рабочую область.
PolygonArea.clear()
Добавляет block
. Имеет side-effects. Можно отслеживать добавление с помощью PolygonBlocks.on("add", block => {})
PolygonBlocks.add(#PolygonBlock) // Интрефейсы можно найти ниже
Удаляет block
. Имеет side-effects. Можно отслеживать добавление с помощью PolygonBlocks.on("remove", block => {})
PolygonBlocks.remove(#PolygonBlock) // Интрефейсы можно найти ниже
Удаляет block
по id
. Имеет side-effects. Можно отслеживать добавление с помощью PolygonBlocks.on("remove", block => {})
. Удаляет также из PolygonPicker
и если значение maxAmount
= 0, то удаляет все блоки из PolygonArea
.
PolygonBlocks.removeById(7)
Экспортирует используемые в PolygonArea
блоки. Возвращяет PolygonBlockOutput
.
Polygon.export()
Импортирует в PolygonArea
блоки. Принимает ...blocks
в формате PolygonBlockOutput
.
Если на PolygonArea
всё ещё есть блоки или блока нету в PolygonPicker
, выбрасывает ошибку.
Polygon.import(...PolygonBlockOutput[]) // Интрефейсы можно найти ниже
interface PolygonBlock {
id: number
name: string
image: string
amount: number
width: number // cm
height: number // cm
angle: number // deg
}
interface PolygonBlockOutput {
id: number
x: number // cm
y: number // cm
angle: number // deg
}