/** * Submits the changes from the edit section panel */ public void SubmitChanges() { //Sets the section's name to the new display name string sectionLinkTo = tObject.text; string newName = sectionEditPrefab.transform.Find(TitleValuePath).GetComponent <TMP_InputField> ().text; if (newName.Equals("") || newName.Length == 0) { ds.ShowMessage("Cannot leave section name blank"); return; } if (!ds.IsValidName(newName, "Section")) { //ds.ShowMessage ("Section name not valid. Cannot use:\n*, &, <, >, or //", true); throw new System.Exception("Name not valid: Please rename your section"); } Debug.Log("SECTIONEDITPREFAB: " + sectionEditPrefab.name); if (newName != null && !newName.Equals("")) { sectionLinkTo = newName.Replace(" ", "_") + "Section"; //try { Debug.Log("tObject.name: " + tObject.name + ", text: " + tObject.text); Debug.Log("newName: " + newName); Debug.Log("sectionLinkTo: " + sectionLinkTo); ds.EditSection(tObject.text, newName); var text = tObject.transform.parent.Find("SectionDisplayTMP").GetComponentInChildren <TextMeshProUGUI>(); text.text = newName; tObject.text = sectionLinkTo; if (text.preferredWidth > 270) { text.GetComponent <LayoutElement>().preferredWidth = 270; } else { text.GetComponent <LayoutElement>().preferredWidth = -1; } tObject.transform.parent.name = sectionLinkTo + "Button"; //} catch (Exception e) { // Debug.Log (e.Message); //} } //Finds and sets the section's icon to the chosen one Sprite spr = null; Transform[] sectionIcons = sectionEditPrefab.transform.Find("SectionEditorPanel/Content/ScrollView/Viewport/Content").GetComponentsInChildren <Transform>(); foreach (Transform t in sectionIcons) { Toggle tog; if ((tog = t.GetComponent <Toggle> ()) != null && tog.isOn) { spr = t.Find("Icon").GetComponent <Image> ().sprite; ds.AddImg(sectionLinkTo, t.name); break; } } if (spr != null) { tObject.transform.parent.Find("Image").GetComponent <Image> ().sprite = spr; } //Sets the section's color to the chosen one foreach (Toggle t in colorPanelParent.GetChild(0).GetComponentsInChildren <Toggle>()) { if (t.isOn) { ds.GetImage(sectionLinkTo).color = t.transform.GetComponent <Image> ().color; ds.GetImage(sectionLinkTo).useColor = true; break; } } if (ds.GetImage(sectionLinkTo).useColor) { tObject.transform.parent /*.Find ("Image")*/.GetComponent <Image> ().color = ds.GetImage(sectionLinkTo).color; GameObject.Find("TabButtonsPanel").GetComponent <Image> ().color = ds.GetImage(sectionLinkTo).color; } //Spawns/Removes the Background Info tab as needed bool spawn = sectionEditPrefab.transform.Find("SectionEditorPanel/Content/Row1").GetComponentInChildren <Toggle>().isOn; string tabName = ds.GetData(tm.getCurrentSection()).GetTabList().Find((string obj) => obj.StartsWith("Background_InfoTab")); bool tabExists = true; if (tabName == null || tabName.Equals("")) { tabExists = false; } if (!spawn && tabExists) { BG.GetComponent <EditTabScript> ().removeTab(tabName); //reactivate the option to select BG Info from the TabSelector BGInfoOption.gameObject.SetActive(true); } else if (spawn && !tabExists) { AddTab("Background Info"); //deactivate the option to select BG Info from the TabSelector BGInfoOption.gameObject.SetActive(false); } //Disable the editor tab and update the section button layout so the button size is correct //sectionEditPrefab.gameObject.SetActive (false); Destroy(sectionEditPrefab.gameObject); tObject.transform.parent.GetComponent <ScriptButtonFixScript> ().FixTab(); }