78 lines
3.2 KiB
C#
78 lines
3.2 KiB
C#
using System.Collections;
|
||
using System.Collections.Generic;
|
||
using System.Text;
|
||
using TMPro;
|
||
using UnityEngine;
|
||
|
||
public class DifficultyView : MonoBehaviour
|
||
{
|
||
public TextMeshProUGUI label;
|
||
StringBuilder sb;
|
||
private void OnEnable()
|
||
{
|
||
SettingsManager.OnSettingsChanged.AddListener(RefreshView);
|
||
ComWrapper.onCoinAdded.AddListener(RefreshView);
|
||
sb = new StringBuilder();
|
||
RefreshView();
|
||
}
|
||
private void OnDisable()
|
||
{
|
||
SettingsManager.OnSettingsChanged.RemoveListener(RefreshView);
|
||
ComWrapper.onCoinAdded.RemoveListener(RefreshView);
|
||
}
|
||
|
||
private void RefreshView()
|
||
{
|
||
sb.Clear();
|
||
string difficultyType = SettingsManager.GetString("BaseBotDifficulty", "Обычная");
|
||
switch (difficultyType)
|
||
{
|
||
case "Обычная":
|
||
SetNormalDificultyView(); break;
|
||
case "Повышенная":
|
||
SetUpgradedDificultyView(); break;
|
||
case "Фиксированная":
|
||
SetFixedDificultyView(); break;
|
||
}
|
||
|
||
}
|
||
private void RefreshView(int newCount) => RefreshView();
|
||
|
||
|
||
private void SetNormalDificultyView()
|
||
{
|
||
sb.AppendLine("-<color=green>Обычная</color>. ");
|
||
sb.AppendLine("-После победы над боссом сложность станет <color=red>повышенной</color>. ");
|
||
sb.AppendLine($"-Текущая сложность ботов: {SettingsManager.GetString("Difficulty", "?")}.");
|
||
sb.AppendLine("-Сейчас босс ходит вторым, что повышает шанс игрока на победу.");
|
||
|
||
label.text = sb.ToString();
|
||
|
||
}
|
||
private void SetUpgradedDificultyView()
|
||
{
|
||
int pulses = PlayerPrefs.GetInt("PulsesCounter", 0);
|
||
int pulsesToReset = PlayerPrefs.GetInt("PulsesToResetDifficulty", 0);
|
||
|
||
sb.AppendLine("-<color=red>Повышенная</color>. ");
|
||
sb.AppendLine($"-Счетчик импульсов: {pulses}/{pulsesToReset}. ");
|
||
sb.AppendLine($"-Текущая сложность ботов: Сложная.");
|
||
sb.AppendLine($"-Сложность <color=green>понизится</color> через: {pulsesToReset - pulses} импульсов. ");
|
||
sb.AppendLine("-Сейчас босс ходит первым, что понижает шанс игрока на победу.");
|
||
|
||
label.text = sb.ToString();
|
||
|
||
|
||
///ТУТ НАДО БРАТЬ МАКСИМАЛЬНУЮ НАПРИМЕР ИЗ МЕНЕДЖЕРА СЛОЖНОСТЕЙ
|
||
}
|
||
private void SetFixedDificultyView()
|
||
{
|
||
sb.AppendLine("-<color=orange>Фиксированная</color>. ");
|
||
sb.AppendLine($"-Текущая сложность ботов: {SettingsManager.GetString("Difficulty", "?")}.");
|
||
sb.AppendLine("-Сложность берется из настройки <color=lightblue>\"Сложность ботов\" и не меняется в зависимости от монет и счетчика импульсов.");
|
||
sb.AppendLine("-Босс ходит первым.");
|
||
|
||
label.text = sb.ToString();
|
||
}
|
||
}
|