コード例 #1
0
        // -------------------------------------------------------------------
        // CreateMap
        // -------------------------------------------------------------------

        public void CreateMap()
        {
            if (!Directory.Exists(Path.Combine(WANOK.MapsDirectoryPath, RealMapName)))
            {
                Directory.CreateDirectory(Path.Combine(WANOK.MapsDirectoryPath, RealMapName));
                Directory.CreateDirectory(Path.Combine(WANOK.MapsDirectoryPath, RealMapName, "temp"));
                Directory.CreateDirectory(Path.Combine(WANOK.MapsDirectoryPath, RealMapName, "tempCancelRedo"));
                WANOK.SaveBinaryDatas(Model, Path.Combine(WANOK.MapsDirectoryPath, RealMapName, "infos.map"));
                WANOK.SaveBinaryDatas(new Events(), Path.Combine(WANOK.MapsDirectoryPath, RealMapName, "events.map"));
            }
            else
            {
                WANOK.CreateCancel(Model.RealMapName, true);
                ResizingMap();
                WANOK.AddPortionsToAddCancel(Model.RealMapName, new int[] { 0 }, 2);
                WANOK.SaveBinaryDatas(Model, Path.Combine(WANOK.MapsDirectoryPath, RealMapName, "temp", "infos.map"));
                WANOK.LoadCancel(Model.RealMapName);
            }
        }
コード例 #2
0
        // -------------------------------------------------------------------
        // ResizingMap 120 120 75 20
        // -------------------------------------------------------------------

        public void ResizingMap()
        {
            int difWidth = PreviousWidth - Width, difHeight = PreviousHeight - Height;

            if (difWidth > 0 || difHeight > 0)
            {
                Events events = WANOK.LoadEvents(RealMapName);
                int    portionMaxX = (PreviousWidth - 1) / 16, portionMaxY = (PreviousHeight - 1) / 16;
                int    newPortionMaxX = (Width - 1) / 16, newPortionMaxY = (Height - 1) / 16;

                for (int i = newPortionMaxX + 1; i <= portionMaxX; i++)
                {
                    for (int j = 0; j <= portionMaxY; j++)
                    {
                        DeleteMapComplete(events, i, j);
                    }
                }
                for (int j = newPortionMaxY + 1; j <= portionMaxY; j++)
                {
                    for (int i = 0; i <= portionMaxX; i++)
                    {
                        DeleteMapComplete(events, i, j);
                    }
                }

                for (int i = 0; i <= newPortionMaxX; i++)
                {
                    DeleteMapItems(i, newPortionMaxY);
                    DeleteMapEvents(events, i, newPortionMaxY);
                }
                for (int j = 0; j <= newPortionMaxY; j++)
                {
                    DeleteMapItems(newPortionMaxX, j);
                    DeleteMapEvents(events, newPortionMaxX, j);
                }

                WANOK.SaveEventsMap(events, RealMapName);
                WANOK.LoadCancel(Model.RealMapName);
            }
        }