Начнём с того, как вспомним прошлую статью, а если быть конкретнее - описание скрипта "SitySc"(Так будет называться наш скрипт управления городами). И так, пишем замечательный код: в нём будут храниться 4 переменные(Name, Pass, Fuel, Cargo). И методы: PassGive(даёт 1 пассажира для перевозки), FuelGive(даёт топливо(5) в обмен на деньги(10)), CargoGive(даёт груз для перевозки(1)), RemovePass(забирает пассажира и даёт деньги(4, если нет груза)), RemoveCargo(тоже что и RemovePass, но с грузом) и FindGameObjects(определяет кнопки для скрипта).
Activ, RemovePassB, data - служебные переменные,
SityMenu - меню городов(оно общее),
Name - название города, рандомно определяется в старте(если не установлено пользователем),
Pass - кол-во пассажиров для перевозки, рандомно определяется в старте, в будущем, с помощью отдельного скрипта, будет обновляться(рандомно определяться),
Fuel - кол-во топлива в городе, в остального тоже что и Pass,
Cargo - кол-во груза для перевозки, в остального тоже что и Pass,
NameT, CountPass, CountFuel, CountCargo, GoldenCount - визуальное отображение Name, Pass, Fuel и Cargo,
AddPass, AddFuel, AddCargo, RemPass - кнопки в меню(ищутся в старте).
Теперь, пора настроить это в Unity: привязать что и куда надо. А для этого создаём город, накладывает скрипт, коллайдер и тег "Sity":
Отлично! После настройки города можно приступать к самому главному: вычисления траты топлива. Для этого уйдём в наш самый старый скрипт "Data", а нём добавим несколько строчек кода, хорошо что раньше мы уже "прошили" код всем необходимым.
FuelStep - количество топлива нужное для перехода на другую клетку.
WarningRemCargo - текст показывающийся при слишком большом весе(например: вес - 10, а топлива всего - 5, а чтобы перейти на соседнюю клетку надо сразу потратить 21 единицу топлива. Переход невозможен и текст активируется). Кстати в городе ты не можешь перегрузить себя.
3-4 кадр скрипт "Move" (обновлённый).
Ну а на сегодня всё, движение мы обновили, сделали города(с покупками и продажами) и просто повеселились.