Example #1
0
        protected override void Execute(WorldRange selection)
        {
            AffineTransform transform = new AffineTransform();
            float           radians   = Mathf.DegToRad(this.angleDegrees);

            transform = transform.RotateY(radians);

            List <WorldEditBlock> blocks = new List <WorldEditBlock>();

            blocks.AddRange(this.UserSession.Clipboard.GetBlocks());
            blocks.AddRange(this.UserSession.Clipboard.GetPlants());
            blocks.AddRange(this.UserSession.Clipboard.GetWorldObjects());

            for (int i = 0; i < blocks.Count; i++)
            {
                WorldEditBlock block = blocks[i];
                block.RotateBlock(transform, this.angleDegrees, radians);
                blocks[i] = block;
            }

            this.UserSession.Clipboard.Clear();
            this.UserSession.Clipboard.Parse(blocks);
        }
        public void Rotate(float degrees)
        {
            AffineTransform transform = new AffineTransform();
            float           radians   = Mathf.DegToRad(degrees);

            transform = transform.RotateY(radians);

            List <WorldEditBlock> blocks = new List <WorldEditBlock>();

            blocks.AddRange(this.GetBlocks());
            blocks.AddRange(this.GetPlants());
            blocks.AddRange(this.GetWorldObjects());

            for (int i = 0; i < blocks.Count; i++)
            {
                WorldEditBlock block = blocks[i];
                block.RotateBlock(transform, degrees, radians);
                blocks[i] = block;
            }

            this.Clear();
            this.Parse(blocks);
        }
 public AffineTransform RotateZDeg(float pAngleDeg)
 {
     return(RotateZ(Mathf.DegToRad(pAngleDeg)));
 }