//Mostrar los score en el camvas clonando desde los prefabs //limita la aparcion de score en canvas private void MostrarScore() { GetScore(); foreach (GameObject score in GameObject.FindGameObjectsWithTag("Score")) //Desruye score pasados { Destroy(score); } for (int i = 0; i < highRanks; i++) { if (i <= highScores.Count - 1) //Evita error de desbordamiento si no hay más score que msotrar { GameObject tmpObjec = Instantiate(scorePrefab); HighScoreFuncion tmpScore = highScores [i]; tmpObjec.GetComponent <HighScorePrefab> ().SetScore(tmpScore.Nombre, tmpScore.Score.ToString(), "#" + (i + 1).ToString()); tmpObjec.transform.SetParent(scoreParent); tmpObjec.GetComponent <RectTransform> ().localScale = new Vector3(1, 1, 1); } } }
//Funcion para editar base de datos desde Unity private void IngreseScore(string nombre, int nuevoScore) { GetScore(); int hscontador = highScores.Count; //Encuetra el puntaje más bajo en Score y lo elimina suponiendo que el registro //solo permite 10 y se ingreso un puntaje mas alto if (highScores.Count > 0) { HighScoreFuncion menorScore = highScores [highScores.Count - 1]; if (menorScore != null && saveScores > 0 && highScores.Count >= saveScores && nuevoScore > menorScore.Score) { BorrarScore(menorScore.ID); hscontador--; } } if (hscontador < saveScores) { using (IDbConnection dbConexion = new SqliteConnection(conexionString)) { dbConexion.Open(); using (IDbCommand dbCmd = dbConexion.CreateCommand()) { //En values le pasamos lod detos de la funcion string sqlQuery = string.Format("INSERT INTO HighScores(Nombre,Score) VALUES(\"{0}\",\"{1}\")", nombre, nuevoScore); dbCmd.CommandText = sqlQuery; dbCmd.ExecuteScalar(); dbConexion.Close(); } } } }