Форум программистов, компьютерный форум, киберфорум
Unity, Unity3D
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.56/9: Рейтинг темы: голосов - 9, средняя оценка - 4.56
0 / 0 / 0
Регистрация: 31.10.2021
Сообщений: 3

Перезагрузка игры

31.10.2021, 19:04. Показов 1922. Ответов 5

Студворк — интернет-сервис помощи студентам
Добрый вечер! Я криворукий макак, который решил заняться разработкой игр.
Прошу помогите. Делаю кликер и хочу что бы при определенном количестве очков, игра рестартнулась полностью. Помогите сделать о великие программисты! Код прикрепил, надеюсь поможете
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
using UnityEngine;
using UnityEngine.UI;
using System.Collections.Generic;
using System.Collections;
using System;
 
public class Game : MonoBehaviour
{
    [Header("Текст, отвечающий за отображение денег")]
    public Text scoreText;
    [Header("Магазин")]
    public List<Item> shopItems = new List<Item>();
    [Header("Текст на кнопках товаров")]
    public Text[] shopItemsText;
    [Header("Кнопки товаров")]
    public Button[] shopBttns;
    [Header("Панелька магазина")]
    public GameObject shopPan;
    public GameObject clickParent, clickTextPrefab;
 
    private int score; //Игровая валюта
    private int scoreIncrease = 1; //Бонус при клике
    private Save sv = new Save();
    private int clickNum;
    private ClickObj[] clickTextPool = new ClickObj[15];
    private void Awake()
    {
        if (PlayerPrefs.HasKey("SV"))
        {
            int totalBonusPS = 0;
            sv = JsonUtility.FromJson<Save>(PlayerPrefs.GetString("SV"));
            score = sv.score;
            for (int i = 0; i < shopItems.Count; i++)
            {
                shopItems[i].levelOfItem = sv.levelOfItem[i];
                shopItems[i].bonusCounter = sv.bonusCounter[i];
                if (shopItems[i].needCostMultiplier) shopItems[i].cost *= (int)Mathf.Pow(shopItems[i].costMultiplier, shopItems[i].levelOfItem);
                if (shopItems[i].bonusIncrease != 0 && shopItems[i].levelOfItem != 0) scoreIncrease += (int)Mathf.Pow(shopItems[i].bonusIncrease, shopItems[i].levelOfItem);
                totalBonusPS += shopItems[i].bonusPerSec * shopItems[i].bonusCounter;
            }
            DateTime dt = new DateTime(sv.date[0], sv.date[1], sv.date[2], sv.date[3], sv.date[4], sv.date[5]);
            TimeSpan ts = DateTime.Now - dt;
            int offlineBonus = (int)ts.TotalSeconds * totalBonusPS;
            score += offlineBonus;
            print("Вы отсутствовали: " + ts.Days + "Д. " + ts.Hours + "Ч. " + ts.Minutes + "М. " + ts.Seconds + "S.");
            print("Ваши рабочие заработали: " + offlineBonus + "");
          
        }
      for(int i=0; i< clickTextPool.Length;i++)
        {
            clickTextPool[i] = Instantiate(clickTextPrefab,clickParent.transform).GetComponent<ClickObj>();
            clickTextPool[0].StartMotion(5);
        }
    }
 
    private void Start()
    {
        updateCosts(); //Обновить текст с ценами
        StartCoroutine(BonusPerSec()); //Запустить просчёт бонуса в секунду
    }
 
    private void Update()
    {
        scoreText.text = score + ""; //Отображаем деньги
      
    }
    private void OnCicked(float value)
    {
        clickTextPool[clickNum].StartMotion((int)value);
        clickNum = clickNum == clickTextPool.Length - 1? 0 : clickNum + 1;
    }    
 
    public void BuyBttn(int index) //Метод при нажатии на кнопку покупки товара (индекс товара)
    {
        int cost = shopItems[index].cost * shopItems[shopItems[index].itemIndex].bonusCounter; //Рассчитываем цену в зависимости от кол-ва рабочих (к примеру)
        if (shopItems[index].itsBonus && score >= cost) //Если товар нажатой кнопки - это бонус, и денег >= цены(е)
        {
            if (cost > 0) // Если цена больше чем 0, то:
            {
                score -= cost; // Вычитаем цену из денег
                StartCoroutine(BonusTimer(shopItems[index].timeOfBonus, index)); //Запускаем бонусный таймер
            }
            else print("Нечего улучшать то!"); // Иначе выводим в консоль текст.
        }
        else if (score >= shopItems[index].cost) // Иначе, если товар нажатой кнопки - это не бонус, и денег >= цена
        {
            if (shopItems[index].itsItemPerSec) shopItems[index].bonusCounter++; // Если нанимаем рабочего (к примеру), то прибавляем кол-во рабочих
            else scoreIncrease += shopItems[index].bonusIncrease; // Иначе бонусу при клике добавляем бонус товара
            score -= shopItems[index].cost; // Вычитаем цену из денег
            if (shopItems[index].needCostMultiplier) shopItems[index].cost *= shopItems[index].costMultiplier; // Если товару нужно умножить цену, то умножаем на множитель
            shopItems[index].levelOfItem++; // Поднимаем уровень предмета на 1
        }
        else print("Не хватает денег!"); // Иначе если 2 проверки равны false, то выводим в консоль текст.
        updateCosts(); //Обновить текст с ценами
    }
    private void updateCosts() // Метод для обновления текста с ценами
    {
        for (int i = 0; i < shopItems.Count; i++) // Цикл выполняется, пока переменная i < кол-ва товаров
        {
            if (shopItems[i].itsBonus) // Если товар является бонусом, то:
            {
                int cost = shopItems[i].cost * shopItems[shopItems[i].itemIndex].bonusCounter; // Рассчитываем цену в зависимости от кол-ва рабочих (к примеру)
                shopItemsText[i].text = shopItems[i].name + "\n" + cost + "$"; // Обновляем текст кнопки с рассчитанной ценой
            }
            else shopItemsText[i].text = shopItems[i].name + "\n" + shopItems[i].cost + ""; // Иначе если товар не является бонусом, то обновляем текст кнопки с обычной ценой
        }
    }
 
    IEnumerator BonusPerSec() // Бонус в секунду
    {
        while (true) // Бесконечный цикл
        {
            for (int i = 0; i < shopItems.Count; i++) score += (shopItems[i].bonusCounter * shopItems[i].bonusPerSec); // Добавляем к игровой валюте бонус рабочих (к примеру)
            yield return new WaitForSeconds(1); // Делаем задержку в 1 секунду
        }
    }
    IEnumerator BonusTimer(float time, int index) // Бонусный таймер (длительность бонуса (в сек.),индекс товара)
    {
        shopBttns[index].interactable = false; // Выключаем кликабельность кнопки бонуса
        shopItems[shopItems[index].itemIndex].bonusPerSec *= 2; // Удваиваем бонус рабочих в секунду (к примеру)
        yield return new WaitForSeconds(time); // Делаем задержку на столько секунд, сколько указали в параметре
        shopItems[shopItems[index].itemIndex].bonusPerSec /= 2; // Возвращаем бонус в нормальное состояние
        shopBttns[index].interactable = true; // Включаем кликабельность кнопки бонуса
    }
#if UNITY_ANDROID && !UNITY_EDITOR
    private void OnApplicationPause(bool pause)
    {
        if (pause)
        {
            sv.score = score;
            sv.levelOfItem = new int[shopItems.Count];
            sv.bonusCounter = new int[shopItems.Count];
            for (int i = 0; i < shopItems.Count; i++)
            {
                sv.levelOfItem[i] = shopItems[i].levelOfItem;
                sv.bonusCounter[i] = shopItems[i].bonusCounter;
            }
            sv.date[0] = DateTime.Now.Year; sv.date[1] = DateTime.Now.Month; sv.date[2] = DateTime.Now.Day; sv.date[3] = DateTime.Now.Hour; sv.date[4] = DateTime.Now.Minute; sv.date[5] = DateTime.Now.Second;
            PlayerPrefs.SetString("SV", JsonUtility.ToJson(sv));
        }
    }
#else
    private void OnApplicationQuit()
    {
        sv.score = score;
        sv.levelOfItem = new int[shopItems.Count];
        sv.bonusCounter = new int[shopItems.Count];
        for (int i = 0; i < shopItems.Count; i++)
        {
            sv.levelOfItem[i] = shopItems[i].levelOfItem;
            sv.bonusCounter[i] = shopItems[i].bonusCounter;
        }
        sv.date[0] = DateTime.Now.Year; sv.date[1] = DateTime.Now.Month; sv.date[2] = DateTime.Now.Day; sv.date[3] = DateTime.Now.Hour; sv.date[4] = DateTime.Now.Minute; sv.date[5] = DateTime.Now.Second;
        PlayerPrefs.SetString("SV", JsonUtility.ToJson(sv));
    }
#endif
 
    public void showShopPan() // Рассказывал в уроке #2
    {
        shopPan.SetActive(!shopPan.activeSelf); // Рассказывал в уроке #2
    }
 
    public void OnClick() // Рассказывал в уроке #1
    {
        score += scoreIncrease; // К игровой валюте прибавляем бонус при клике
       
    }
 
}
[Serializable]
public class Item // Класс товара
{
    [Tooltip("Название используется на кнопках")]
    public string name;
    [Tooltip("Цена товара")]
    public int cost;
    [Tooltip("Бонус, который добавляется к бонусу при клике")]
    public int bonusIncrease;
    [HideInInspector]
    public int levelOfItem; // Уровень товара
    [Space]
    [Tooltip("Нужен ли множитель для цены?")]
    public bool needCostMultiplier;
    [Tooltip("Множитель для цены")]
    public int costMultiplier;
    [Space]
    [Tooltip("Этот товар даёт бонус в секунду?")]
    public bool itsItemPerSec;
    [Tooltip("Бонус, который даётся в секунду")]
    public int bonusPerSec;
    [HideInInspector]
    public int bonusCounter; // Кол-во рабочих (к примеру)
    [Space]
    [Tooltip("Это временный бонус?")]
    public bool itsBonus;
    [Tooltip("Множитель товара, который управляется бонусом (Умножается переменная bonusPerSec)")]
    public int itemMultiplier;
    [Tooltip("Индекс товара, который будет управляться бонусом (Умножается переменная bonusPerSec этого товара)")]
    public int itemIndex;
    [Tooltip("Длительность бонуса")]
    public float timeOfBonus;
}
[Serializable]
public class Save
{
    public int score;
    public int[] levelOfItem;
    public int[] bonusCounter;
    public int[] date = new int[6];
}
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
31.10.2021, 19:04
Ответы с готовыми решениями:

Перезагрузка Пк от тяжелой игры!
Добрый день, Недавно был собран компьютер! Конфигурация, Мать - Gigabyte Z390 aorus ultra Процессор -Intel core i 7...

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

перезагрузка во время игры
Приветствую. Проблема такая, при первом запуске GTA Online, зависает и перезагружается система. Причем оно может быть как через 5 минут,...

5
31 / 22 / 11
Регистрация: 15.08.2019
Сообщений: 125
31.10.2021, 21:52
Что значит игра рестартнулась полностью, чтобы приложение закрылось, а потом само по себе запустились заново или нужно именно уровень перезапустить?
0
0 / 0 / 0
Регистрация: 31.10.2021
Сообщений: 3
31.10.2021, 22:13  [ТС]
Именно что-бы перезагрузилась полностью. Как-бы дошел к примеру до 7лямов очков и вылезло окно
"Молодец, начинай заново" и все заново)
0
19 / 12 / 7
Регистрация: 06.12.2019
Сообщений: 181
31.10.2021, 22:59
Цитата Сообщение от De_Large666 Посмотреть сообщение
дошел к примеру до 7лямов очков и вылезло окно
"Молодец, начинай заново
эм зачем игру рестартать? если можно сделать условие если очки > или равно 7 лямов то вылазит окошко с поздравлением и кнопкой рестарта тыкнув на которую чёт сбрасывается а сама сцена перезапускается. Всё
Вот код если нужно
C#
1
2
3
4
5
6
7
8
9
10
11
public GameObject ScreenPozd;
public void Start(){
ScreenPozd.SetActive(false);
}
public void Update(){
if(score >= 7000000){
ScreenPozd.SetActive(true);
//сбрасывание очков или чё вам надо
}
 
}
0
0 / 0 / 0
Регистрация: 31.10.2021
Сообщений: 3
31.10.2021, 23:34  [ТС]
Хех, сам не знаю, такое задание на самом деле. Игра - курсовая для шараги. Спасибо большое

Добавлено через 21 минуту
Извини, я не очень понимаю куда сувать его. Сую в код"прикрепленный в посте" не работает, создаю отдельный скрипт - выделяет score ошибкой. Не объяснишь?
0
19 / 12 / 7
Регистрация: 06.12.2019
Сообщений: 181
01.11.2021, 00:43
Братан, давай я завтра тебе в тот код что выше влеплю и сюда скину, а то сейчас не на пк.

Добавлено через 9 минут
Ладно, не дождался я сам, в общем вот код импортирован в твой код, Но к нему тебе ещё нужно создать этот Экран победы, просто в канвасе сделай панель, на панели разместить текст и кнопку, для кнопки сделай действие которое будет рестартить игру и если надо то сбрасывать счётчик. Как рестартнуть уровень (сцену) просто вбей в гугле SceneManagment unity и чекни доки. делов на 5 минут.
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
using UnityEngine;
using UnityEngine.UI;
using System.Collections.Generic;
using System.Collections;
using System;
 
public class Game : MonoBehaviour
{
    [Header("Текст, отвечающий за отображение денег")]
    public Text scoreText;
    [Header("Магазин")]
    public List<Item> shopItems = new List<Item>();
    [Header("Текст на кнопках товаров")]
    public Text[] shopItemsText;
    [Header("Кнопки товаров")]
    public Button[] shopBttns;
    [Header("Панелька магазина")]
    public GameObject shopPan;
    public GameObject clickParent, clickTextPrefab;  
    public GameObject ScreenWin;//экран победы
 
    private int score; //Игровая валюта
    private int scoreIncrease = 1; //Бонус при клике
    private Save sv = new Save();
    private int clickNum;
    private ClickObj[] clickTextPool = new ClickObj[15];
    private void Awake()
    {
        if (PlayerPrefs.HasKey("SV"))
        {
            int totalBonusPS = 0;
            sv = JsonUtility.FromJson<Save>(PlayerPrefs.GetString("SV"));
            score = sv.score;
            for (int i = 0; i < shopItems.Count; i++)
            {
                shopItems[i].levelOfItem = sv.levelOfItem[i];
                shopItems[i].bonusCounter = sv.bonusCounter[i];
                if (shopItems[i].needCostMultiplier) shopItems[i].cost *= (int)Mathf.Pow(shopItems[i].costMultiplier, shopItems[i].levelOfItem);
                if (shopItems[i].bonusIncrease != 0 && shopItems[i].levelOfItem != 0) scoreIncrease += (int)Mathf.Pow(shopItems[i].bonusIncrease, shopItems[i].levelOfItem);
                totalBonusPS += shopItems[i].bonusPerSec * shopItems[i].bonusCounter;
            }
            DateTime dt = new DateTime(sv.date[0], sv.date[1], sv.date[2], sv.date[3], sv.date[4], sv.date[5]);
            TimeSpan ts = DateTime.Now - dt;
            int offlineBonus = (int)ts.TotalSeconds * totalBonusPS;
            score += offlineBonus;
            print("Вы отсутствовали: " + ts.Days + "Д. " + ts.Hours + "Ч. " + ts.Minutes + "М. " + ts.Seconds + "S.");
            print("Ваши рабочие заработали: " + offlineBonus + "");
          
        }
      for(int i=0; i< clickTextPool.Length;i++)
        {
            clickTextPool[i] = Instantiate(clickTextPrefab,clickParent.transform).GetComponent<ClickObj>();
            clickTextPool[0].StartMotion(5);
        }
    }
 
    private void Start()
    {
        ScreenWin.SetActive(false);
        updateCosts(); //Обновить текст с ценами
        StartCoroutine(BonusPerSec()); //Запустить просчёт бонуса в секунду
    }
 
    private void Update()
    {
        scoreText.text = score + ""; //Отображаем деньги
        If(score >= 7000000){//если рекорд больше или равен 7млн
               ScreenWin.SetActive(true);//активирует экран победы
        }
      
    }
    private void OnCicked(float value)
    {
        clickTextPool[clickNum].StartMotion((int)value);
        clickNum = clickNum == clickTextPool.Length - 1? 0 : clickNum + 1;
    }    
 
    public void BuyBttn(int index) //Метод при нажатии на кнопку покупки товара (индекс товара)
    {
        int cost = shopItems[index].cost * shopItems[shopItems[index].itemIndex].bonusCounter; //Рассчитываем цену в зависимости от кол-ва рабочих (к примеру)
        if (shopItems[index].itsBonus && score >= cost) //Если товар нажатой кнопки - это бонус, и денег >= цены(е)
        {
            if (cost > 0) // Если цена больше чем 0, то:
            {
                score -= cost; // Вычитаем цену из денег
                StartCoroutine(BonusTimer(shopItems[index].timeOfBonus, index)); //Запускаем бонусный таймер
            }
            else print("Нечего улучшать то!"); // Иначе выводим в консоль текст.
        }
        else if (score >= shopItems[index].cost) // Иначе, если товар нажатой кнопки - это не бонус, и денег >= цена
        {
            if (shopItems[index].itsItemPerSec) shopItems[index].bonusCounter++; // Если нанимаем рабочего (к примеру), то прибавляем кол-во рабочих
            else scoreIncrease += shopItems[index].bonusIncrease; // Иначе бонусу при клике добавляем бонус товара
            score -= shopItems[index].cost; // Вычитаем цену из денег
            if (shopItems[index].needCostMultiplier) shopItems[index].cost *= shopItems[index].costMultiplier; // Если товару нужно умножить цену, то умножаем на множитель
            shopItems[index].levelOfItem++; // Поднимаем уровень предмета на 1
        }
        else print("Не хватает денег!"); // Иначе если 2 проверки равны false, то выводим в консоль текст.
        updateCosts(); //Обновить текст с ценами
    }
    private void updateCosts() // Метод для обновления текста с ценами
    {
        for (int i = 0; i < shopItems.Count; i++) // Цикл выполняется, пока переменная i < кол-ва товаров
        {
            if (shopItems[i].itsBonus) // Если товар является бонусом, то:
            {
                int cost = shopItems[i].cost * shopItems[shopItems[i].itemIndex].bonusCounter; // Рассчитываем цену в зависимости от кол-ва рабочих (к примеру)
                shopItemsText[i].text = shopItems[i].name + "\n" + cost + "$"; // Обновляем текст кнопки с рассчитанной ценой
            }
            else shopItemsText[i].text = shopItems[i].name + "\n" + shopItems[i].cost + ""; // Иначе если товар не является бонусом, то обновляем текст кнопки с обычной ценой
        }
    }
 
    IEnumerator BonusPerSec() // Бонус в секунду
    {
        while (true) // Бесконечный цикл
        {
            for (int i = 0; i < shopItems.Count; i++) score += (shopItems[i].bonusCounter * shopItems[i].bonusPerSec); // Добавляем к игровой валюте бонус рабочих (к примеру)
            yield return new WaitForSeconds(1); // Делаем задержку в 1 секунду
        }
    }
    IEnumerator BonusTimer(float time, int index) // Бонусный таймер (длительность бонуса (в сек.),индекс товара)
    {
        shopBttns[index].interactable = false; // Выключаем кликабельность кнопки бонуса
        shopItems[shopItems[index].itemIndex].bonusPerSec *= 2; // Удваиваем бонус рабочих в секунду (к примеру)
        yield return new WaitForSeconds(time); // Делаем задержку на столько секунд, сколько указали в параметре
        shopItems[shopItems[index].itemIndex].bonusPerSec /= 2; // Возвращаем бонус в нормальное состояние
        shopBttns[index].interactable = true; // Включаем кликабельность кнопки бонуса
    }
#if UNITY_ANDROID && !UNITY_EDITOR
    private void OnApplicationPause(bool pause)
    {
        if (pause)
        {
            sv.score = score;
            sv.levelOfItem = new int[shopItems.Count];
            sv.bonusCounter = new int[shopItems.Count];
            for (int i = 0; i < shopItems.Count; i++)
            {
                sv.levelOfItem[i] = shopItems[i].levelOfItem;
                sv.bonusCounter[i] = shopItems[i].bonusCounter;
            }
            sv.date[0] = DateTime.Now.Year; sv.date[1] = DateTime.Now.Month; sv.date[2] = DateTime.Now.Day; sv.date[3] = DateTime.Now.Hour; sv.date[4] = DateTime.Now.Minute; sv.date[5] = DateTime.Now.Second;
            PlayerPrefs.SetString("SV", JsonUtility.ToJson(sv));
        }
    }
#else
    private void OnApplicationQuit()
    {
        sv.score = score;
        sv.levelOfItem = new int[shopItems.Count];
        sv.bonusCounter = new int[shopItems.Count];
        for (int i = 0; i < shopItems.Count; i++)
        {
            sv.levelOfItem[i] = shopItems[i].levelOfItem;
            sv.bonusCounter[i] = shopItems[i].bonusCounter;
        }
        sv.date[0] = DateTime.Now.Year; sv.date[1] = DateTime.Now.Month; sv.date[2] = DateTime.Now.Day; sv.date[3] = DateTime.Now.Hour; sv.date[4] = DateTime.Now.Minute; sv.date[5] = DateTime.Now.Second;
        PlayerPrefs.SetString("SV", JsonUtility.ToJson(sv));
    }
#endif
 
    public void showShopPan() // Рассказывал в уроке #2
    {
        shopPan.SetActive(!shopPan.activeSelf); // Рассказывал в уроке #2
    }
 
    public void OnClick() // Рассказывал в уроке #1
    {
        score += scoreIncrease; // К игровой валюте прибавляем бонус при клике
       
    }
 
}
[Serializable]
public class Item // Класс товара
{
    [Tooltip("Название используется на кнопках")]
    public string name;
    [Tooltip("Цена товара")]
    public int cost;
    [Tooltip("Бонус, который добавляется к бонусу при клике")]
    public int bonusIncrease;
    [HideInInspector]
    public int levelOfItem; // Уровень товара
    [Space]
    [Tooltip("Нужен ли множитель для цены?")]
    public bool needCostMultiplier;
    [Tooltip("Множитель для цены")]
    public int costMultiplier;
    [Space]
    [Tooltip("Этот товар даёт бонус в секунду?")]
    public bool itsItemPerSec;
    [Tooltip("Бонус, который даётся в секунду")]
    public int bonusPerSec;
    [HideInInspector]
    public int bonusCounter; // Кол-во рабочих (к примеру)
    [Space]
    [Tooltip("Это временный бонус?")]
    public bool itsBonus;
    [Tooltip("Множитель товара, который управляется бонусом (Умножается переменная bonusPerSec)")]
    public int itemMultiplier;
    [Tooltip("Индекс товара, который будет управляться бонусом (Умножается переменная bonusPerSec этого товара)")]
    public int itemIndex;
    [Tooltip("Длительность бонуса")]
    public float timeOfBonus;
}
[Serializable]
public class Save
{
    public int score;
    public int[] levelOfItem;
    public int[] bonusCounter;
    public int[] date = new int[6];
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
01.11.2021, 00:43
Помогаю со студенческими работами здесь

Перезагрузка во время игры
Здраствуйте, пишу сетап и ниже опишу проблему Мать: asrock FM2A68M-HD+ Проц: amd a8 6600 k Видео: rx550 4gb Оперативка: hyperx...

Рандомная перезагрузка во время игры
собственно сама проблема во время игры компьютер самостоятельно выключается, при этом при запуске материнки выходит надпись &quot;powere...

Перезагрузка компьютера во время игры
Здравствуйте. Тема не нова, но все же не очень понятно, что происходит. Ребут в игре через 1,5 - 2 минуты ( Dota 2). Также делался OCCT...

Выключение и перезагрузка ПК при загрузке игры
С недавнего времени появилась проблема. Комп работает до того момента, пока не загрузить игру. Происходит выключение ПК и перезагрузка без...

Перезагрузка компьютера при выходе из игры
Купил я новый монитор и странная вещь начала происходить. После выхода из игр , повторюсь когда выбираешь выйти на рабочий стол происходит...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Новые блоги и статьи
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
Programma_Boinc 28.12.2025
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост. Налог на собак: https:/ / **********/ gallery/ V06K53e Финансовый отчет в Excel: https:/ / **********/ gallery/ bKBkQFf Пост отсюда. . .
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США.
Programma_Boinc 26.12.2025
Нашел на реддите интересную статью под названием Anyone know where to get a free Desktop or Laptop? Ниже её машинный перевод. После долгих разбирательств я наконец-то вернула себе. . .
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка.
Programma_Boinc 23.12.2025
Рецензия / Мнение/ Перевод Нашел на реддите интересную статью под названием The Thinkpad X220 Tablet is the best budget school laptop period . Ниже её машинный перевод. Thinkpad X220 Tablet —. . .
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru