void OnPropertyChanged(string name) { PropertyChangedEventHandler handler = PropertyChanged; if (handler != null) { ControlStatic.SwitchName = name; ControlStatic.CheckWork(); //MessageBox.Show(name); handler(this, new PropertyChangedEventArgs(name)); } }
private static Dictionary <int, CTRLEntry> ReadCTRL(BinaryReaderEx br, Dictionary <int, string> strings, int ctprOffset) { ReadSectionHeader(br, "CTRL", out int entrySize, out int entryCount); int startPosition = (int)br.Position; Dictionary <int, CTRLEntry> ctrlEntries = new Dictionary <int, CTRLEntry>(); for (int i = 0; i < entryCount; i++) { int offset = (int)br.Position - startPosition; int typeOffset = br.ReadInt32(); int ctprEntryOffset = br.ReadInt32(); int restorePosition = (int)br.Position; CTRLEntry entry; string type = strings[typeOffset]; br.Position = ctprOffset + ctprEntryOffset; if (type == "Static") { entry = new ControlStatic(br); } else if (type == "DmeCtrlScrollText") { entry = new ControlDmeCtrlScrollText(br); } else if (type == "FrpgMenuDlgObjContentsHelpItem") { entry = new ControlFrpgMenuDlgObjContentsHelpItem(br); } else { throw null; } ctrlEntries[offset] = entry; br.Position = restorePosition; } br.Pad(0x10); return(ctrlEntries); }