public void Init(List<int> high_scores, List<string> high_scores_initials) { high_scores_ = high_scores; high_scores_initials_ = high_scores_initials; info_text_ = new GameObject(); info_text_.AddComponent<GUIText>(); info_text_.GetComponent<GUIText>().alignment = TextAlignment.Center; info_text_.GetComponent<GUIText>().anchor = TextAnchor.MiddleCenter; info_text_.transform.parent = transform; info_text_.transform.position = new Vector3(0.5f, 0.75f, 0.0f); current_score_ = GameObject.Find("GameController").GetComponent<GameController>().GetScore(); if (high_scores_.Count == max_num_scores_ && current_score_ < high_scores_[high_scores_.Count - 1]) { current_state_ = HIGH_SCORES_STATE.SCORES_DISPLAY; } else { gui_letters_ = new List<GameObject>(); letters_ = new List<char>(); for (int i = 0; i < 3; i++) { GameObject letter = new GameObject(); letter.transform.parent = transform; letter.AddComponent<GUIText>(); letter.GetComponent<GUIText>().text = "A"; letter.transform.position = new Vector3(0.5f + (i * 0.015f), 0.5f, 0.0f); letter.GetComponent<GUIText>().alignment = TextAlignment.Center; letter.GetComponent<GUIText>().anchor = TextAnchor.UpperCenter; gui_letters_.Add(letter); letters_.Add('A'); } info_text_.guiText.text = "YOU BEAT A HIGH SCORE! ENTER YOUR INITIALS! (PRESS SPACE TO CONFIRM)"; for (int i = 0; i < num_letters_; i++) { gui_letters_[i].guiText.enabled = true; } InvokeRepeating("BlinkLetter", 0.25f, 0.25f); current_state_ = HIGH_SCORES_STATE.INITIALS_INPUT; } done_ = false; }
public void Init(List <int> high_scores, List <string> high_scores_initials) { high_scores_ = high_scores; high_scores_initials_ = high_scores_initials; info_text_ = new GameObject(); info_text_.AddComponent <GUIText>(); info_text_.GetComponent <GUIText>().alignment = TextAlignment.Center; info_text_.GetComponent <GUIText>().anchor = TextAnchor.MiddleCenter; info_text_.transform.parent = transform; info_text_.transform.position = new Vector3(0.5f, 0.75f, 0.0f); current_score_ = GameObject.Find("GameController").GetComponent <GameController>().GetScore(); if (high_scores_.Count == max_num_scores_ && current_score_ < high_scores_[high_scores_.Count - 1]) { current_state_ = HIGH_SCORES_STATE.SCORES_DISPLAY; } else { gui_letters_ = new List <GameObject>(); letters_ = new List <char>(); for (int i = 0; i < 3; i++) { GameObject letter = new GameObject(); letter.transform.parent = transform; letter.AddComponent <GUIText>(); letter.GetComponent <GUIText>().text = "A"; letter.transform.position = new Vector3(0.5f + (i * 0.015f), 0.5f, 0.0f); letter.GetComponent <GUIText>().alignment = TextAlignment.Center; letter.GetComponent <GUIText>().anchor = TextAnchor.UpperCenter; gui_letters_.Add(letter); letters_.Add('A'); } info_text_.GetComponent <GUIText>().text = "YOU BEAT A HIGH SCORE! ENTER YOUR INITIALS! (PRESS SPACE TO CONFIRM)"; for (int i = 0; i < num_letters_; i++) { gui_letters_[i].GetComponent <GUIText>().enabled = true; } InvokeRepeating("BlinkLetter", 0.25f, 0.25f); current_state_ = HIGH_SCORES_STATE.INITIALS_INPUT; } done_ = false; }
public void OnInitialsInput() { if (Input.GetKeyDown(KeyCode.RightArrow)) { for (int i = 0; i < num_letters_; i++) { gui_letters_[i].guiText.enabled = true; } letter_index_++; if (letter_index_ >= num_letters_) { letter_index_ = num_letters_ - 1; } } if (Input.GetKeyDown(KeyCode.LeftArrow)) { for (int i = 0; i < num_letters_; i++) { gui_letters_[i].guiText.enabled = true; } letter_index_--; if (letter_index_ < 0) { letter_index_ = 0; } } if (Input.GetKeyDown(KeyCode.UpArrow)) { letters_[letter_index_]++; if (letters_[letter_index_] > 90) { letters_[letter_index_] = (char)65; } gui_letters_[letter_index_].guiText.text = letters_[letter_index_].ToString(); } if (Input.GetKeyDown(KeyCode.DownArrow)) { letters_[letter_index_]--; if (letters_[letter_index_] < 65) { letters_[letter_index_] = (char)90; } gui_letters_[letter_index_].guiText.text = letters_[letter_index_].ToString(); } if (Input.GetKeyDown(KeyCode.Space)) { string initials = new string(letters_.ToArray()); if (high_scores_.Count == max_num_scores_) { high_scores_.RemoveAt(max_num_scores_ - 1); high_scores_initials_.RemoveAt(max_num_scores_ - 1); } high_scores_initials_.Add(initials); high_scores_.Add(current_score_); //Lazy sort, but since the max number of scores is only 10, no problem... :p for (int i = 0; i < high_scores_.Count; i++) { for (int j = i+1; j < high_scores_.Count; j++) { if (high_scores_[j] > high_scores_[i]) { int aux1 = high_scores_[i]; string aux2 = high_scores_initials_[i]; high_scores_[i] = high_scores_[j]; high_scores_initials_[i] = high_scores_initials_[j]; high_scores_[j] = aux1; high_scores_initials_[j] = aux2; } } } for (int i = 0; i < num_letters_; i++) { Destroy(gui_letters_[i]); } CancelInvoke("BlinkLetter"); current_state_ = HIGH_SCORES_STATE.SCORES_DISPLAY; } }
public void OnInitialsInput() { if (Input.GetKeyDown(KeyCode.RightArrow)) { for (int i = 0; i < num_letters_; i++) { gui_letters_[i].GetComponent <GUIText>().enabled = true; } letter_index_++; if (letter_index_ >= num_letters_) { letter_index_ = num_letters_ - 1; } } if (Input.GetKeyDown(KeyCode.LeftArrow)) { for (int i = 0; i < num_letters_; i++) { gui_letters_[i].GetComponent <GUIText>().enabled = true; } letter_index_--; if (letter_index_ < 0) { letter_index_ = 0; } } if (Input.GetKeyDown(KeyCode.UpArrow)) { letters_[letter_index_]++; if (letters_[letter_index_] > 90) { letters_[letter_index_] = (char)65; } gui_letters_[letter_index_].GetComponent <GUIText>().text = letters_[letter_index_].ToString(); } if (Input.GetKeyDown(KeyCode.DownArrow)) { letters_[letter_index_]--; if (letters_[letter_index_] < 65) { letters_[letter_index_] = (char)90; } gui_letters_[letter_index_].GetComponent <GUIText>().text = letters_[letter_index_].ToString(); } if (Input.GetKeyDown(KeyCode.Space)) { string initials = new string(letters_.ToArray()); if (high_scores_.Count == max_num_scores_) { high_scores_.RemoveAt(max_num_scores_ - 1); high_scores_initials_.RemoveAt(max_num_scores_ - 1); } high_scores_initials_.Add(initials); high_scores_.Add(current_score_); //Lazy sort, but since the max number of scores is only 10, no problem... :p for (int i = 0; i < high_scores_.Count; i++) { for (int j = i + 1; j < high_scores_.Count; j++) { if (high_scores_[j] > high_scores_[i]) { int aux1 = high_scores_[i]; string aux2 = high_scores_initials_[i]; high_scores_[i] = high_scores_[j]; high_scores_initials_[i] = high_scores_initials_[j]; high_scores_[j] = aux1; high_scores_initials_[j] = aux2; } } } for (int i = 0; i < num_letters_; i++) { Destroy(gui_letters_[i]); } CancelInvoke("BlinkLetter"); current_state_ = HIGH_SCORES_STATE.SCORES_DISPLAY; } }