В настоящее время я играю с разработкой Scala, но мне нужно интегрироваться с библиотеками, такими как box2d, для обработки физики. Проблема в том, что для этого требуется зависимость от внешней библиотеки, которая управляет своим собственным состоянием. Вы следите за телами, которые вы переходите в мир box2d. Подводя итог аспектам игры:
- Box2d управляет состоянием в мире и изменяет их после каждого тика/шага
- Вы создаете (используя FP) тела, которые передаются в этот мир
- Box2d изменяет состояние этих органов внутри страны
- Чтобы отслеживать объекты, на которые вы ссылаетесь,
- Вы, скорее всего, захотите использовать информацию в телах для визуализации своего кода, поэтому я бы предположил, что единственный способ отслеживать эту информацию - отслеживать все ссылки в изменяемой коллекции. Он должен выжить во всех кадрах.
Итак, мой вопрос:
Как вы можете отслеживать эти ссылки элегантным способом (для функционального программирования) и как вы можете минимизировать эффект, который он имеет на чистоту в остальной части вашего кода?
Вещи, подобные государственным монадам, не помогут мне здесь. Думаю,