Exemplo n.º 1
0
 public void MoveObjectRelative(PositionBasedObjectInstance instance, Vector3 pos, Vector3 precision = new Vector3(), bool canGoOutsideRoom = false)
 {
     if (panel3D.Camera.RotationY < Math.PI * (1.0 / 4.0))
     {
         EditorActions.MoveObjectRelative(instance, pos, precision, canGoOutsideRoom);
     }
     else if (panel3D.Camera.RotationY < Math.PI * (3.0 / 4.0))
     {
         EditorActions.MoveObjectRelative(instance, new Vector3(pos.Z, pos.Y, -pos.X), new Vector3(precision.Z, precision.Y, -precision.X), canGoOutsideRoom);
     }
     else if (panel3D.Camera.RotationY < Math.PI * (5.0 / 4.0))
     {
         EditorActions.MoveObjectRelative(instance, new Vector3(-pos.X, pos.Y, -pos.Z), new Vector3(-precision.X, precision.Y, -precision.Z), canGoOutsideRoom);
     }
     else if (panel3D.Camera.RotationY < Math.PI * (7.0 / 4.0))
     {
         EditorActions.MoveObjectRelative(instance, new Vector3(-pos.Z, pos.Y, pos.X), new Vector3(-precision.Z, precision.Y, precision.X), canGoOutsideRoom);
     }
     else
     {
         EditorActions.MoveObjectRelative(instance, pos, precision, canGoOutsideRoom);
     }
 }