built more assets and started playing with foliage painting
This commit is contained in:
@@ -0,0 +1,150 @@
|
||||
@tool
|
||||
|
||||
|
||||
#-------------------------------------------------------------------------------
|
||||
# Manages adding all plugin project settings
|
||||
#-------------------------------------------------------------------------------
|
||||
|
||||
|
||||
const Globals = preload("globals.gd")
|
||||
const FunLib = preload("fun_lib.gd")
|
||||
const Logger = preload("logger.gd")
|
||||
|
||||
|
||||
|
||||
|
||||
# Add all settings for this plugin
|
||||
static func add_plugin_project_settings():
|
||||
|
||||
|
||||
# Remove settings from the previous plugin version
|
||||
if ProjectSettings.has_setting("dreadpons_spatial_gardener/input_and_ui/brush_property_edit_button"):
|
||||
ProjectSettings.clear("dreadpons_spatial_gardener/input_and_ui/brush_property_edit_button")
|
||||
if ProjectSettings.has_setting("dreadpons_spatial_gardener/input_and_ui/brush_property_edit_modifier_key"):
|
||||
ProjectSettings.clear("dreadpons_spatial_gardener/input_and_ui/brush_property_edit_modifier_key")
|
||||
if ProjectSettings.has_setting("dreadpons_spatial_gardener/input_and_ui/brush_size_slider_max_value"):
|
||||
ProjectSettings.clear("dreadpons_spatial_gardener/input_and_ui/brush_size_slider_max_value")
|
||||
|
||||
# Painting
|
||||
add_project_setting(
|
||||
"dreadpons_spatial_gardener/painting/projection_raycast_margin",
|
||||
0.1,
|
||||
TYPE_FLOAT)
|
||||
add_project_setting(
|
||||
"dreadpons_spatial_gardener/painting/simplify_projection_frustum",
|
||||
true,
|
||||
TYPE_BOOL)
|
||||
|
||||
# Input and UI
|
||||
add_project_setting(
|
||||
"dreadpons_spatial_gardener/input_and_ui/greenhouse_ui_enable_undo_redo",
|
||||
true,
|
||||
TYPE_BOOL)
|
||||
add_project_setting(
|
||||
"dreadpons_spatial_gardener/input_and_ui/greenhouse_thumbnail_scale",
|
||||
1.0,
|
||||
TYPE_FLOAT)
|
||||
add_project_setting_globals_enum(
|
||||
"dreadpons_spatial_gardener/input_and_ui/brush_prop_edit_button",
|
||||
Globals.MouseButton.MOUSE_BUTTON_XBUTTON1, Globals.MouseButton)
|
||||
add_project_setting_globals_enum(
|
||||
"dreadpons_spatial_gardener/input_and_ui/brush_prop_edit_modifier",
|
||||
Globals.KeyboardKey.KEY_SHIFT, Globals.KeyboardKey)
|
||||
add_project_setting_globals_enum(
|
||||
"dreadpons_spatial_gardener/input_and_ui/brush_overlap_mode_button",
|
||||
Globals.KeyboardKey.KEY_QUOTELEFT, Globals.KeyboardKey)
|
||||
add_project_setting_globals_enum(
|
||||
"dreadpons_spatial_gardener/input_and_ui/focus_painter_key",
|
||||
Globals.KeyboardKey.KEY_Q, Globals.KeyboardKey)
|
||||
add_project_setting(
|
||||
"dreadpons_spatial_gardener/input_and_ui/brush_volume_size_slider_max_value",
|
||||
100.0,
|
||||
TYPE_FLOAT)
|
||||
add_project_setting(
|
||||
"dreadpons_spatial_gardener/input_and_ui/brush_projection_size_slider_max_value",
|
||||
1000.0,
|
||||
TYPE_FLOAT)
|
||||
add_project_setting(
|
||||
"dreadpons_spatial_gardener/input_and_ui/plant_max_distance_slider_max_value",
|
||||
1000.0,
|
||||
TYPE_FLOAT)
|
||||
add_project_setting(
|
||||
"dreadpons_spatial_gardener/input_and_ui/plant_kill_distance_slider_max_value",
|
||||
2000.0,
|
||||
TYPE_FLOAT)
|
||||
add_project_setting(
|
||||
"dreadpons_spatial_gardener/input_and_ui/plant_density_slider_max_value",
|
||||
2000.0,
|
||||
TYPE_FLOAT)
|
||||
add_project_setting(
|
||||
"dreadpons_spatial_gardener/input_and_ui/octree_min_node_size_slider_max_value",
|
||||
500.0,
|
||||
TYPE_FLOAT)
|
||||
|
||||
# Plugin
|
||||
add_project_setting(
|
||||
"dreadpons_spatial_gardener/plugin/scan_for_outdated_scenes",
|
||||
true,
|
||||
TYPE_BOOL)
|
||||
|
||||
# Debug
|
||||
add_project_setting_globals_enum(
|
||||
"dreadpons_spatial_gardener/debug/dump_editor_tree_key",
|
||||
Globals.KeyboardKey.KEY_NONE, Globals.KeyboardKey)
|
||||
add_project_setting_globals_enum(
|
||||
"dreadpons_spatial_gardener/debug/dump_all_octrees_key",
|
||||
Globals.KeyboardKey.KEY_NONE, Globals.KeyboardKey)
|
||||
add_project_setting(
|
||||
"dreadpons_spatial_gardener/debug/arborist_log_lifecycle",
|
||||
false,
|
||||
TYPE_BOOL)
|
||||
add_project_setting(
|
||||
"dreadpons_spatial_gardener/debug/octree_log_lifecycle",
|
||||
false,
|
||||
TYPE_BOOL)
|
||||
add_project_setting(
|
||||
"dreadpons_spatial_gardener/debug/brush_placement_area_log_grid",
|
||||
false,
|
||||
TYPE_BOOL)
|
||||
add_project_setting(
|
||||
"dreadpons_spatial_gardener/debug/input_field_resource_log_prop_actions",
|
||||
false,
|
||||
TYPE_BOOL)
|
||||
add_project_setting(
|
||||
"dreadpons_spatial_gardener/debug/debug_viewer_octree_member_size",
|
||||
2.0,
|
||||
TYPE_FLOAT)
|
||||
add_project_setting(
|
||||
"dreadpons_spatial_gardener/debug/stroke_handler_debug_draw",
|
||||
false,
|
||||
TYPE_BOOL)
|
||||
|
||||
# Saving settings
|
||||
var err: int = ProjectSettings.save()
|
||||
if err:
|
||||
var logger = Logger.get_for_string("ProjectSettingsManager")
|
||||
logger.error("Encountered error %s when saving project settings" % [Globals.get_err_message(err)])
|
||||
|
||||
|
||||
# Shorthand for adding enum setting and generating it's info
|
||||
static func add_project_setting_globals_enum(setting_name:String, default_value:int, enum_dict:Dictionary):
|
||||
add_project_setting(
|
||||
setting_name,
|
||||
Globals.enum_to_index(default_value, enum_dict),
|
||||
TYPE_INT, PROPERTY_HINT_ENUM,
|
||||
FunLib.make_hint_string(enum_dict.keys()))
|
||||
|
||||
|
||||
# Shorthand for adding a setting, setting it's info and initial value
|
||||
static func add_project_setting(setting_name:String, default_value, type:int, hint:int = PROPERTY_HINT_NONE, hintString:String = ""):
|
||||
var setting_info: Dictionary = {
|
||||
"name": setting_name,
|
||||
"type": type,
|
||||
"hint": hint,
|
||||
"hint_string": hintString
|
||||
}
|
||||
|
||||
if !ProjectSettings.has_setting(setting_name):
|
||||
ProjectSettings.set_setting(setting_name, default_value)
|
||||
ProjectSettings.add_property_info(setting_info)
|
||||
ProjectSettings.set_initial_value(setting_name, default_value)
|
||||
Reference in New Issue
Block a user