public void UpdateMetric() { if (!string.IsNullOrEmpty(SpawnSpace)) { SpaceMetric = new Metric(part, SpawnSpace, true); spawn_space_sorted_size = new SortedVector3(SpaceMetric.size); } }
public Quaternion GetOptimalRotation(Vector3 size) { var v_size = new SortedVector3(size); var r1 = swaps[spawn_space_sorted_size.i0, v_size.i0]; var i2 = spawn_space_sorted_size.i0 == v_size.i1 ? 2 : 1; var r2 = swaps[spawn_space_sorted_size[i2], v_size[i2]]; return(GetSpawnRotation(part.partTransform.rotation * r2 * r1)); }