//remove a seleção do ultimo botao public void RemoverSelecaoBotaoVelho() { if (refUltimoBotaoSel == null && _ultimoBotaoSelID == -1) //ou seja, realmente nao é nenhum botao selecionado { return; } else { if (refUltimoBotaoSel != null) { refUltimoBotaoSel.GetComponent <Btn_Fase>().DesselecionarBotao(); } else//utiliza do ID { if (Application.loadedLevelName == "Tela_Fases") { GameObject[] listGO = GameObject.FindGameObjectsWithTag("Btn"); for (int i = 0; i < listGO.Length; i++) { Btn_Fase btn = listGO[i].gameObject.GetComponent <Btn_Fase>(); // Tira a cor do botao atual e adiciona cor ao Tint do outro; if (btn.ID == _ultimoBotaoSelID) // Se for o botao correto; { //if (btn.selecionado) { btn.DesselecionarBotao(); break; } } } } } } }
private void LoadBotoesBloqueados() { if (Application.loadedLevelName == "Tela_Fases") { this.esperaCarregando++; //Pega todos os botoes GameObject[] listBotoes = GameObject.FindGameObjectsWithTag("Btn"); for (int i = 1; i < (listBotoes.Length + 1); i++) { Btn_Fase btn = listBotoes[i - 1].gameObject.GetComponent <Btn_Fase>();// Tira a cor do botao atual e adiciona cor ao Tint do outro; int valorBloqueio = PlayerPrefs.GetInt("lvl" + (btn.ID) + "b"); //BOTAO BLOQUEADO É 0, DESBLOQUEADO É 1 if (valorBloqueio == 0) { btn.bloqueado = true; //Debug.Log("Btn blocked " + (btn.ID)); } else { btn.bloqueado = false; } if (btn.ID == 1) { btn.bloqueado = false;//Botao da fase 1 é sempre desbloqueado } } this.esperaCarregando--; } }
private void LiberarProxFase() { if (this.IDFase >= 1 && this.IDFase <= 5) { //Libera a proxima fase GameObject[] listBotoes = GameObject.FindGameObjectsWithTag("Btn"); for (int i = 0; i < listBotoes.Length; i++) { Btn_Fase btn = listBotoes[i].gameObject.GetComponent <Btn_Fase>(); // Tira a cor do botao atual e adiciona cor ao Tint do outro; if (btn.ID == (this.faseID + 1)) //Se for o botão pertence a proxima fase { // Se for o botao correto; try { int valorBloqueio = PlayerPrefs.GetInt("lvl" + (btn.ID) + "b"); if (valorBloqueio == 1)//se o botao nao esta bloqueado, significa que ja liberou ele numa partida anterior { //Debug.Log("ja liberou a fase"); SelecionarBotaoFaseDentroStatus(); return; } btn.bloqueado = false; //BOTAO BLOQUEADO É 0, DESBLOQUEADO É 1 PlayerPrefs.SetInt("lvl" + (this.faseID + 1) + "b", 1);//salva em arquivo essa nova fase como desbloqueada //Seleciona a nova fase //this.OldFaseID = this.faseID; this.faseID += 1; //aumenta a fase ID PlayerPrefs.SetInt("faseID", this.faseID); // salva a nova fase liberada como a ultima SalvarBotoesBloqueados(); PlayerPrefs.Save(); SelecionarBotaoFaseDentroStatus(); } catch { Debug.LogError("StatusError - n conseguiu liberar fase"); } break; } } } }
//BOTAO BLOQUEADO É 0, DESBLOQUEADO É 1 private void SalvarBotoesBloqueados() { this.esperaCarregando++; if (Application.loadedLevelName == "Tela_Fases") { //Pega todos os botoes GameObject[] listBotoes = GameObject.FindGameObjectsWithTag("Btn"); for (int i = 1; i < (listBotoes.Length + 1); i++) { Btn_Fase btn = listBotoes[i - 1].gameObject.GetComponent <Btn_Fase>(); // Tira a cor do botao atual e adiciona cor ao Tint do outro; if (btn.GetJaDefiniuBloqueio()) //se o bloqueio para aquele botão ja foi definido { if (btn.bloqueado) //se o botao esta bloqueado, salva como bloqueado { PlayerPrefs.SetInt("lvl" + (btn.ID) + "b", 0); //botoes começam de 1 a 6 //Debug.Log("Salvou Bloqueado: " + btn.ID); } else//salva como desbloqueado { PlayerPrefs.SetInt("lvl" + (btn.ID) + "b", 1); } if (btn.ID == 1) { //segurança - botao 1 é sempre liberado PlayerPrefs.SetInt("lvl" + (btn.ID) + "b", 1); } } else//nao foi definido se o botao foi bloqueado ou nao { btn.DefinirBloqueio();//Se nao manda verificar e definir se bloqueia ou nao if (btn.bloqueado) //se o botao esta bloqueado, salva como bloqueado { PlayerPrefs.SetInt("lvl" + (btn.ID) + "b", 0); //botoes começam de 1 a 6 //Debug.Log("Salvou Bloqueado: " + btn.ID); } else//salva como desbloqueado { PlayerPrefs.SetInt("lvl" + (btn.ID) + "b", 1); } if (btn.ID == 1) { //segurança - botao 1 é sempre liberado PlayerPrefs.SetInt("lvl" + (btn.ID) + "b", 1); } } } } this.esperaCarregando--; }
public void RemoverSelecaoBotaoFaseDentroStatus() { if (refUltimoBotaoSel == null && _ultimoBotaoSelID == -1) //ou seja, realmente nao tem nenhum botao selecionado { return; } else { if (refUltimoBotaoSel != null) { Btn_Fase btn = refUltimoBotaoSel.GetComponent <Btn_Fase>(); GameObject obj = GameObject.Find("Images"); ImagesScript iscript = obj.GetComponent <ImagesScript>(); this.spriteUltimoBtnSelecionado.mainTexture = (Texture2D)iscript.imagem[btn.ID]; // Botao sem seleçao;//spriteUltimoBtnSelecionado.color = corBotaoNSelecionado;//spriteUltimoBtnSelecionado.tintColor = corBotaoNSelecionado; ultimoBotaoSelID = -1; refUltimoBotaoSel = null; spriteUltimoBtnSelecionado = null; btn.selecionado = false; } else//utiliza do ID { if (Application.loadedLevelName == "Tela_Fases") { GameObject[] listGO = GameObject.FindGameObjectsWithTag("Btn"); for (int i = 0; i < listGO.Length; i++) { Btn_Fase btn = listGO[i].gameObject.GetComponent <Btn_Fase>(); // Tira a cor do botao atual e adiciona cor ao Tint do outro; if (btn.ID == _ultimoBotaoSelID) // Se for o botao correto; { //if (btn.selecionado) { GameObject obj = GameObject.Find("Images"); ImagesScript iscript = obj.GetComponent <ImagesScript>(); this.spriteUltimoBtnSelecionado.mainTexture = (Texture2D)iscript.imagem[btn.ID]; // Botao sem seleçao;//spriteUltimoBtnSelecionado.color = corBotaoNSelecionado;//spriteUltimoBtnSelecionado.tintColor = corBotaoNSelecionado; ultimoBotaoSelID = -1; refUltimoBotaoSel = null; spriteUltimoBtnSelecionado = null; break; } } } } } } }
// Update is called once per frame void Update() { if (refScriptStatus.isAndroid || refScriptStatus.isiOS) { if (Input.touchCount >= 1) { foreach (Touch touch in Input.touches) { if (touch.phase == TouchPhase.Began) { Ray ray = camera1.ScreenPointToRay(touch.position); RaycastHit hit; if (Physics.Raycast(ray, out hit)) { switch (hit.collider.tag) { case "Btn": { Btn_Fase scriptBtnFase = hit.collider.gameObject.GetComponent <Btn_Fase>(); // Se nao estiver bloqueado: if (!scriptBtnFase.bloqueado) { //refScriptStatus.SetOldFase(refScriptStatus.IDFase); //SelecionarBotao(); if (refScriptStatus == null) { refScriptStatus = GameObject.Find("Status").GetComponent <Status>(); } refScriptStatus.IDFase = scriptBtnFase.ID; refScriptStatus.SelecionarBotaoFaseDentroStatus(); } break; } } } } } } }//fim de android ou ios }
//---------Old functions---------------- //selecao por dentro do botao private void SelecionarBotaodaFase() { GameObject[] listGO = GameObject.FindGameObjectsWithTag("Btn"); for (int i = 0; i < listGO.Length; i++) { Btn_Fase btn = listGO[i].gameObject.GetComponent <Btn_Fase>(); // Tira a cor do botao atual e adiciona cor ao Tint do outro; if (btn.ID == this.faseID) // Se for o botao correto; { if (!btn.selecionado) { btn.SelecionarBotao(); } break; } } }
//Selecao via status public void SelecionarBotaoFaseDentroStatus() { RemoverSelecaoBotaoFaseDentroStatus(); GameObject[] listGO = GameObject.FindGameObjectsWithTag("Btn"); for (int i = 0; i < listGO.Length; i++) { Btn_Fase btn = listGO[i].gameObject.GetComponent <Btn_Fase>(); // Tira a cor do botao atual e adiciona cor ao Tint do outro; spriteUltimoBtnSelecionado = listGO[i].gameObject.renderer.material; //.GetComponent<OTSprite>(); if (btn.ID == this.faseID) // Se for o botao correto; { GameObject obj = GameObject.Find("Images"); ImagesScript iscript = obj.GetComponent <ImagesScript>(); this.spriteUltimoBtnSelecionado.mainTexture = (Texture2D)iscript.imagem[btn.ID + 6]; // E somado 6 pois e a quantidade de posiçoes que devem ser puladas do array de imagens;//this.spriteUltimoBtnSelecionado.mainTexture = (Texture2D)iscript.imagem[7];// Selecionado; ultimoBotaoSelID = btn.ID; refUltimoBotaoSel = listGO[i].gameObject; btn.selecionado = true; break; } } //SetTempoJogobasedOnFase(); //atualiza os melhores tempos if (refMelhoresTemposS == null) { refMelhoresTemposS = GameObject.Find("MelhoresTempos").GetComponent <MelhoresTempos>(); } refMelhoresTemposS.TrocouFaseSelecionada(); }