39 lines
656 B
GDScript
39 lines
656 B
GDScript
@tool
|
|
class_name RoomWallDefinition
|
|
extends Resource
|
|
|
|
|
|
const FEET_TO_METERS: float = 0.3048
|
|
const METERS_TO_FEET: float = 1.0 / FEET_TO_METERS
|
|
|
|
|
|
@export var wall_id: StringName = &""
|
|
@export var start: Vector2 = Vector2.ZERO
|
|
@export var end: Vector2 = Vector2(
|
|
1.0,
|
|
0.0
|
|
)
|
|
|
|
#
|
|
# Stored internally in meters so existing room/layout
|
|
# rendering code keeps working without modification.
|
|
#
|
|
@export_storage
|
|
var thickness: float = 0.10
|
|
|
|
|
|
@export_group("Physical Dimensions")
|
|
|
|
@export_range(0.01, 4.0, 0.01, "suffix: ft")
|
|
var thickness_ft: float:
|
|
get:
|
|
return (
|
|
thickness
|
|
* METERS_TO_FEET
|
|
)
|
|
set(value):
|
|
thickness = (
|
|
value
|
|
* FEET_TO_METERS
|
|
)
|