Improve art tools and UI docking

This commit is contained in:
Alexander Sellite 2026-08-02 09:20:44 -04:00
parent 10e0442437
commit 984f7c641c
13 changed files with 626 additions and 82 deletions

View file

@ -29,6 +29,8 @@ const UI_COMPACT_RENDER_HEIGHTS: Array[int] = [0, 408, 336, 264, 192]
@export var invert_camera_y: bool = false
@export var chat_draft: String = ""
@export var chat_collapsed: bool = false
@export var chat_dock_right: bool = false
@export var paint_dock_right: bool = true
@export_range(1, 5, 1) var world_pixel_size: int = DEFAULT_WORLD_PIXEL_SIZE
@export_range(1, 5, 1) var ui_pixel_size: int = DEFAULT_UI_PIXEL_SIZE
@ -62,6 +64,8 @@ func copy() -> PlayerSettings:
result.invert_camera_y = invert_camera_y
result.chat_draft = chat_draft
result.chat_collapsed = chat_collapsed
result.chat_dock_right = chat_dock_right
result.paint_dock_right = paint_dock_right
result.world_pixel_size = world_pixel_size
result.ui_pixel_size = ui_pixel_size
return result

View file

@ -57,6 +57,14 @@ func load_settings() -> bool:
presentation.has("chat_collapsed")
and typeof(presentation["chat_collapsed"]) != TYPE_BOOL
)
or (
presentation.has("chat_dock_right")
and typeof(presentation["chat_dock_right"]) != TYPE_BOOL
)
or (
presentation.has("paint_dock_right")
and typeof(presentation["paint_dock_right"]) != TYPE_BOOL
)
):
return _use_defaults_after_corruption("Player settings values are invalid.")
var loaded := PlayerSettings.new()
@ -98,6 +106,8 @@ func load_settings() -> bool:
PlayerSettings.MAX_CHAT_DRAFT_CHARACTERS
)
loaded.chat_collapsed = bool(presentation.get("chat_collapsed", false))
loaded.chat_dock_right = bool(presentation.get("chat_dock_right", false))
loaded.paint_dock_right = bool(presentation.get("paint_dock_right", true))
if not loaded.is_valid():
return _use_defaults_after_corruption("Player settings values are invalid.")
current_settings = loaded
@ -170,6 +180,8 @@ func save_now() -> bool:
"ui_pixel_size": current_settings.ui_pixel_size,
"chat_draft": current_settings.chat_draft,
"chat_collapsed": current_settings.chat_collapsed,
"chat_dock_right": current_settings.chat_dock_right,
"paint_dock_right": current_settings.paint_dock_right,
},
}
if current_settings.chat_draft.is_empty():