Esempio n. 1
0
        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;
        }
Esempio n. 2
0
        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);
        }
Esempio n. 3
0
        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);
        }