Repository: godotengine/godot
File: editor/plugins/node_3d_editor_plugin.h (C/C++)

Code before:
	Ref<Environment> environment;
	Ref<CameraAttributesPractical> camera_attributes;
	Ref<ProceduralSkyMaterial> sky_material;

	bool sun_environ_updating = false;

	void _sun_direction_draw();
	void _sun_direction_input(const Ref<InputEvent> &p_event);
	void _sun_direction_set_altitude(float p_altitude);
	void _sun_direction_set_azimuth(float p_azimuth);
	void _sun_set_color(Color p_color);
	void _sun_set_energy(float p_energy);
	void _sun_set_shadow_max_distance(float p_shadow_max_distance);

	void _environ_set_sky_color(Color p_color);
	void _environ_set_ground_color(Color p_color);
	void _environ_set_sky_energy(float p_energy);
	void _environ_set_ao();
	void _environ_set_glow();
	void _environ_set_tonemap();
	void _environ_set_gi();

	void _load_default_preview_settings();
	void _update_preview_environment();

	void _preview_settings_changed();
	void _sun_environ_settings_pressed();

	void _add_sun_to_scene(bool p_already_added_environment = false);
	void _add_environment_to_scene(bool p_already_added_sun = false);

	void _update_theme();

protected:
	void _notification(int p_what);
	//void _gui_input(InputEvent p_event);
	virtual void shortcut_input(const Ref<InputEvent> &p_event) override;

	static void _bind_methods();

public:
	static Node3DEditor *get_singleton() { return singleton; }

	static Size2i get_camera_viewport_size(Camera3D *p_camera);

	Vector3 snap_point(Vector3 p_target, Vector3 p_start = Vector3(0, 0, 0)) const;

	float get_znear() const { return settings_znear->get_value(); }
	float get_zfar() const { return settings_zfar->get_value(); }
	float get_fov() const { return settings_fov->get_value(); }


Review comment (suggestion):
```suggestion
	void _sun_set_color(const Color &p_color);
```

Code after:
	ColorPickerButton *environ_sky_color = nullptr;
	ColorPickerButton *environ_ground_color = nullptr;
	EditorSpinSlider *environ_energy = nullptr;
	Button *environ_ao_button = nullptr;
	Button *environ_glow_button = nullptr;
	Button *environ_tonemap_button = nullptr;
	Button *environ_gi_button = nullptr;
	Button *environ_add_to_scene = nullptr;

	Button *sun_environ_settings = nullptr;

	DirectionalLight3D *preview_sun = nullptr;
	bool preview_sun_dangling = false;
	WorldEnvironment *preview_environment = nullptr;
	bool preview_env_dangling = false;
	Ref<Environment> environment;
	Ref<CameraAttributesPractical> camera_attributes;
	Ref<ProceduralSkyMaterial> sky_material;

	bool sun_environ_updating = false;

	void _sun_direction_draw();
	void _sun_direction_input(const Ref<InputEvent> &p_event);
	void _sun_direction_set_altitude(float p_altitude);
	void _sun_direction_set_azimuth(float p_azimuth);
	void _sun_set_color(const Color &p_color);
	void _sun_set_energy(float p_energy);
	void _sun_set_shadow_max_distance(float p_shadow_max_distance);

	void _environ_set_sky_color(const Color &p_color);
	void _environ_set_ground_color(const Color &p_color);
	void _environ_set_sky_energy(float p_energy);
	void _environ_set_ao();
	void _environ_set_glow();
	void _environ_set_tonemap();
	void _environ_set_gi();

	void _load_default_preview_settings();
	void _update_preview_environment();

	void _preview_settings_changed();
	void _sun_environ_settings_pressed();

	void _add_sun_to_scene(bool p_already_added_environment = false);
	void _add_environment_to_scene(bool p_already_added_sun = false);

	void _update_theme();

protected:
	void _notification(int p_what);
	//void _gui_input(InputEvent p_event);