@tool extends Node3D class_name LevelInstance @export var size: Vector3i = Vector3i.ONE: set(value): if (value.x<1) or (value.y<1) or (value.z<1): value = Vector3i.ONE size = value _on_size_change() @export var is_force_battle: bool var level_area_cfg: LevelAreaCfg #运行时设置 func _on_size_change() -> void: var level_range: CSGBox3D = $LevelRange as CSGBox3D var size_basic: Vector3 = Setting.size_basic level_range.size = Vector3(size.x*size_basic.x, size.y*size_basic.y, size.z*size_basic.z) level_range.position = level_range.size / 2 func level_size() -> Vector2: var level_range: CSGBox3D = $LevelRange as CSGBox3D var level_size: Vector3 = level_range.size return Vector2(level_size.x, level_size.z) func level_pos() -> Vector2: var pos: Vector3 = get_global_position() return Vector2(pos.x, pos.z)