@yraiv

Как правильно сделать систему уровней с разными характеристиками?

Если коротко, то у меня есть игра и в ней есть кнопка, которая содержит в себе кнопку и 2 текста.
1 главная кнопка - в ней содержатся 3 элемента в порядке - кнопка, текст лвл, текст стоимость
Мне необходимо, чтоб я мог копировать первую главную кнопку и менять в ней картинку и характеристики, которая она делает. Например, первое улучшение стоит n-ое количество денег и за него даётся 1 уровень улучшения.
Потом я должен сделать вторую кнопку, в которой я могу указать уже другое количество денег и мне нужно, чтоб эти две кнопки не взаимодействовали между собой. Вот скрипт
using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class LoadMoney : MonoBehaviour
{

    public int money; // деньги
    public int cost; // стоимость 
    public int bonus; // основной бонус 
    public int dopbonus; // доп бонус
    public int lvl; // уровень



    void Start()
    {
        Load();
        LoadLvl();
        LoadCost();// 
        LoadBonus();
        
    }


    public void Load() // получил доступ к деньгам
    {

        string key = "MyChet";
        this.money = PlayerPrefs.GetInt(key); 

    }
    

    public void LoadBonus () // получил доступ к бонусу

    {

        string key = "bonus";
        this.bonus = PlayerPrefs.GetInt(key);

    }



    public void LoadLvl() // загрузка уровня 
    {


        string key = "lvl";
        this.lvl = PlayerPrefs.GetInt(key); 


    }



    public void LoadCost() // загрузка стоимости
    {
        string key = "cost";
        this.cost = PlayerPrefs.GetInt(key);

    }



    public void Save() // сохранение стоимости 
    {
        string key = "MyChet";
        PlayerPrefs.SetInt(key, money);
        PlayerPrefs.Save();
    }



    public void SaveLvl() // сохранение уровня
    {
        string key = "lvl";
        PlayerPrefs.SetInt(key, lvl);
        PlayerPrefs.Save();
    }


    public void SaveCost() // сохранение стоимости 
    {
        string key = "cost";
        PlayerPrefs.SetInt(key, cost);
        PlayerPrefs.Save();
    }


    public void SaveBonus() // сохранение бонуса
    {
        string key = "bonus";
        PlayerPrefs.SetInt(key, bonus);
        PlayerPrefs.Save();
    }





    public void BuyUp() // покупка улучшений
    {

       if (money >= cost)
        {
            money = money - cost;
            bonus = bonus + dopbonus;
            lvl = lvl + 1;
            cost = cost + 5;
            Save();
            SaveLvl();
            SaveCost();
            SaveBonus();
            
            
        }
    }




}
  • Вопрос задан
  • 71 просмотр
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы