/// <summary> /// Remove button from list /// </summary> /// <param name="button"></param> public void RemoveLevel(CustomLevelButton button) { buttons.Remove(button); if (buttons.Count == 0) { deleteButton.SetActive(false); } else { EventSystem.current.SetSelectedGameObject(deleteButton); } }
protected override void SpawnButtons(string[] fileNames) { for (int i = 0; i < levelCount - 1; i++) { GameObject buttonObject = InstantiateButtonAsChild(); CustomLevelButton button = buttonObject.GetComponent <CustomLevelButton>(); button.SetLevelNameAndId(fileNames[i], i + 1); button.SetLevelSelection(this); buttons.Add(button); } if (buttons.Count > 0) { deleteButton = Instantiate(deleteButtonPrefab); deleteButton.transform.SetParent(this.transform); deleteButton.transform.localScale = Vector3.one; deleteButton.GetComponent <Button>().onClick.AddListener(SwitchDeleteMode); } }
public void Refresh() { Pack pack = ((CustomGameManager)CustomGameManager.Instance).Packs.Selected; ItemsRange range = LevelController.PackLevelsRange(pack); for (int i = range.From; i < range.To + 1; i++) { Level level = GameManager.Instance.Levels.GetItem(i); level.LoadData(); GameObject newObject = Instantiate(Prefab); newObject.transform.SetParent(transform, false); CustomLevelButton levelButton = newObject.GetComponent <CustomLevelButton>(); levelButton.Context.Number = i; if (level.IsUnlocked) { CanvasGroup canvasGroup = GameObjectHelper.GetChildComponentOnNamedGameObject <CanvasGroup> (newObject, "PlayButton", true); canvasGroup.alpha = 1f; } Level nextLevel = GameManager.Instance.Levels.GetItem(i + 1); if (nextLevel != null && nextLevel.IsUnlocked == false && level.IsUnlocked) { Animator anim = GameObjectHelper.GetChildComponentOnNamedGameObject <Animator>(newObject, "PlayButton", true); anim.enabled = true; } if (level.ProgressBest > 0.9f) { Text statusText = GameObjectHelper.GetChildComponentOnNamedGameObject <Text>(newObject, "Status", true); statusText.text = LocaliseText.Get("Text.Done"); } Text text = GameObjectHelper.GetChildComponentOnNamedGameObject <Text> (newObject, "Name", true); text.text = LocaliseText.Format("Text.LevelNumber", i); GameObject previewObject = GameObjectHelper.GetChildNamedGameObject(newObject, "Preview", true); GameObject wordsObject = GameObjectHelper.GetChildNamedGameObject(previewObject, "Words", true); string preview = level.JsonData.GetString("preview"); char[] characters = preview.ToCharArray(); int index = 0; int angle = 360 / characters.Length; foreach (char _char in characters) { GameObject _charObject = Instantiate(_charPrefab, wordsObject.transform); Vector3 pos = Vector3Utils.RandomCircle(wordsObject.transform.position, 0.2f, angle, index); _charObject.transform.position = pos; _charObject.transform.localScale = new Vector3(0.7f, 0.7f, 0.7f); GameObject _text = GameObjectHelper.GetChildNamedGameObject(_charObject, "Text", true); _text.GetComponent <Text> ().text = _char.ToString().ToUpper(); index++; } buttons.Add(newObject); } }