snapping fix

This commit is contained in:
2016-12-20 03:34:17 +07:00
parent cc08f1e2c7
commit a0ec6a93eb

View File

@@ -82,10 +82,10 @@ namespace IsoTools.Internal {
iso_objects.ToArray(), iso_objects.ToArray(),
iso_objects.Count > 1 ? "Move IsoObjects" : "Move IsoObject"); iso_objects.Count > 1 ? "Move IsoObjects" : "Move IsoObject");
} }
List<IsoObject> other_objects;
if ( all_other_objects.TryGetValue(iso_world, out other_objects) && other_objects.Count > 0 ) {
var snapping_z = false; var snapping_z = false;
if ( IsSnapByObjectsEnabled(iso_world) ) { if ( IsSnapByObjectsEnabled(iso_world) ) {
List<IsoObject> other_objects;
if ( all_other_objects.TryGetValue(iso_world, out other_objects) && other_objects.Count > 0 ) {
foreach ( var iso_object in iso_objects ) { foreach ( var iso_object in iso_objects ) {
var iso_orig_z = iso_object.positionZ; var iso_orig_z = iso_object.positionZ;
var result_p_z = iso_orig_z + delta; var result_p_z = iso_orig_z + delta;
@@ -108,6 +108,7 @@ namespace IsoTools.Internal {
} }
} }
} }
}
if ( IsSnapByCellsEnabled(iso_world) && !snapping_z ) { if ( IsSnapByCellsEnabled(iso_world) && !snapping_z ) {
foreach ( var iso_object in iso_objects ) { foreach ( var iso_object in iso_objects ) {
var iso_orig_z = iso_object.positionZ; var iso_orig_z = iso_object.positionZ;
@@ -120,7 +121,6 @@ namespace IsoTools.Internal {
} }
} }
} }
}
return iso_objects.Aggregate(0.0f, (AccIn, iso_object) => { return iso_objects.Aggregate(0.0f, (AccIn, iso_object) => {
var iso_orig_z = iso_object.positionZ; var iso_orig_z = iso_object.positionZ;
var result_p_z = iso_orig_z + delta; var result_p_z = iso_orig_z + delta;
@@ -148,11 +148,11 @@ namespace IsoTools.Internal {
iso_objects.ToArray(), iso_objects.ToArray(),
iso_objects.Count > 1 ? "Move IsoObjects" : "Move IsoObject"); iso_objects.Count > 1 ? "Move IsoObjects" : "Move IsoObject");
} }
List<IsoObject> other_objects;
if ( all_other_objects.TryGetValue(iso_world, out other_objects) && other_objects.Count > 0 ) {
var snapping_x = false; var snapping_x = false;
var snapping_y = false; var snapping_y = false;
if ( IsSnapByObjectsEnabled(iso_world) ) { if ( IsSnapByObjectsEnabled(iso_world) ) {
List<IsoObject> other_objects;
if ( all_other_objects.TryGetValue(iso_world, out other_objects) && other_objects.Count > 0 ) {
foreach ( var iso_object in iso_objects ) { foreach ( var iso_object in iso_objects ) {
var iso_orig_p = iso_object.position; var iso_orig_p = iso_object.position;
var result_pos_iso = iso_orig_p + iso_delta; var result_pos_iso = iso_orig_p + iso_delta;
@@ -186,6 +186,7 @@ namespace IsoTools.Internal {
} }
} }
} }
}
if ( IsSnapByCellsEnabled(iso_world) && !snapping_x && !snapping_y ) { if ( IsSnapByCellsEnabled(iso_world) && !snapping_x && !snapping_y ) {
foreach ( var iso_object in iso_objects ) { foreach ( var iso_object in iso_objects ) {
var iso_orig_p = iso_object.position; var iso_orig_p = iso_object.position;
@@ -209,7 +210,6 @@ namespace IsoTools.Internal {
} }
} }
} }
}
return iso_objects.Aggregate(Vector3.zero, (AccIn, iso_object) => { return iso_objects.Aggregate(Vector3.zero, (AccIn, iso_object) => {
var iso_orig_p = iso_object.position; var iso_orig_p = iso_object.position;
var result_pos_iso = iso_orig_p + iso_delta; var result_pos_iso = iso_orig_p + iso_delta;