public void SelectPlmTypeByID(int PlmID) { int index = PlmTypes.FindIndex(x => x.PlmID == PlmID); if (index == -1) { index = 0; PlmTypes [0].PlmID = PlmID; } SelectPlmType(index); }
public void Close() { if (!ProjectLoaded) { return; } Rooms.Clear(); DoorSets.Clear(); Doors.Clear(); ScrollSets.Clear(); PlmSets.Clear(); ScrollPlmDatas.Clear(); Backgrounds.Clear(); Fxs.Clear(); SaveStations.Clear(); LevelDatas.Clear(); EnemySets.Clear(); EnemyGfxs.Clear(); ScrollAsms.Clear(); DoorAsms.Clear(); SetupAsms.Clear(); MainAsms.Clear(); TileSets.Clear(); TileTables.Clear(); TileSheets.Clear(); Palettes.Clear(); AreaMaps.Clear(); PlmTypes.Clear(); EnemyTypes.Clear(); CurrentRom = null; ProjectPath = String.Empty; RomFileName = String.Empty; ProjectFileName = String.Empty; RoomTiles.Clear(); MapTiles.Clear(); BackgroundImage = null; ChangesMade = false; ProjectLoaded = false; ProjectClosed?.Invoke(this, null); }
// Read all PLM types from PLM folder. private void ReadPlmTypes() { string [] paths = Directory.GetFiles(Environment.CurrentDirectory + PlmFolder); for (int i = 0; i < paths.Length; i++) { var newPlm = new PlmType(); string filename = Tools.FilenameFromPath(paths [i]); Tools.TrimFileExtension(ref filename, out string extension); if (extension.ToLower() == ".png" && filename.Length > 5) { newPlm.PlmID = Tools.HexToInt(filename.Substring(0, 4)); newPlm.Name = filename.Substring(5, filename.Length - 5); newPlm.Graphics = new BlitImage(GraphicsIO.LoadBitmap(paths [i])); PlmTypes.Add(newPlm); } } PlmTypes.Sort((x, y) => x.PlmID - y.PlmID); for (int i = 0; i < PlmTypes.Count; i++) { PlmTypes [i].Index = i; } }