Ejemplo n.º 1
0
        public override bool Do()
        {
            if (Layer.IsTileEmpty(TilePosition))
            {
                //architect.AddTile(Layer, TileWorldPosition, TilePosition, DoTileType, DoRotationFlip);
                Layer.AddTile(TilePosition, DoTileType, DoRotationFlip);
                return true;
            }
            else if (Layer[TilePosition].TileType != DoTileType)
            //else if (Layer[TilePosition].TileType != architect.SelectedTileType)
            {
                OldTileType = Layer[TilePosition].TileType;
                OldRotationFlip = ArchitectRotationFlip.FromTransform(Layer[TilePosition].Transform);
                Layer.EmptyTile(TilePosition);
                //architect.AddSelectedTileType(Layer, TileWorldPosition, TilePosition);
                Layer.AddTile(TilePosition, DoTileType, DoRotationFlip);
                OldRotationFlip.ApplyTo(Layer[TilePosition].Transform);
                return true;
            }
            else if (!DoRotationFlip.Equals(Layer[TilePosition].Transform))
            //else if (!architect.RotationFlip.Equals(Layer[TilePosition].Transform))
            {
                //PDebug.Log(Layer[TilePosition].Transform.localScale, Layer[TilePosition].Transform.localRotation.eulerAngles.z, architect.RotationFlip);
                OldTileType = Layer[TilePosition].TileType;

                OldRotationFlip = ArchitectRotationFlip.FromTransform(Layer[TilePosition].Transform);
                DoRotationFlip.ApplyTo(Layer[TilePosition].Transform);
                //architect.RotationFlip.ApplyTo(Layer[TilePosition].Transform);
                return true;
            }
            else
                return false;
        }
Ejemplo n.º 2
0
        public override bool Do()
        {
            if (Layer.IsTileEmpty(TilePosition))
            {
                //architect.AddTile(Layer, TileWorldPosition, TilePosition, DoTileType, DoRotationFlip);
                Layer.AddTile(TilePosition, DoTileType, DoRotationFlip);
                return(true);
            }
            else if (Layer[TilePosition].TileType != DoTileType)
            //else if (Layer[TilePosition].TileType != architect.SelectedTileType)
            {
                OldTileType     = Layer[TilePosition].TileType;
                OldRotationFlip = ArchitectRotationFlip.FromTransform(Layer[TilePosition].Transform);
                Layer.EmptyTile(TilePosition);
                //architect.AddSelectedTileType(Layer, TileWorldPosition, TilePosition);
                Layer.AddTile(TilePosition, DoTileType, DoRotationFlip);
                OldRotationFlip.ApplyTo(Layer[TilePosition].Transform);
                return(true);
            }
            else if (!DoRotationFlip.Equals(Layer[TilePosition].Transform))
            //else if (!architect.RotationFlip.Equals(Layer[TilePosition].Transform))
            {
                //PDebug.Log(Layer[TilePosition].Transform.localScale, Layer[TilePosition].Transform.localRotation.eulerAngles.z, architect.RotationFlip);
                OldTileType = Layer[TilePosition].TileType;

                OldRotationFlip = ArchitectRotationFlip.FromTransform(Layer[TilePosition].Transform);
                DoRotationFlip.ApplyTo(Layer[TilePosition].Transform);
                //architect.RotationFlip.ApplyTo(Layer[TilePosition].Transform);
                return(true);
            }
            else
            {
                return(false);
            }
        }
Ejemplo n.º 3
0
 public override void Undo()
 {
     Layer.EmptyTile(TilePosition);
     if (!OldTileType.IsNullOrIdZero())
     {
         Layer.AddTile(TilePosition, OldTileType, DoRotationFlip);
         //architect.AddTile(Layer, TileWorldPosition, TilePosition, OldTileType);
         OldRotationFlip.ApplyTo(Layer[TilePosition].Transform);
     }
 }
Ejemplo n.º 4
0
 public void AddTile(Point2 tilePoint, TileType tileType, ArchitectRotationFlip rotationFlip)
 {
     if (this[tilePoint.X, tilePoint.Y] == null) return;
     AddTile(tilePoint, tileType);
     rotationFlip.ApplyTo(this[tilePoint.X, tilePoint.Y].Transform);
 }