Esempio n. 1
0
        //==========================================================================
        //Save the map
        //==========================================================================
        private void SaveMap_Click(object sender, EventArgs e)
        {
            string name = nameOfMap + timesCreated + ".mxt";

            if (MapNamed)
            {
                name = nameOfMap + ".mxt";
            }
            if (!SAVING_DEBUG)
            {
                Classes.MapClass MapHandlerFiller = new Classes.MapClass()
                {
                    Loger = Loger,
                };
                MapHandlerFiller.setMapName(name);
                MapHandlerFiller.setTileSize(TileSize);
                MapHandlerFiller.setRowCount(RowCount);
                MapHandlerFiller.setColCount(ColCount);
                MapHandlerFiller.setMapImage(new Bitmap(BMP));
                MapHandlerFiller.setMaxTiles(MaxTiles);
                MapHandlerFiller.setCollisionMap(new List <bool>(CollisionMap));
                MapHandlerFiller.setOffSet(OffSet);

                fileManager.SaveMap(name, MapHandlerFiller);
                MapHandler.Add(MapHandlerFiller);
            }
            add_child_node_map(name);


            timesCreated++;
        }
Esempio n. 2
0
        //==========================================================================
        //Load the map
        //==========================================================================
        public void LoadMap(Classes.MapClass argument)
        {
            nameOfMap     = argument.getMapName().Substring(0, argument.getMapName().Length - 4);
            TileSize      = argument.getTileSize();
            OffSet        = argument.getOffSet();
            RowCount      = argument.getRowCount();
            ColCount      = argument.getColCount();
            BMP           = argument.getMapImage();
            MaxTiles      = argument.getMaxTiles();
            CollisionMap  = argument.getCollisionMap();
            MapRectangles = argument.getRectangles();
            Combination   = new Bitmap((ColCount * TileSize) + 1, (RowCount * TileSize) + 1);
            Label l = new Label
            {
                Text     = "",
                Location = new Point((ColCount * TileSize) + 1, (RowCount * TileSize) + 1) //784,448 is a point outside of the viewable area
            };

            Map.Controls.Add(l);
            MapCreated = true;
            MapNamed   = true;

            int      i = 0;
            Graphics g = Graphics.FromImage(Combination);

            g.SmoothingMode = SmoothingMode.AntiAlias;
            foreach (bool x in CollisionMap)
            {
                if (x)
                {
                    g.FillRectangle(new SolidBrush(Color.FromArgb(75, Color.Red)), MapRectangles[i]);
                }
                i++;
            }

            Grid = new Bitmap((ColCount * TileSize) + 1, (RowCount * TileSize) + 1);

            Graphics gg  = Graphics.FromImage(Grid);
            Pen      pen = new Pen(Color.Black);

            gg.SmoothingMode = SmoothingMode.AntiAlias;
            gg.FillRectangle(new SolidBrush(Color.Transparent), 0, 0, Grid.Size.Width, Grid.Size.Height);
            for (int z = 0; z < RowCount; z++)
            {
                for (int j = 0; j < ColCount; j++)
                {
                    gg.DrawRectangle(pen, 0 + j * TileSize, 0 + z * TileSize, TileSize, TileSize);
                }
            }

            Map.Invalidate();
        }
Esempio n. 3
0
        //==========================================================================
        //Load a map to the viewer
        //==========================================================================
        public void Load_Map(Classes.MapClass TheMap)
        {
            Map.Focus();
            MapImage = TheMap.getMapImage();
            MaxTiles = TheMap.getMaxTiles();
            TileSize = TheMap.getTileSize();

            Map_Copy = (Bitmap)MapImage;

            MapProvided = true;

            Map.Focus();

            Map.Invalidate();
        }
Esempio n. 4
0
        //==========================================================================
        //Gets project files
        //==========================================================================
        public bool GetProjectFiles(ref List <Classes.MapClass> MapHandler, ref List <CodeFileClass> CodeHandler, CodeCompiler Compiler, ref List <SpriteSheet> SpriteHandler)
        {
            try
            {
                //CODE FILES
                int      i          = 0;
                string[] fileArray2 = Directory.GetFiles(ACFFilePath, "*.acf");
                foreach (string x in fileArray2)
                {
                    Loger.write(x, 0);

                    if (x == (ACFFilePath + "code_variables.acf"))
                    {
                        CodeHandler.Add(new CodeFileClass(ReadACFV("code_variables.acf"), "variables", "code_variables.acf"));
                        DataHandlerForProgram.variableFileID = i;
                        Loger.write("Loading of code variables complete!", 0);
                    }
                    else
                    {
                        if (ReadNCompileACF(Compiler, x))
                        {
                            Loger.write("Loading of code file complete!", 0);
                        }
                        else
                        {
                            Loger.write("Loading of code file failed!", 0);
                        }
                    }

                    i++;
                }

                //MAPS
                MapHandler.Clear();

                string[] fileArray = Directory.GetFiles(MapsFilePath, "*.mxt");

                foreach (string x in fileArray)
                {
                    Loger.write(x, 0);

                    Classes.MapClass MapHandlerFiller = new Classes.MapClass()
                    {
                        Loger = Loger,
                    };
                    LoadMap(x, ref MapHandlerFiller);
                    MapHandler.Add(MapHandlerFiller);
                }

                //Sprites
                SpriteHandler.Clear();

                string[] fileArray3 = Directory.GetFiles(SpriteFilePath, "*.csf");

                foreach (string x in fileArray3)
                {
                    Loger.write(x, 0);
                    Classes.SpriteSheet SpriteSheetFiller = new Classes.SpriteSheet();
                    LoadSpriteSheet(x, ref SpriteSheetFiller);
                    SpriteHandler.Add(SpriteSheetFiller);
                }

                return(true);
            }
            catch (DirectoryNotFoundException)
            {
                if (!Directory.Exists(SpriteFilePath))
                {
                    Directory.CreateDirectory(SpriteFilePath);
                }
                if (!Directory.Exists(MapsFilePath))
                {
                    Directory.CreateDirectory(MapsFilePath);
                }
                if (!Directory.Exists(ACFFilePath))
                {
                    Directory.CreateDirectory(ACFFilePath);
                }
                return(false);
            }
            catch (Exception e)
            {
                Loger.write(e.ToString(), 2);
                return(false);
            }
        }