XDecent, я имел в виду, что у вас time = time + Time.deltaTime; происходит только в момент начала жеста. Где происходит time = 0 и где обрабатывается TouchPhase.Moved и Stationary?
gearman0110, зачем??? Чем это вообще оправдано? Если уж хочется предысторию, то её можно и о бусурманском фреймворке написать.
В принципе, можешь написать свой Фреймворк и написать автором себя и ещё предысторию от первого лица рассказать (так сказать в подлиннике)
Сейчас ваш вопрос - это задание.
Попробуйте его перефразировать, чтобы это был именно вопрос.
(Почитайте правила ещё)
Если ваша схема позволяет вам эффективно решать поставленную задачу, значит она правильная.
Если хотите, чтобы БД спроектировали за вас, то идите на биржу фриланса.
isFlying = false;
Если я правильно понял, что делает этот флаг, то все действия надо делать после завершения жеста, по идее.