Re: Управление множеством временных событий
От: neFormal Россия  
Дата: 31.10.16 20:49
Оценка:
Здравствуйте, Ferma, Вы писали:

F>Вот взять к примеру известную игру Запорожье. Вы там сажаете растения, которые начинают сразу расти, но которые через N часов засохнут, кормите животных, которые проголодаются через M дней, строите всякие амбары и сараи, с которых можно снять прибыль через P часов. Как происходит синхронное управление множеством таких событий?


когда какому-то объекту выставляется задание, то объект переводится в другое состояние(это ещё нужно для того, чтобы выбрать нужную картинку/анимацию), и ему выставляется время, когда задание завершится. даже в случае многоэтапных заданий всё делается по той же схеме.
время считает не сервер, его считает клиент. он собирает все объекты с установленным временем, сортирует, и на ближайшее по времени событие выставляет таймер. когда таймер сработал, то выполняется действие, связанное с заданием(например, выдача дропа). можно сразу отправлять действие на сервер, можно накапливать их и отправлять пачками.
серверу остаётся только проверить, что действие можно выполнить в указанное время, и сохранить новое состояние.
...coding for chaos...
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.