public void CreateLevelButtons() { Debug.Log("create level buttons"); GCSet.Clean(); GameObject parent = LevelButtonsContainer.content.gameObject; Button[] existButtons = parent.GetComponentsInChildren <Button>(); for (int i = 0; i < existButtons.Length; i++) { DestroyImmediate(existButtons[i].gameObject); } for (int i = 0; i < MPlayer.gcSet.LevelCount; i++) { GameObject buttonGO = Instantiate(levelButtonPrefab, Vector3.zero, Quaternion.identity); buttonGO.transform.SetParent(parent.transform); buttonGO.transform.localScale = Vector3.one; Button b = buttonGO.GetComponent <Button>(); b.onClick.RemoveAllListeners(); int level = i + 1; b.onClick.AddListener(() => { BubblesPlayer.CurrentLevel = level - 1; CloseOpenedPanels(); ShowLevelData(); MBoard.grid.MoveToVisible(null); }); buttonGO.GetComponentInChildren <Text>().text = level.ToString(); } }
public void InsertBefore() { Debug.Log("Click on Button <Insert level before...> "); LevelConstructSet lcs = ScriptableObjectUtility.CreateResourceAsset <LevelConstructSet>(levelConstructSetSubFolder, "", " " + 1.ToString()); GCSet.InsertBeforeLevel(BubblesPlayer.CurrentLevel, lcs); CreateLevelButtons(); ShowLevelData(); MBoard.grid.MoveToVisible(null); }
public void RemoveLevel() { Debug.Log("Click on Button <Remove level...> "); if (GCSet.LevelCount < 2) { Debug.Log("Can't remove the last level> "); return; } GCSet.RemoveLevel(BubblesPlayer.CurrentLevel); CreateLevelButtons(); BubblesPlayer.CurrentLevel = (BubblesPlayer.CurrentLevel < MPlayer.gcSet.LevelCount - 1) ? BubblesPlayer.CurrentLevel : BubblesPlayer.CurrentLevel - 1; ShowLevelData(); MBoard.grid.MoveToVisible(null); }
private void ShowLevelData(bool rebuild) { GCSet.Clean(); LCSet.Clean(GOSet); Debug.Log("Show level data: " + BubblesPlayer.CurrentLevel); if (rebuild) { MBoard.CreateGameBoard(false); } LevelButtonsRefresh(); if (editModeText) { editModeText.text = "EDIT MODE" + '\n' + "Level " + (BubblesPlayer.CurrentLevel + 1); } }