mirror of
https://github.com/Relintai/broken_seals.git
synced 2025-02-01 14:37:01 +01:00
Now the mesh data resource plugin's gizmo will watch for changes in the edited mesh data resource when it's not messing with it.
This commit is contained in:
parent
71662367ae
commit
881528f77b
@ -135,10 +135,14 @@ func apply() -> void:
|
||||
if !_mdr:
|
||||
return
|
||||
|
||||
_mdr.disconnect("changed", self, "on_mdr_changed")
|
||||
|
||||
var arrs : Array = _mdr.array
|
||||
arrs[ArrayMesh.ARRAY_VERTEX] = _vertices
|
||||
_mdr.array = arrs
|
||||
|
||||
_mdr.connect("changed", self, "on_mdr_changed")
|
||||
|
||||
func forward_spatial_gui_input(index, camera, event):
|
||||
if event is InputEventMouseButton:
|
||||
var gt : Transform = get_spatial_node().global_transform
|
||||
@ -311,8 +315,23 @@ func recalculate_handle_points() -> void:
|
||||
_handle_to_vertex_map = MeshDecompose.get_handle_vertex_to_vertex_map(arr, _handle_points)
|
||||
|
||||
func on_mesh_data_resource_changed(mdr : MeshDataResource) -> void:
|
||||
if _mdr:
|
||||
_mdr.disconnect("changed", self, "on_mdr_changed")
|
||||
|
||||
_mdr = mdr
|
||||
|
||||
if _mdr && _mdr.array.size() == ArrayMesh.ARRAY_MAX && _mdr.array[ArrayMesh.ARRAY_VERTEX] != null:
|
||||
_vertices = _mdr.array[ArrayMesh.ARRAY_VERTEX]
|
||||
else:
|
||||
_vertices.resize(0)
|
||||
|
||||
if _mdr:
|
||||
_mdr.connect("changed", self, "on_mdr_changed")
|
||||
|
||||
recalculate_handle_points()
|
||||
redraw()
|
||||
|
||||
func on_mdr_changed() -> void:
|
||||
if _mdr && _mdr.array.size() == ArrayMesh.ARRAY_MAX && _mdr.array[ArrayMesh.ARRAY_VERTEX] != null:
|
||||
_vertices = _mdr.array[ArrayMesh.ARRAY_VERTEX]
|
||||
else:
|
||||
|
Loading…
Reference in New Issue
Block a user