public void LoadLevelSelection(int nbShift) { int stageNb = firstNb + nbShift; if (stageNb <= PlayerPrefs.GetInt("Stage") || Application.platform == RuntimePlatform.WindowsEditor) { selectedStage = stageNb; StageButtons.SetActive(false); LevelButtons.SetActive(true); } }
void Start() { StageButtons.SetActive(true); LevelButtons.SetActive(false); translation = buttons[1].GetComponent <Transform>().position - buttons[2].GetComponent <Transform>().position; moving = false; for (int i = 0; i < buttons.Length; i++) { buttons[i].GetComponentsInChildren <Image>()[1].sprite = stageNumbers[firstNb - 1 + i]; buttons[i].GetComponentsInChildren <Image>()[1].preserveAspect = true; } buttons[0].GetComponentsInChildren <Image>()[1].color = new Color(1, 1, 1, 0); buttons[buttons.Length - 1].GetComponentsInChildren <Image>()[1].color = new Color(1, 1, 1, 0); }
public void Init(int [] levels) { Text txt = cloneItem.GetComponentInChildren <Text>(); Button but = cloneItem.GetComponent <Button>(); but.onClick.AddListener(() => LevelSelected(1)); txt.text = "1"; LevelButtons lb = cloneItem.GetComponent <LevelButtons>(); lb.SetState(levels[0]); txt.enabled = true; for (int i = 1; i < levels.Length; i++) { Transform obj = Instantiate(cloneItem, parent); but = obj.GetComponent <Button>(); txt = obj.GetComponentInChildren <Text>(); txt.text = (i + 1).ToString(); lb = obj.GetComponent <LevelButtons>(); if (levels[i] > 0) { lb.SetState(levels[i]); } else if (levels[i - 1] > 0) { lb.SetState(4); } else { lb.SetState(0); } but.enabled = (levels[i - 1] > 0); txt.enabled = (levels[i - 1] > 0); int index = i + 1; // Assign to local variable fix the closure problem. but.onClick.AddListener(delegate { LevelSelected(index); }); } }
public void BackToStageSelection() { StageButtons.SetActive(true); LevelButtons.SetActive(false); }