private void RemoveGroup(RandomBubbleGroup group) { Action action = delegate { var index = groups.IndexOf(group); RemoveRandomFromBoard(index); ShiftRandomGroups(index); DeleteGroup(index); definitions.RemoveAt(index); InitializeGroups(); UpdateGroupCounts(); ResizeContents(); var modifier = manipulator.Modifier; if ((modifier != null) && (modifier.Type == BubbleModifierType.Random) && (int.Parse(modifier.Data) >= groups.Count)) { manipulator.SetModifier(null); } }; if (group.Count > 0) { GameObject.Find("LevelEditor").GetComponent <LevelEditor>().ConfirmAction(action); } else { action.Invoke(); } }
private void CreateModifierButton(BubbleModifierDefinition modifier) { var button = Instantiate(bubbleButtonPrefab); button.name = modifier.Type.ToString(); button.GetComponent <Image>().sprite = modifier.Sprite; var toggle = button.GetComponent <Toggle>(); toggle.group = GetComponent <ToggleGroup>(); toggle.onValueChanged.AddListener((value) => { if (value) { manipulator.SetModifier(modifier); manipulator.SetActionType(ManipulatorActionType.PlaceModifier); } }); button.transform.SetParent(transform, false); }