package ru.dbotthepony.kstarbound.defs

import ru.dbotthepony.kstarbound.json.builder.JsonFactory
import ru.dbotthepony.kstarbound.json.builder.JsonFlat
import ru.dbotthepony.kstarbound.math.vector.Vector2d
import ru.dbotthepony.kstarbound.world.physics.CollisionType
import ru.dbotthepony.kstarbound.world.physics.Poly

@JsonFactory
data class PhysicsMovingCollision(
	val position: Vector2d = Vector2d.ZERO,
	val collision: Poly,
	val collisionKind: CollisionType = CollisionType.BLOCK,
	@JsonFlat
	val categoryFilter: PhysicsCategoryFilter,

	// ephemeral property from json
	val enabled: Boolean = true,
)
