public static void SaveChangedValues(HaloMap Map, Panel parentPanel, int parentOffset) { EndianIO iO = Map.IO; for (int i = 0; i < parentPanel.Controls.Count; i++) { if (!((Map.IO != null) && Map.IO.Opened)) { Map.OpenIO(); } switch (parentPanel.Controls[i].Name) { case "uiTagBlock": ((uiTagBlock)parentPanel.Controls[i]).SaveStructure(Map, parentOffset); break; case "uiBitmask": { uiBitmask bitmask = (uiBitmask)parentPanel.Controls[i]; if (bitmask.Editted) { bitmask.SaveValue(Map.IO, parentOffset); } break; } case "uiValue": { uiValue value2 = (uiValue)parentPanel.Controls[i]; if (value2.Editted) { value2.SaveValue(Map.IO, parentOffset); } break; } case "uiEnum": { uiEnum enum2 = (uiEnum)parentPanel.Controls[i]; if (enum2.Editted) { enum2.SaveValue(Map.IO, parentOffset); } break; } case "uiIdent": { uiIdent ident = (uiIdent)parentPanel.Controls[i]; if (ident.Editted) { ident.SaveValue(Map.IO, parentOffset); } break; } case "uiByteArray": { uiByteArray array = (uiByteArray)parentPanel.Controls[i]; if (array.Editted) { array.SaveValue(Map.IO, parentOffset); } break; } case "uiColor": { uiColor color = (uiColor)parentPanel.Controls[i]; if (color.Editted) { color.SaveValue(Map.IO, parentOffset); } break; } case "uiTagData": { uiTagData data = (uiTagData)parentPanel.Controls[i]; if (data.Editted) { data.SaveValue(Map.IO, parentOffset); } break; } case "uiStringID": { uiStringID gid = (uiStringID)parentPanel.Controls[i]; if (gid.Editted) { gid.SaveValue(Map.IO, parentOffset); } break; } } } Map.CloseIO(); }
public static void PokeValues(EndianIO IO, Panel parentPanel, int parentOffset, int magic, bool onlyChanged) { for (int i = 0; i < parentPanel.Controls.Count; i++) { uiBitmask bitmask; uiValue value2; uiEnum enum2; uiIdent ident; switch (parentPanel.Controls[i].Name) { case "uiTagBlock": { ((uiTagBlock)parentPanel.Controls[i]).PokeStructure(IO, magic, onlyChanged); continue; } case "uiBitmask": { bitmask = (uiBitmask)parentPanel.Controls[i]; if (!onlyChanged) { break; } if (bitmask.Editted) { bitmask.SaveValue(IO, parentOffset + magic); } continue; } case "uiValue": { value2 = (uiValue)parentPanel.Controls[i]; if (!onlyChanged) { goto Label_019C; } if (value2.Editted) { value2.SaveValue(IO, parentOffset + magic); } continue; } case "uiEnum": { enum2 = (uiEnum)parentPanel.Controls[i]; if (!onlyChanged) { goto Label_01EF; } if (enum2.Editted) { enum2.SaveValue(IO, parentOffset + magic); } continue; } case "uiIdent": { ident = (uiIdent)parentPanel.Controls[i]; if (!onlyChanged) { goto Label_0243; } if (ident.Editted) { ident.SaveValue(IO, parentOffset + magic); } continue; } case "uiByteArray": { uiByteArray array = (uiByteArray)parentPanel.Controls[i]; if (array.Editted | !onlyChanged) { array.SaveValue(IO, parentOffset + magic); } continue; } case "uiColor": { uiColor color = (uiColor)parentPanel.Controls[i]; if (color.Editted | !onlyChanged) { color.SaveValue(IO, parentOffset + magic); } continue; } case "uiTagData": { uiTagData data = (uiTagData)parentPanel.Controls[i]; if (data.Editted | !onlyChanged) { data.SaveValue(IO, parentOffset + magic); } continue; } case "uiStringID": { uiStringID gid = (uiStringID)parentPanel.Controls[i]; if (gid.Editted) { gid.SaveValue(IO, parentOffset + magic); } continue; } default: { continue; } } bitmask.SaveValue(IO, parentOffset + magic); continue; Label_019C: value2.SaveValue(IO, parentOffset + magic); continue; Label_01EF: enum2.SaveValue(IO, parentOffset + magic); continue; Label_0243: ident.SaveValue(IO, parentOffset + magic); } }