Декремент значения в PlayerPrefs в одной строке

Как сократить этот код до одной строки?

        health = PlayerPrefs.GetInt("Health");
        health--;
        PlayerPrefs.SetInt("Health", health);

Ответы (1 шт):

Автор решения: Максим Фисман

Не знаю, почему сразу посыпалось столько минусов. Формально, вопрос соответствует правилам сообщества.


Вариант, предложенный Алексеем Шиманским выдает у вас ошибку CS1059: Операндом оператора инкремента или декремента должна быть переменная, свойство или индексатор, потому что PlayerPrefs.GetInt(...) это не переменная, не свойство и не индексатор.

Вашу проблему должно решать это:

PlayerPrefs.SetInt("Health", PlayerPrefs.GetInt("Health") - 1);

Что на человеческий переводится как:

СохранитьЧисло("Health", ПолучитьЧисло("Health") - 1)

Аналогично инкремент:

PlayerPrefs.SetInt("Health", PlayerPrefs.GetInt("Health") + 1); // Просто меняем на +

И тому подобное.

→ Ссылка