Как исправить вещи в моем магазине, оставаясь заблокированными до тех пор, пока не будут выполнены индивидуальные требования if-Statement? - PullRequest
0 голосов
/ 17 марта 2020

У меня уже есть выбор персонажа, но я не могу получить доступ к функции разблокировки магазина моей игры. Моя идея о том, как игрок может разблокировать персонажей, заключается в том, что есть невидимый игровой объект, который исчезнет, ​​как только игрок нажмет на него с достаточными средствами. Это позволит ему использовать персонажа, потому что он только что разблокировал его. Моя проблема в том, что обе мои текущие блокировки игровых объектов не могут взаимодействовать до тех пор, пока игрок не выполнит оба требования оператора if.

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

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

public class Locked : MonoBehaviour
{

    public static int totalScore;
    public Button locked;
    public Text totalscore;
    public GameObject gold;

    int wizNum;
    int snailNum;


    private void Start()
    {
        totalScore = PlayerPrefs.GetInt("TotalScore", 0);
        wizNum = PlayerPrefs.GetInt("WizNum", 0);
        snailNum = PlayerPrefs.GetInt("SnailNum", 0);

        if (wizNum == 1)
        {
            gold.gameObject.SetActive(false);
            locked.gameObject.SetActive(false);
        }

        if (snailNum == 1)
        {
            gold.gameObject.SetActive(false);
            locked.gameObject.SetActive(false);
        }


    }

    private void Update()
    {
        if (totalScore >= 500 && wizNum == 0)
            locked.interactable = true;
        else
            locked.interactable = false;

        if (totalScore >= 1500 && snailNum == 0)
            locked.interactable = true;
        else
            locked.interactable = false;
    }

    public void BuyWizard()
    {
        totalScore -= 500;
        PlayerPrefs.SetInt("TotalScore", totalScore);
        totalscore.text = PlayerPrefs.GetInt("TotalScore", 0).ToString();
        PlayerPrefs.SetInt("WizNum", 1);
        locked.gameObject.SetActive(false);
        gold.gameObject.SetActive(false);
    }

    public void BuySnail()
    {
        totalScore -= 1500;
        PlayerPrefs.SetInt("TotalScore", totalScore);
        totalscore.text = PlayerPrefs.GetInt("TotalScore", 0).ToString();
        PlayerPrefs.SetInt("SnailNum", 1);
        locked.gameObject.SetActive(false);
        gold.gameObject.SetActive(false);
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...