Я использовал следующий код в Farseer 3.3.1, и он работал правильно, но в Farseer 3.5 я всегда получаю сообщение об ошибке в следующей строке:
list = BayazitDecomposer.ConvexPartition(textureVertices);
'FarseerPhysics.Common.Decomposition.BayazitDecomposer' is inaccessible due to its protection level
Что не так? Почему код не работает с Farseer 3.5? Как я могу использовать инструменты декомпозиции в Farseer 3.5?
Ну, просто, что автор пакета изменил класс от public
к internal
. Насколько я вижу, это произошло в деле 101636.
Это переломное изменение, поэтому не должно было быть сделано в младшей версии IMO, но, возможно, автор не следует семантическому управлению версиями. Вероятно, вам следует подать запрос на функцию, чтобы он снова стал общедоступным.
Кроме того, вы можете попытаться найти альтернативный подход, который вы можете использовать для достижения того же. Я подозреваю, что это то, что вы хотите:
list = Triangulate.ConvexPartition(textureVertices, TriangulationAlgorithm.Bayazit);