// ------------------------------------------------------------------- // 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); } }
// ------------------------------------------------------------------- // 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); } }