void OnEnable() { if (labelError != null) { labelError.text = ""; } endTime = Time.time + TimeToTimeOut; timeLeft = (int)TimeToTimeOut; CachedQuestion = new TriviaQuestion(); qstatus = QUESTIONSTATUS.LOADING; if (ButtonGoBack != null) { NGUITools.SetActive(ButtonGoBack.gameObject, false); } if (ButtonMainMenu != null) { NGUITools.SetActive(ButtonMainMenu.gameObject, false); } if (!Managers.Trivia.TopicsLoaded) { qstatus = QUESTIONSTATUS.LOADEDFAIL; } else { GetAndCachedQuestion(PlayGame.GetCurrentMatchID(), Managers.Trivia.CurrentTopicIndexSelected ); } }
// Update is called once per frame void Update() { if (qstatus == QUESTIONSTATUS.LOADEDSUCCESFULL && qstatus != QUESTIONSTATUS.LOADEDTIMEOUT) { // Application.LoadLevel("MatchPlayScene"); Managers.SceneManager.LoadLevel("MatchPlay"); } if (qstatus == QUESTIONSTATUS.LOADEDFAIL || qstatus == QUESTIONSTATUS.LOADEDTIMEOUT) { if (labelError != null) { labelError.text = Localization.Localize("errorloadingquestion"); } if (ButtonGoBack != null) { NGUITools.SetActive(ButtonGoBack.gameObject, true); } if (ButtonMainMenu != null) { NGUITools.SetActive(ButtonMainMenu.gameObject, true); } } if (qstatus == QUESTIONSTATUS.LOADING) { if (timeLeft > 0) { RefreshGameTime(); } else { qstatus = QUESTIONSTATUS.LOADEDTIMEOUT; } } }
public void GetAndCachedQuestion(string matchID, int currentTopicIndex) { try { CachedQuestion = new TriviaQuestion(); Managers.Trivia.SetCachedQuestion(CachedQuestion); string ParseObjectID = Managers.Trivia.GetTopicName(currentTopicIndex); int CountQuestions = 0; CountQuestions = Managers.Trivia.GetCountQuestion(ParseObjectID); if (CountQuestions == 0) { qstatus = QUESTIONSTATUS.LOADEDSUCCESFULL; return; } int idwhichQuestion = Random.Range(0, CountQuestions); var query = ParseObject.GetQuery(ParseObjectID) .WhereEqualTo("IdPregunta", idwhichQuestion); query.FirstAsync().ContinueWith(t => { if (t.IsCompleted) { ParseObject obj = t.Result; CachedQuestion.IdQuestion = obj.Get <int>("IdPregunta"); CachedQuestion.ObjectId = obj.ObjectId; CachedQuestion.Question = obj.Get <string>("Pregunta"); CachedQuestion.indexAnswer = obj.Get <int>("indexanswer"); IList <object> opciones = obj.Get <List <object> >("opciones"); for (int i = 0; i < opciones.Count; i++) { CachedQuestion.options[i] = opciones[i].ToString(); } qstatus = QUESTIONSTATUS.LOADEDSUCCESFULL; Managers.Trivia.SetCachedQuestion(CachedQuestion); return; } if (t.IsCanceled || t.IsFaulted) { qstatus = QUESTIONSTATUS.LOADEDFAIL; } }); } catch (Exception ex) { qstatus = QUESTIONSTATUS.LOADEDFAIL; Debug.Log("Exception " + ex.Message); } }