QuizManager

Пространство имён:AHG.QuizRedux
public class QuizManager : MonoBehaviour

Подключенные библиотеки:

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;

Описание

Этот класс является менеджером викторины.

Внимание

Этот объект является одиночкой.

Приватные сериализуемые поля

Примечание

Все сериализуемые значения изменяются в инспекторе.

private GameObject questionPanel

Ссылка на панель проведения викторины.

private GameObject questionImgObj;

Ссылка на объект, для вопроса с изображением.

private Text questionText

Ссылка на UI Text, который отображает текст вопроса.

private Text timerText

Ссылка на UI Text, который отображает время таймера.

private CanvasGroup answerBtnsGroup

Ссылка на канвас группу кнопок с вариантами ответов.

private Button[] answerBtns

Ссылки на UI Button, которые отвечают за выбор варианта ответа.

private Image questionImage

Ссылка на UI Image, который отображает изображение к вопросу.

private GameObject questionImageFullPanel

Ссылка на панель показа изображения в полном размере.

private Image questionImageFull

Ссылка на UI Image, который отображает изображение к вопросу в большем размере.

private Text questionImgText

Ссылка на UI Text, который отображает текст вопроса с изображением.

private Image answerPanelImg

Ссылка на UI Image панели показа состояния ответа.

private Text answerStateText

Ссылка на UI Text, который отображает тип ответа на вопрос.

private Image answerStateImage

Ссылка на UI Image, который отображает иконку правильности ответа.

private Text questionCounterText

Ссылка на UI Text, который отображает счётчик текущий вопрос/всего вопросов.

private Sprite[] answerStateIcons

Ссылки на спрайты иконок правильности ответов. Порядок иконок должен соответствовать порядку AnswerType.


Свойства и поля

public static QuizManager Instance { get; private set; }

Свойство для доступа к одиночному экземпляру менеджера из любого класса.


Публичные методы

public void Play(Category category)

Метод для старта игры с указанной категорией.

category:Категория для старта игры.
public void ToggleImageView(bool full)

Переключить показ изображения в большем размере.

  • true - Показать изображение в большем размере.
  • false - Вернуть изображение в прежнее состояние.
full:Показать изображение в большем размере?
public void SelectAnswer(int id)

Метод для выбора ответа.

id:Идентификатор ответа.

Приватные методы

Внимание

В документации перечисляется только список важных приватных методов. Описание остальных написано комментариями в коде проекта.

private void GenerateQuestions()

Метод для генерации нового списка вопросов.

private void ShowQuestion()

Показать случайный вопрос из списка.

private void TimeOver()

Метод, который вызывается при окончании времени.

Подсказка

По стандарту пустоват, так что можете добавлять свои дополнительные действия.

private void TimeOver()
{
    // Тут можно добавить действия при окончании времени.
    ResetQuiz();
}
private void WrongAnswer()

Метод, который вызывается при неправильном ответе.

Подсказка

По стандарту пустоват, так что можете добавлять свои дополнительные действия.

private void WrongAnswer()
{
    // Тут можно добавить действия при неправильном ответе.
    ResetQuiz();
}
private void CorrectAnswer()

Метод, который вызывается при правильном ответе.

Подсказка

По стандарту пустоват, так что можете добавлять свои дополнительные действия.

private void CorrectAnswer()
{
    // Тут можно добавить действия при правильном ответе.
    GameManager.Instance.PlayAnimation(ANIM_HIDE_ANSWER, 2);
    ShowQuestion();
}
private void ResetQuiz()

Восстановить викторину к начальному состоянию.

private void ToggleTimer(bool start)

Переключить таймер.

  • true - Запустить таймер.
  • false - Остановить таймер.
start:Запустить таймер?