FSO.IDE.ObjectWindow.SGChangeButton_Click C# (CSharp) Method

SGChangeButton_Click() private method

private SGChangeButton_Click ( object sender, EventArgs e ) : void
sender object
e EventArgs
return void
        private void SGChangeButton_Click(object sender, EventArgs e)
        {
            var textInput = new GenericTextInput("Enter the name of the Semi-Global IFF. (without .iff)", SemiglobalName);
            textInput.ShowDialog();
            if (textInput.DialogResult == DialogResult.OK && ActiveObj != null)
            {
                var name = textInput.StringResult;
                SemiglobalName = name;
                var sgs = ActiveObj.Resource.List<GLOB>();
                if (sgs != null && sgs.Count > 0)
                {
                    //modify existing
                    Content.Content.Get().Changes.BlockingResMod(new ResAction(() =>
                    {
                        sgs[0].Name = name;
                    }, sgs[0]));
                } else
                {
                    //make one!

                    Content.Content.Get().Changes.BlockingResMod(new ResAction(() =>
                    {
                        var glob = new GLOB()
                        {
                            ChunkID = 1,
                            ChunkLabel = "Semi-Globals",
                            AddedByPatch = true,
                            ChunkProcessed = true,
                            ChunkType = "GLOB",
                            RuntimeInfo = ChunkRuntimeState.Modified,
                            Name = name
                        };

                        ActiveObj.Resource.MainIff.AddChunk(glob);
                        Content.Content.Get().Changes.ChunkChanged(glob);
                    }));
                }

                if (SemiglobalName != "")
                {
                    SemiGlobalButton.Text = "Semi-Global (" + SemiglobalName + ")";
                    SemiGlobalButton.Enabled = true;
                }
                else
                {
                    SemiGlobalButton.Text = "Semi-Global";
                    SemiGlobalButton.Enabled = false;
                }
            }
        }