С#, если оператор не выполняется единствоC#

Место общения программистов C#
Ответить
Anonymous
 С#, если оператор не выполняется единство

Сообщение Anonymous »

Я работаю над магазином, где пользователь может увеличить урон своего оружия, когда он нажимает на кнопку. Текущий урон отображается вместе с его деньгами, которые хранятся как «счет» в настройках игрока в редакторе. Я установил свои деньги или "оценка" должна быть 80, я хочу, чтобы это стоило 45 денег каждый раз, когда пользователь хочет увеличить урон на 5, это мой скрипт, но по какой-то причине он не работает
using UnityEngine;
using System.Collections;

public class IncreaseDamage : MonoBehaviour
{
private int damage;
private int math;
private float money;
private float math2;

void Update()
{
money = PlayerPrefs.GetFloat("score");
}

public void increaseDamage()
{
if(money >= 45)
{
damage = PlayerPrefs.GetInt("damage");
math = damage + 5;
PlayerPrefs.SetInt("damage",math);
math2 = money - 45;
PlayerPrefs.SetFloat("score",math2);
}
}
}

РЕДАКТИРОВАТЬ: я написал сценарии, которые проверяют кнопку, и она работает нормально, она перестала работать, как только я добавил оператор if.
другие важные сценарии
другие важные сценарии
EDIT: я создал сценарии, которые проверяют кнопку, и она работает нормально, она перестала работать, как только я добавил оператор if.
другие важные сценарии
Это значение показывает текущий урон игрока, оно прикреплено к UIText
using UnityEngine;
using System.Collections;
using UnityEngine.UI;
public class GetPlayerDamage : MonoBehaviour {
Text text;
private int damage;

void Awake(){
text = GetComponent();
}

void Update(){
damage = PlayerPrefs.GetInt("damage");
text.text = "Damage: " + damage;
}
}

это управляет счетом или деньгами (то же самое)
using UnityEngine;
using UnityEngine.UI;
using System.Collections;

public class ScoreManager : MonoBehaviour
{
public static int score;
Text text;

void Awake()
{
text = GetComponent();
score = PlayerPrefs.GetInt("score");
}

void Update ()
{
text.text = "Score: " + score;
PlayerPrefs.SetInt("score", score);
}
}

деньги отображаются в виде текстового сообщения для пользователя
using UnityEngine;
using System.Collections;
using UnityEngine.UI;
public class MoneyManager : MonoBehaviour {
public static int score;
Text text;

void Awake()
{
text = GetComponent();
}

void Update ()
{
text.text = "Money: " + PlayerPrefs.GetInt("score");
}
}


Подробнее здесь: https://stackoverflow.com/questions/346 ... uted-unity
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C#»