CaseOpener

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

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

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

Описание

Этот класс управляет открытием кейсов.

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

Примечание

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

Настройки рулетки

private int generateWeaponsCount
Значение:50

Количество оружий, которое будет создано в рулетке.

private float defaultRouletteSpeed

Стартовая скорость рулетки.

private Vector2 rouletteSlowdownRange
Значение:new Vector2(4, 6)

Диапозон скорости торможения рулетки.

  • x - минимальное значение торможения.
  • y - максимальное значение торможения.

Объекты

private GameObject caseOpenerPanel

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

private GameObject weaponPreviewPrefab

Ссылка на превью префаб оружия, которое показывается в списке, при выборе кейса.

private GameObject rouletteWeaponPrefab

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

private Transform rouletteWeaponsContent

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

private Transform weaponsPreviewContent

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

private Transform centerLineTransform

Ссылка на Transform компонент объекта, который является центральной линией в рулетке.

private Button openCaseBtn

Ссылка на UI Button, который служит кнопкой для открытия кейса.

private Text openCaseBtnText

Ссылка на UI Text, для текста на кнопке открытия кейса.

private Button backBtn

Ссылка на UI Button, которая служит кнопкой возвращения к прошлой панели.

private GameObject dropPanel

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

private Image dropImg

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

private Text dropTitle

Ссылка на UI Text, для текста в заголовке панели выпадения оружия.

private Text dropCostText

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


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

public void ShowOpenerPanel(int caseId)

Показать панель открытия кейса, идентификатор которого указан в параметрах.

Предупреждение

При указании несуществующего идентификатора, вы получите ошибку.

caseId:Порядковый идентификатор кейса.
public void CloseOpenerPanel()

Закрыть панель открытия кейса.

public void OpenCase()

Открыть выбранный кейс.

Внимание

Если кейсы покупаются за игровую валюту, то при её нехватке появится уведомление.

public void SellDrop()

Продать оружие, которое выпало из кейса.

public void TakeDrop()

Забрать оружие, которое выпало из кейса.


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

Внимание

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

private void Clear()

Очистить рулетку и превью оружий.

private void GenerateCasePreviews()

Сгенерировать превью оружий.

private void FillRoulette()

Заполнить рулетку оружиями.

private int GetRandomRarity(List<float> chances)

Возвращает случайную редкость оружия.

chances:Шансы выпадения редкостей
private void ShowDrop(Weapon weapon)

Показать оружие, которое выпало из кейса.

weapon:Экземпляр оружия, которое выпало.