Я использую фреймворк Akka вместе с jMonkeyEngine (jME3) для своей маленькой игры scala/java. Приспособив некоторую магию диспетчера Akka, мне удалось запустить выделенный актор в том же потоке, что и основной цикл jME3. нить. Чтобы актор имел доступ к защищенным переменным класса SimpleApplication, который нужно расширить для создания игры с jME3, я подумал, что было бы неплохо создать класс, который наследовал бы класс SimpleApplication и смешивал его с < em>черта Актер. Что-то вроде этого:
JmeActor extends SimpleApplication with Actor
Проблема в том, что и SimpleApplication, и Actor имеют переменную context, которая конфликтует друг с другом. На данный момент я переименовал переменную context SimpleApplication в jmeContext и перекомпилировал jME3. Результат работает довольно хорошо, но сам дизайн кажется мне сломанным, так как любой дальнейший выпуск jME3 (или даже Akka) потребует, чтобы я снова провел этот рефакторинг вручную. Возможно даже, хотя и маловероятно, что SimpleApplication будет дополнительно изменен командой разработчиков, что значительно усложнит этот метод предотвращения конфликтов.
Может ли кто-нибудь увидеть простое решение этого?