Ejemplo n.º 1
0
        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();
        }
Ejemplo n.º 2
0
        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);
            }
        }