private void addPauseInputField(float pause, int pauseListIndex) { //instantiate a prefab and add it to buttonPanel - layout manager will do the rest GameObject createdPauseButton = Instantiate(pauseInputField.gameObject) as GameObject; createdPauseButton.transform.SetParent(buttonPanel); createdPauseButton.transform.localScale = scaleEqualizer; //pass all needed data and references so that pausebutton is able to change corresponding pause PauseInputField pauseInputFieldScriptObj = createdPauseButton.GetComponent <PauseInputField>(); pauseInputFields.Add(pauseInputFieldScriptObj); pauseInputFieldScriptObj.PauseValue = pause; pauseInputFieldScriptObj.PauseIndex = pauseListIndex; pauseInputFieldScriptObj.ParentWavePanel = this; pauseInputFieldScriptObj.UpdateText(); }
public void RemoveGroup(GroupButton groupButton) { int groupIndex = wave.Groups.IndexOf(groupButton.Group); //dont let user delete the last group if (groupIndex == 0 && wave.Groups.Count == 1) { return; } #region substitute the currently selected group in the groupPanel(which will be deleted) by another GroupSelectionButton nextSelectedButton; //check if group with next index exists if (groupIndex + 1 < groupButtons.Count && (nextSelectedButton = groupButtons[groupIndex + 1]) != null) { //just wait } else //there must be a group with previous index { nextSelectedButton = groupButtons[groupIndex - 1]; } groupPanel.OnSelectedGroupChange(nextSelectedButton); #endregion GroupSelectionButton btn = groupButtons[groupIndex]; groupButtons.Remove(btn); Destroy(btn.gameObject); PauseInputField pauseBtn = pauseInputFields[groupIndex]; pauseInputFields.Remove(pauseBtn); Destroy(pauseBtn.gameObject); wave.Groups.RemoveAt(groupIndex); }