Unity C#: как правильно делать магазин?

Приветствую, как грамотно сделать в моем случае архитектуру проекта?

1) Магазин: для каждого авто есть имя, моделька и цена.

2) Бензин: для каждого авто свой уровень бензина.

3) Прогресс уровней: сохраняю как цифру/число. На старте у меня цифра 1, если id сцены ниже, или = прогрессу - пускаю на уровень.
Добавляю прогресс так (чуство что что-то не так есть):
if (sceneIndex == levelsProgress)
{
levelsProgress++;
SaveOnlyLevelProgress();
}

P.S. Уровень знаний: новичок (на metanit почти 2 главу закончил + немного с курса Gamedev.tv (контроллер куба и косм. корабля(аркадный))).

55
1 комментарий

Разделяй реализацию и данные. Используй ScriptableObject для хранения информации об автомобилях. Бензин там же?

Можешь привязываться к id сцены, но тогда внимательно следи, чтобы они были в правильном порядке разложены у тебя. Я бы какую-нибудь ассоциацию более явную сделал внутри проекта и подтягивал бы ее по DI, но наверно это лишняя сложность для тебя сейчас.

2
Ответить