public void Flip(Player player, string direction = "me") { RegionSelector selector = RegionSelector.GetSelector(player); Clipboard clipboard = selector.Clipboard; if (clipboard == null) { return; } var rotate = clipboard.Transform; BlockCoordinates dir; try { dir = EditHelper.GetDirectionVector(player, direction).Abs(); } catch (Exception e) { player.SendMessage($"Invalid value for direction <{direction}>"); return; } rotate *= Matrix4x4.CreateScale(dir * -2 + BlockCoordinates.One); clipboard.Transform = rotate; }
public void Move(Player player, int count = 1, string direction = "me") { BlockCoordinates dir; try { dir = EditHelper.GetDirectionVector(player, direction); } catch (Exception e) { player.SendMessage($"Invalid value for direction <{direction}>"); return; } EditSession.Move(Selector, count, dir); }
public void Stack(Player player, int count = 1, string direction = "me", bool skipAir = false, bool moveSelection = false) { BlockCoordinates dir; try { dir = EditHelper.GetDirectionVector(player, direction); } catch (Exception e) { player.SendMessage($"Invalid value for direction <{direction}>"); return; } EditSession.Stack(Selector, count, dir, skipAir, moveSelection); }