public void RemoveButton(int index) { DraggableButtonWidget button = buttons[index]; button.ClearSubscribers(); ResourcePool.Return(Resource.Widgets.DisplayButton, button.GameObject); buttons.RemoveAt(index); int i; for (i = index; i < buttons.Count; i++) { float y = 2 * YOffset + i * (buttonHeight + YOffset); buttons[i].Transform.anchoredPosition = new Vector3(0, -y); } contentObjectTransform.sizeDelta = new Vector2(0, 2 * YOffset + i * (buttonHeight + YOffset)); }
public void CreateButtonForModule([NotNull] ModuleData moduleData) { int size = buttons.Count; float y = 2 * YOffset + size * (buttonHeight + YOffset); DraggableButtonWidget button = ResourcePool .Rent(Resource.Widgets.DisplayButton, contentObjectTransform, false) .GetComponentInChildren <DraggableButtonWidget>(); button.Transform.anchoredPosition = new Vector2(0, -y); button.Text.text = moduleData.ButtonText; button.Name = $"Button:{moduleData.ModuleType}"; button.Visible = true; button.Clicked += moduleData.ToggleShowPanel; button.RevealedLeft += moduleData.ToggleVisible; button.RevealedRight += moduleData.Close; buttons.Add(button); contentObjectTransform.sizeDelta = new Vector2(0, y + buttonHeight + YOffset); }