public bool Create(string fileData, Bitmap sprite, string name) { sName = name; // namnet på tilesheet pSprite = sprite; // Sätt sprite att vara tilesheet SettingsObj settingsObj = new SettingsObj(); using (StreamReader r = new StreamReader(fileData)) // Läs settingsfilen { string json = r.ReadToEnd(); settingsObj = JsonConvert.DeserializeObject <SettingsObj>(json); } nHeight = settingsObj.LvlHeight; // det som ska rita ut griddens antal rader nWidth = settingsObj.LvlWidth; // det som ska rita ut griddens bredd på rader NumberOfTilesWidth = settingsObj.NumberOfTilesWidth; NumberOfTilesHeight = settingsObj.NumberOfTilesHeight; NumberOfTiles = settingsObj.NumberOfTilesWidth * settingsObj.NumberOfTilesHeight; // Antalet tiles som ska visas i tilestabben m_solids = new int[settingsObj.LvlWidth * settingsObj.LvlHeight]; // det som ska innehålla indexerat om tile är solid m_indices = new int[settingsObj.LvlWidth * settingsObj.LvlHeight]; // det som indexerat ska innehålla vilken tile (index på spritesheet) som ska visas i cell int currIdx = 0; for (int i = 0; i < settingsObj.NumberOfTilesHeight; i++) { for (int j = 0; j < settingsObj.NumberOfTilesWidth; j++) { // Jävligt osäker på den här var y = i * settingsObj.TileWidthPX; var x = j * settingsObj.TileHeightPX; Rectangle cloneRect = new Rectangle(x, y, settingsObj.TileWidthPX, settingsObj.TileHeightPX); System.Drawing.Imaging.PixelFormat format = pSprite.PixelFormat; Image cloneBitmap = (Image)pSprite.Clone(cloneRect, format); //TODO: path string fileLocation = System.IO.Path.Combine(Environment.CurrentDirectory, @"Content\Load\Tiles"); bool exists = System.IO.Directory.Exists(fileLocation); if (!exists) { try { } catch (Exception e) { throw; } } var imgFilePath = fileLocation + @"\img" + currIdx + ".jpg"; cloneBitmap.Save(imgFilePath, ImageFormat.Jpeg); currIdx++; } } return(true); }
public void ReadSettings() { SettingsObj movie1 = JsonConvert.DeserializeObject <SettingsObj>(File.ReadAllText(@"C:\FurryNachoLevelEditor\Content\Settings\settings.json")); }