public void OnClickNextPuzzleButton() { Toggle activateToggle = puzzleSelectionToggleGroup.GetFirstActiveToggle(); PuzzleDefinitionContainer container = activateToggle.GetComponent <PuzzleDefinitionContainer>(); currentPuzzleDefinition.image = container.puzzle.image; currentPuzzleDefinition.revealText = container.puzzle.revealText; StartNewGamePuzzle(); }
// Start is called before the first frame update void Start() { ScrollRect scrollRect = puzzleSelectionToggleGroup.GetComponentInParent <ScrollRect>(); Scrollbar scrollbar = scrollRect.GetComponentInChildren <Scrollbar>(); for (int i = 0; i < puzzleDefinitions.Length; i++) { RectTransform toggleGroupRectTransform = puzzleSelectionToggleGroup.GetComponent <RectTransform>(); GameObject toggleGameObject = Instantiate <GameObject>(puzzleSelectionTogglePrefab, toggleGroupRectTransform); RectTransform toggleRectTransform = toggleGameObject.GetComponent <RectTransform>(); RectTransform scrollRectRectTransform = scrollRect.GetComponent <RectTransform>(); RectTransform scrollbarRectTransform = scrollbar.GetComponent <RectTransform>(); float toggleGroupWidth = scrollRectRectTransform.rect.width - scrollbarRectTransform.rect.width; toggleRectTransform.anchorMin = new Vector2(0, 1); toggleRectTransform.anchorMax = new Vector2(0, 1); toggleRectTransform.anchoredPosition = new Vector2(toggleGroupWidth / 2, -toggleGroupWidth * i); toggleRectTransform.sizeDelta = new Vector2(toggleGroupWidth, toggleGroupWidth); PuzzleDefinitionContainer container = toggleGameObject.GetComponent <PuzzleDefinitionContainer>(); container.puzzle.image = puzzleDefinitions[i].image; container.puzzle.revealText = puzzleDefinitions[i].revealText; Image toggleImage = toggleGameObject.GetComponentInChildren <Image>(); Vector2 imageSize = new Vector2(container.puzzle.image.width, container.puzzle.image.height); toggleImage.sprite = Sprite.Create(container.puzzle.image, new Rect(new Vector2(0, 0), imageSize), new Vector2(0.5f, 0.5f)); Toggle toggle = toggleGameObject.GetComponent <Toggle>(); toggle.group = puzzleSelectionToggleGroup; } puzzleSelectionToggleGroup.GetComponent <RectTransform>().anchoredPosition = new Vector2(0, 0); currentPuzzleDefinition = puzzleDefinitions[0]; StartNewGamePuzzle(); }