Ejemplo n.º 1
0
        public static bool Save(string fileName, MapEditor data)
        {
            _numSpawners = 0;
            BinaryWriter writer = new BinaryWriter(File.Open("levels\\" + fileName, FileMode.OpenOrCreate, FileAccess.Write));

            writer.Write(data.LevelWidth);
            writer.Write(data.LevelHeight);

            GEntity entity, tile;

            for (int i = 0; i < data.LevelWidth; i++)
            {
                for (int j = 0; j < data.LevelHeight; j++)
                {
                    entity = data._getEntity(i, j);
                    tile   = data._getTile(i, j);
                    writer.Write((byte)_toMapEntity(entity, tile));
                }
            }

            if (_numSpawners == 0)
            {
                writer.Flush();
                writer.Close();
                File.Delete("levels\\" + fileName);
                return(false);
            }
            else
            {
                writer.Flush();
                writer.Close();
                MapWarehouse.AddMap(fileName, data._mode);
                return(true);
            }
        }
Ejemplo n.º 2
0
        public void Copy(int selectedX, int selectedY)
        {
            ClipbardElement t;

            for (int i = selectedX; i < selectedX + Width; i++)
            {
                for (int j = selectedY; j < selectedY + Height; j++)
                {
                    t      = new ClipbardElement();
                    t.lx   = i - selectedX;
                    t.ly   = j - selectedY;
                    t.Type = _parent._getTile(i, j).Type;
                    if (t.Type == 0)
                    {
                        t.Type = TileType.GRAVEL;
                    }
                    t.IsTile = true;
                    Add(t);

                    t    = new ClipbardElement();
                    t.lx = i - selectedX;
                    t.ly = j - selectedY;
                    if (_parent._getEntity(i, j) != null)
                    {
                        t.Type = _parent._getEntity(i, j).Type;
                    }
                    else
                    {
                        t.Type   = -1;
                        t.IsTile = false;
                    }
                    Add(t);
                }
            }
        }
Ejemplo n.º 3
0
 private void _clear(GBitmap Screen)
 {
     for (int i = X - 1; i < X + Width + 1; i++)
     {
         for (int j = Y - 1; j < Y + Height + 1; j++)
         {
             var t = _parent._getTopElement(i, j);
             if (t != null)
             {
                 if (typeof(Flag) == t.GetType() || typeof(Spawner) == t.GetType())
                 {
                     _parent._drawEntityOnScreen(_parent._getTile(i, j));
                 }
                 _parent._drawEntityOnScreen(t);
             }
         }
     }
 }